# centos 版本
[root@node1 ~]# cat /etc/redhat-release
CentOS Stream release 8
#Linux内核版本
[root@node1 ~]# uname -r
4.18.0-257.el8.x86_64
#系统位
[root@node1 ~]# file /bin/ls
/bin/ls: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=056dda3f1b77919163a7de5563a2b9d9d245554c, stripped
#apache版本号:2.4.54
#mysql版本号:5.7.37
#php版本号:7.4.29
[root@node1 ~]# wget https://downloads.apache.org/apr/apr-1.7.0.tar.gz
[root@node1 ~]# wget https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
[root@node1 ~]# wget https://downloads.apache.org/httpd/httpd-2.4.54.tar.gz
[root@node1 ~]# wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
[root@node1 ~]# wget https://www.php.net/distributions/php-7.4.29.tar.xz
[root@node1 ~]# ls
anaconda-ks.cfg apr-util-1.6.1.tar.gz mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
apr-1.7.0.tar.gz httpd-2.4.54.tar.gz php-7.4.29.tar.xz
1.编译安装Apache
1.1编译安装apache 顺序为apr—>arp-util----->httpd
//安装依赖包 创建用户
[root@node1 ~]yum -y install openssl-devel pcre-devel expat-devel libtool gcc make
[root@node1 ~]useradd -r -M -s /sbin/nologin apache
[root@node1 ~]id apache
//全部解压缩
[root@node1 ~]# tar -xf apr-1.7.0.tar.gz
[root@node1 ~]# tar -xf apr-util-1.6.1.tar.gz
[root@node1 ~]# tar -xf httpd-2.4.54.tar.gz
[root@node1 ~]# ls
anaconda-ks.cfg apr-util-1.6.1 httpd-2.4.54.tar.gz
apr-1.7.0 apr-util-1.6.1.tar.gz mysql-5.7.37-linux-glibc2.12-x86_64.tar.gz
apr-1.7.0.tar.gz httpd-2.4.54 php-7.4.29.tar.xz
//apr配置文件更改和编译
[root@node1 ~]# cd apr-1.7.0/
[root@node1 apr-1.7.0]# vim configure
# $RM "$cfgfile" //将此行加上注释,或者删除此行
[root@node1 apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@node1 apr-1.7.0]# make && make install
//编译安装apr-util
[root@node1 ~]# cd ../apr-util-1.6.1
[root@node1 apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/
[root@node1 apr-util-1.6.1]# make && make install
//编译安装httpd
[root@node1 apr-util-1.6.1]# cd ../httpd-2.4.54
[root@node1 httpd-2.4.54]# ./configure --prefix=/usr/local/apache \
--enable-so --enable-ssl --enable-cgi --enable--rewrite --with-zlib --with-pcre \
--with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util \
--enable-modules=most --enable-mpms-shared=all --with-mpm=prefork
...
Server Version: 2.4.54
Install prefix: /usr/local/apache
C compiler: gcc
CFLAGS: -g -O2 -pthread
CPPFLAGS: -DLINUX -D_REENTRANT -D_GNU_SOURCE
LDFLAGS:
LIBS:
C preprocessor: gcc -E
[root@node1 httpd-2.4.54]# make && make install
1.2 配置apache
//环境变量设置
[root@node1 ~]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/apache.sh
[root@node1 ~]# source /etc/profile.d/apache.sh
[root@node1 ~]# which httpd
/usr/local/apache/bin/httpd
[root@node1 ~]# which apachectl
/usr/local/apache/bin/apachectl
//头文件设置
[root@node1 ~]# ln -s /usr/local/apache/include/ /usr/include/apache
[root@node1 ~]# ll /usr/include/|grep apache
lrwxrwxrwx. 1 root root 26 Jul 6 00:39 apache -> /usr/local/apache/include/
//man文档
[root@node1 ~]# vim /etc/man_db.conf
MANDATORY_MANPATH /usr/local/apache/man //需要添加的一行
//服务启动与开机自启
//修改配置文件
[root@node1 ~]# cd /usr/local/apache/conf
[root@node1 conf]# vim httpd.conf
#ServerName www.example.com:80 // 此行取消注释
1.3 启动apache
//设置开机自启 写一个server文件 可以直接复制其他的文件更改
[root@node1 conf]# cd /usr/lib/systemd/system
[root@node1 system]# ls sshd.service
sshd.service
[root@node1 system]# cp sshd.service httpd.service
[root@node1 system]# vim httpd.service
[Unit]
Description=httpd server daemon
After=network.target sshd-keygen.target
[Service]
Type=forking
ExecStart=/usr/local/apache/bin/apachectl start
ExecStop=/usr/local/apache/bin/apachectl stop
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
//防火墙设置
[root@node1 ~]# systemctl disable --now firewalld
[root@node1 ~]# systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; >
Active: inactive (dead)
//selinux 设置
[root@node1 ~]# vim /etc/selinux/config
SELINUX=disabled //将enforcing 修改为 disabled
//启动服务
[root@node1 ~]# systemctl daemon-reload
[root@node1 ~]# systemctl status httpd
httpd.service - httpd server daemon
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disa>
Active: inactive (dead)
[root@node1 ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[root@node1 ~]# systemctl status httpd
[root@node1 ~]# ss -antl
State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
LISTEN 0 128 0.