httpd 包下載地址:http://httpd.apache.org/download.cgi
apr包下載地址:http://apr.apache.org/download.cgi
selinux firewalld 時間同步 把該干的都干了
首先安裝需要的依賴包
[root@centos7 ~]#yum -y install gcc make pcre-devel openssl-devel expat-devel bzip2
以及需要的源碼包3個
[root@centos7 src]# wget https://mirror.bit.edu.cn/apache//httpd/httpd-2.4.46.tar.bz2 [root@centos7 src]# wget https://mirrors.bfsu.edu.cn/apache//apr/apr-util-1.6.1.tar.bz2 [root@centos7 src]# wget https://mirrors.bfsu.edu.cn/apache//apr/apr-1.7.0.tar.bz2
源碼包解壓
[root@centos7 src]# ls /usr/local/src anaconda-ks.cfg apr-1.7.0.tar.bz2 apr-util-1.6.1.tar.bz2 httpd-2.4.46.tar.bz2 [root@centos7 src]# tar -jxvf apr-1.7.0.tar.bz2 apr-util-1.6.1.tar.bz2 httpd-2.4.46.tar.bz2
三合一 一起編譯
[root@centos7 src]# cd /usr/local/src/httpd-2.4.46 [root@centos7 src]# mv apr-1.7.0 httpd-2.4.46/srclib/apr [root@centos7 src]# mv apr-util-1.6.1 httpd-2.4.46/srclib/apr-util [root@centos7 src]# ./configure \ --prefix=/apps/httpd \ --enable-so \ --enable-ssl \ --enable-cgi \ --enable-rewrite \ --with-zlib \ --with-pcre \ --with-included-apr \ --enable-modules=most \ --enable-mpms-shared=all \ --with-mpm=prefork [root@centos7 src]#make && make install
等着
Httpd編譯過程:/app/httpd24/build/config.nice 自帶的服務控制腳本:/app/httpd24/bin/apachectl
id apache查看賬戶存不存在 不存在就創建apache用戶
[root@centos7 httpd-2.4.46]# useradd -s /sbin/nologin -r apache
指定使用httpd的用戶
[root@centos7 httpd-2.4.46]# vim /apps/httpd/conf/httpd user apache group apache
設置環境變量
[root@centos7 httpd-2.4.46]# vim /etc/profile.d/httpd.sh PATH=/apps/httpd/bin:$PATH
man幫助路徑
[root@centos7 httpd-2.4.46]# vim /etc/man_db.conf MANDATORY_MANPATH /apps/httpd/man
設置開機啟動並增加執行權限
[root@centos7 httpd-2.4.46]# vim /etc/rc.d/rc.local /apps/httpd/bin/apachectl start [root@centos7 httpd-2.4.46]# chmod +x /etc/rc.d/rc.local
創建service unit文件(CentOS 7 以上版本)
[root@centos7 httpd-2.4.46]# vim /usr/lib/systemd/system/httpd.service [Unit] Description=The Apache HTTP Server After=network.target remote-fs.target nss-lookup.target Documentation=man:httpd(8) Documentation=man:apachectl(8) [Service] Type=forking #EnvironmentFile=/etc/sysconfig/httpd ExecStart=/apps/httpd/bin/httpd $OPTIONS -k start ExecReload=/apps/httpd/bin/httpd $OPTIONS -k graceful ExecStop=/bin/kill -WINCH {MAINPID} KillSignal=SIGCONT PrivateTmp=true [Install] WantedBy=multi-user.target
啟動時候報錯了 嫌麻煩直接重啟機器
看一下默認80端口是否打開 檢查語法錯誤
[root@centos7 ~]# ss -ntl State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 128 *:22 *:* LISTEN 0 100 127.0.0.1:25 *:* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::22 :::* LISTEN 0 100 ::1:25 :::* [root@centos7 ~]# httpd -t AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using centos7.zty.org. Set the 'ServerName' directive globally to suppress this message Syntax OK
改一下主機名再檢查一遍
[root@centos7 ~]# vim /apps/httpd/conf/httpd.conf ServerName www.123.com:80 [root@centos7 ~]# httpd -t Syntax OK
完成了
來源:https://www.cnblogs.com/zhangty333/p/13879138.html