安装httpd
关闭防火墙
[root@localhost ~]# systemctl disable --now firewalld.service
[root@localhost ~]# sed -i s/SELINUX=enforing/SELINUX=disabled/g /etc/selinux/config
[root@localhost ~]# setenforce 0
//配置源和工具
[root@localhost ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
[root@localhost ~]# sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# curl -0 /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
//安装依赖包
[root@localhost ~]# yum -y install epel-release vim wget openssl-devel pcre-devel expat-devel libtool gcc gcc-c++ make
//安装包组
[root@localhost ~]# yum groups mark install 'Development Tools'
[root@localhost ~]# yum clean all
[root@localhost ~]# yum makecache
//创建apache服务的用户和组
[root@localhost ~]# useradd -r -M -s /sbin/nologin apache
//依赖包apr
[root@localhost ~]# cd /usr/src/
[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-1.7.0.tar.gz
[root@localhost src]# tar -xf apr-1.7.0.tar.gz
//依赖包apr-util
[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.6.1.tar.gz
[root@localhost src]# tar -xf apr-util-1.6.1.tar.gz
//软件包httpd
[root@localhost src]# wget https://mirrors.tuna.tsinghua.edu.cn/apache/httpd/httpd-2.4.49.tar.gz
[root@localhost src]# tar -xf httpd-2.4.49.tar.gz
//查看
[root@localhost src]# ls
apr-1.7.0 apr-util-1.6.1 debug httpd-2.4.49.tar.gz
apr-1.7.0.tar.gz apr-util-1.6.1.tar.gz httpd-2.4.49 kernels
安装apr
//删除configure中此行
[root@localhost src]# cd apr-1.7.0
[root@localhost apr-1.7.0]# sed -i '/$RM "$cfgfile"/d' configure\
//安装
[root@localhost apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@localhost apr-1.7.0]# make && make install
安装apr-util
//安装
[root@localhost apr-1.7.0]# cd ../apr-util-1.6.1
[root@localhost apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
[root@localhost apr-util-1.6.1]# make && make install
安装httpd
//安装
[root@localhost apr-util-1.6.1]# cd ../httpd-2.4.49
[root@localhost httpd-2.4.49]# ./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
[root@localhost httpd-2.4.49]# make && make install
配置
//配置环境变量
[root@localhost ~]# echo 'export PATH=/usr/local/apache/bin:$PATH' > /etc/profile.d/httpd.sh
[root@localhost ~]# source /etc/profile.d/httpd.sh
[root@localhost ~]# which httpd
/usr/local/apache/bin/httpd
//头文件、man帮助
[root@localhost ~]# ln -s /usr/local/apache/include/ /usr/include/httpd
[root@localhost ~]# echo 'MANPATH /usr/local/apache/man' >> /etc/man.config
//取消ServerName前面的注释,避免出现报错
[root@localhost ~]# sed -i '/#ServerName/s/#//g' /usr/local/apache/conf/httpd.conf
编写服务启动文件service文件
[root@localhost ~]# cat > /usr/lib/systemd/system/httpd.service <<EOF
[Unit]
Description=Httpd server daemon
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/apache/bin/apachectl start
ExecStop=/usr/local/apache/bin/apachectl start
ExecReload=/bin/kill -HUP $MAINPID
[Install]
WantedBy=multi-user.target
EOF
//重新加载
[root@localhost ~]# systemctl daemon-reload
//启动
[root@localhost ~]# systemctl enable --now httpd
[root@localhost ~]# systemctl status httpd
● httpd.service - Httpd server daemon
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
Active: active (running) since Fri 2021-09-24 00:43:27 CST; 4s ago
Process: 153508 ExecStart=/usr/local/apache/bin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 153524 (httpd)
Tasks: 6 (limit: 11300)
Memory: 5.0M
CGroup: /system.slice/httpd.service
├─153524 /usr/local/apache/bin/httpd -k start
├─153525 /usr/local/apache/bin/httpd -k start
├─153526 /usr/local/apache/bin/httpd -k start
├─153527 /usr/local/apache/bin/httpd -k start
├─153528 /usr/local/apache/bin/httpd -k start
└─153529 /usr/local/apache/bin/httpd -k start
Sep 24 00:43:27 localhost systemd[1]: Starting Httpd server daemon...
Sep 24 00:43:27 localhost systemd[1]: Started Httpd server daemon.
[root@localhost ~]# ss -anlt
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 0.0.0.0:22 0.0.0.0:*
LISTEN 0 128 *:80 *:*
LISTEN 0 128 [::]:22 [::]: