准备工作
下载httpd软件包进行源码安装
[root@rocky ~]# wget https://archive.apache.org/dist/httpd/httpd-2.4.46.tar.gz
由于进行源码安装,需要对安装对应的编译工具
[root@open2 ~]# yum install gcc gcc-c++ make -y
解压文件到指定的目录/usr/local/src下
[root@open2 ~]# tar xf httpd-2.4.46.tar.gz -C /usr/local/src
[root@open2 ~]# cd /usr/local/src/httpd-2.4.46/
[root@open2 httpd-2.4.46]# groupadd -r -g 48 apache
[root@open2 httpd-2.4.46]# useradd -r -u 48 -g 48 -c "Apache sever" -s /sbin/nologin apache
进行环境检测
[root@open2 httpd-2.4.46]# ./configure --prefix=/usr/local/apache
缺少依赖性APR,安装对应的依赖性apr
[root@open2 httpd-2.4.46]# yum list |grep -i apr
[root@rocky httpd-2.4.46]# yum install apr-util-devel.x86_64
再次进行环境检测
[root@rocky httpd-2.4.46]# ./configure --prefix=/usr/local/apache
缺少软件包pcre
[root@rocky httpd-2.4.46]# yum install pcre-devel -y
再次进行环境检测
[root@rocky httpd-2.4.46]# ./configure --prefix=/usr/local/apache
环境检测成功,进行环境编译和安装
[root@open2 httpd-2.4.46]# make
[root@open2 httpd-2.4.46]# make install
httpd源码安装成功
方法一:使用 init.d 脚本使用
[root@open2 httpd-2.4.46]# cd /usr/local/apache/
[root@open2 bin]# cp apachectl /etc/init.d/httpd
[root@open2 bin]# vim /etc/init.d/httpd
启动服务
[root@open2 bin]# chkconfig --level 35 --add httpd
[root@open2 bin]# chkconfig --level 35 httpd on
[root@open2 bin]# chkconfig --list httpd
方法二:systemd 服务文件
编辑systemd服务文件,将路径改为绝对路径
[root@open2 bin]# vim /usr/lib/systemd/system/httpd.service
使用绝对路径检测语法测试成功
[root@open2 bin]# /usr/local/apache/bin/httpd -t