CentOS 7 安裝Apache 2.4.39


使用源碼在CentOS 7下安裝 apache 2.4.39,之前趟了一遍,簡單做個筆記。

STEP 1 安裝apr

STEP 1.1 檢查是否安裝apr

[root@study ~]# yum list apr
# 如果沒有安裝, 則進入STEP 1.2;
# 查看apr的位置
[root@study ~]# whereis apr
apr: /usr/local/apr

STEP 1.2 安裝apr

[root@study ~]# cd source
[root@study source]# wget http://DOWNLOAD/apr-1.7.0.tar.gz
# DOWNLOAD 替換相應的鏡像
[root@study source]# tar -xzvf apr-1.7.0.tar.gz
[root@study source]# cd apr-1.7.0
[root@study apr-1.7.0]# ./configure --prefix=/usr/local/apr
[root@study apr-1.7.0]# make && make install 

 

STEP 2 安裝libxml2

由於apahce 依賴的apr-util.1.6.1依賴libxml2庫,如果沒有安裝libxml2庫,則在apache的配置中會有如下錯誤產生:

usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_GetErrorCode'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetEntityDeclHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserCreate'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetCharacterDataHandler'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ParserFree'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetUserData'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_StopParser'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_Parse'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_ErrorString'
/usr/local/apr-util/lib/libaprutil-1.so: undefined reference to `XML_SetElementHandler'
collect2: error: ld returned 1 exit status
make[2]: *** [htpasswd] 錯誤 1
make[2]: 離開目錄“/opt/source/apache.httpd/httpd-2.4.39/support”
make[1]: *** [all-recursive] 錯誤 1
make[1]: 離開目錄“/opt/source/apache.httpd/httpd-2.4.39/support”
make: *** [all-recursive] 錯誤 1

STEP 2.1 檢查是否安裝 libxml2

[root@study ~]# yum list libxml2
# 如果沒有安裝則,進行libxml2安裝
[root@study ~]# yum install libxml2-devel

STEP 3 安裝expat

如果沒有安裝expat,可能在安裝apr-util中會報如下錯誤:

xml/apr_xml.c:35:19: 致命錯誤:expat.h:沒有那個文件或目錄
#include <expat.h>

STEP 3.1 檢查是否安裝expat

[root@study ~]# yum list expat
# 如果沒有安裝則進行安裝
[root@study ~]# yum install expat-devel

STEP 4 安裝apr-util

STEP 4.1 檢查是否安裝apr-util

[root@study ~]# yum list apr-util
# 如果沒有安裝則進入 STEP 4.2 進行安裝
[root@study ~]# whereis apr-util
apr-util: /usr/local/apr-util

STEP 4.2 安裝apr-util

[root@study ~]# cd source
[root@study source]# wget http://DOWNLOAD/apr-util-1.6.1.tar.gz
[root@study source]# tar -xzvf apr-util-1.6.1.tar.gz
[root@study source]# cd apr-util.1.6.1
[root@study apr-util.1.6.1]# ./configure --prefix=/usr/local/apr-util
[root@study aapr-util.1.6.1]# make && make install 

STEP 5 安裝pcre

STEP 5.1 檢查是否安裝pcre

[root@study ~]# yum list pcre
# 如果沒有安裝,則進入 STEP 5.2 進行安裝
[root@study ~]# whereis pcre
pcre: /usr/include/pcre.h /usr/local/pcre /usr/share/man/man3/pcre.3.gz

STEP 5.2 安裝pcre

[root@study ~]# cd source
[root@study ~]# url=https://jaist.dl.sourceforge.net/project/pcre/pcre/8.43/pcre-8.43.tar.gz
[root@study source]# wget ${url}
[root@study source]# tar -xzvf pcre-8.43.tar.gz
[root@study source]# cd pcre-8.43
[root@study pcre-8.43]# ./configure --prefix=/usr/local/pcre
[root@study pcre-8.43]# make && make install

STEP 6 安裝apache

[root@study source]# tar -xzvf http-2.4.39.tar.gz
[root@study source]# cd httpd-2.4.39
[root@study httpd-2.4.39]# ./configure --prefix=/usr/local/apache24 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/usr/local/pcre
[root@study httpd-2.4.39]# make && make install

STEP 7 設置service文件

[root@study ~]# cd /usr/lib/systemd/system
[root@study system]# vim httpd.service

[Unit]
Description=Apache 2.4.39
After=network.target
After=syslog.target
[Service]
Type=forking
ExecStart=/usr/local/apache24/bin/apachectl -k start
ExecStop=/usr/local/apache24/bin/apachectl -k stop
ExecReload=/usr/local/apache24/bin/apachectl -k restart
[Install]
WantedBy=multi-user.target
Alias=http.service

STEP 8 設置防火牆以及開機啟動

# 允許開放http服務
[root@study ~]# firewall-cmd --permanent --add-service=http 
# 打開http服務的80 tcp端口
[root@study ~]# firewall-cmd --permanent --add-port=80/tcp
# 重新加載防火牆規則
[root@study ~]# firewall-cmd --reload 
# 重新啟動apach
[root@study ~]# systemctl restart httpd.service
# 設置開機啟動
[root@study ~]# systemctl enable httpd.service

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM