源码部署Apache

安装httpd

apache官网

关闭防火墙

[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                              [::]:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值