我這里實驗是用的CentOS7
#事先先檢查一下自己的linux是否安裝apache
[root@localhost ~]#rpm –q httpd
#如果已安裝則先卸載原來的apache
[root@localhost ~]#yum –y remove httpd
#我這里安裝的虛擬機,做實驗前恢復到剛安裝時的快照
#下載httpd源碼包,以及三個安裝所需的依賴包的源碼包
源碼的安裝一般由3個步驟組成:配置(configure)、編譯(make)、安裝(make install)
一、下載,准備安裝rpm源碼包
1.Apache HTTP Server(我這里下載的是httpd-2.4.39.tar.gz)
地址:http://httpd.apache.org/download.cgi#apache24
2. APR 和 APR-Util(我這里下載的是apr-1.5.2.tar.bz2 和apr-util-1.5.4.tar.gz)
地址:http://apr.apache.org/download.cgi
3. PCRE(我這里下載的是pcre-8.35.tar.gz)
地址:https://ftp.pcre.org/pub/pcre/
#安裝源碼包的時候還可能跟下載的包有問題,怎么裝都不正確,我換了一個1.5的安裝就成功了,,不知道為什么。。。
二、開始安裝
#可以用wget命令直接下載到linux中,我這里用的windows下載,並上傳到linux上
#wget url_path
#安裝編譯環境(一定要安裝gcc/gcc-c++ 可以用[root@localhost ~]#gcc –v查詢是否安裝)
[root@localhost ~]#yum –y install gcc-c++ make
#這里我將上傳在/root/目錄下的所有壓縮包解壓到/usr/local目錄下
1 [root@localhost ~]# tar xf apr-1.5.2.tar.bz2 -C /usr/local/ //-C表示解壓到指定路徑 2 3 [root@localhost ~]# tar xf apr-util-1.5.4.tar.gz -C /usr/local/ 4 5 [root@localhost ~]# tar xf pcre-8.35.tar.gz -C /usr/local/ 6 7 [root@localhost ~]# tar xf httpd-2.4.39.tar.gz -C /usr/local/
#如果出現不能解壓.bz2格式的情況,先用yum下載好bzip2
#進到/usr/local/目錄下,沒問題的話,開始安裝第一個apache依賴包,首先安裝apr-1.5.2
1 [root@localhost ~]# cd /usr/local/ 2 3 [root@localhost local]# ls 4 5 [root@localhost local]# cd apr-1.5.2 6 7 [root@localhost apr-1.5.2]#./configure --prefix=/usr/local/apr //prefix表示指定安裝路徑 8 9 [root@localhost apr-1.5.2]#make&&make install //編譯並進行安裝
/#沒有出現error錯誤的話那就安裝成功了
#開始安裝第二個依賴包,apr-util-1.5.4的安裝還依賴於apr-1.5.2。所以放在第二個安裝
1 [root@localhost apr-1.5.2]# cd ../apr-util-1.5.4 2 3 [root@localhost apr-util-1.5.4]#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config //這里with將其關聯起來,解決安裝的依賴關系 4 5 [root@localhost apr-util-1.5.4]#make&&make install
#安裝第三個依賴包
1 [root@localhost apr-util-1.5.4]# cd ../pcre-8.35 2 3 [root@localhost pcre-8.35]#./configure --prefix=/usr/local/pcre --with-apr=/usr/local/apr/bin/apr-1-config 4 5 [root@localhost pcre-8.35]#make&&make install
#開始安裝apache
1 [root@localhost pcre-8.35]# cd ../httpd-2.4.49 2 3 [root@localhost httpd-2.4.49]#./configure --prefix=/usr/local/httpd --with-pcre=/usr/local/pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util 4 5 [root@localhost httpd-2.4.49]#make&&make install
#這里一定要關閉防火牆,否則瀏覽器沒辦法訪問到
1 [root@localhost ~]#systemctl stop firewalld
2
3 [root@localhost ~]#setenforence 0 //關閉selinux防火牆
#編輯httpd.conf文件,搜索"ServerName"
1 [root@localhost ~]# cd /usr/local/httpd/conf/ 2 3 [root@localhost conf]# ls 4 5 extra httpd.conf magic mime.types original 6 7 [root@localhost conf]# vim httpd.conf 8 9 #ServerName www.example.com:80 //將前面的#去掉,或者自己添加也行
#再重新啟動apache 即可。
1 [root@localhost conf]#/usr/local/httpd/bin/apachectl restart //注意,這里得用二進制程序來啟動,而不能用systemctl start httpd來啟動
#這里所有路徑跟你自己解壓、安裝的命名和位置有關系,跟我不同的位置的要注意下咯,免得找不到尷尬
三、測試
瀏覽器輸入服務器IP地址,出現It works就代表成功了!!!ok,收工