1. 程式人生 > >手工編譯安裝Apache, 版本httpd-2.4.29(免費提供安裝包,懶人福利;提供安裝腳本)

手工編譯安裝Apache, 版本httpd-2.4.29(免費提供安裝包,懶人福利;提供安裝腳本)

echo -e abd sel local 使用 ado .tar.gz c++ height

環境部署:

本次實驗以redhat6.5系統為安裝對象,(CentOS其他系列也可以)

安裝Apache源碼包 httpd-2.4.29.tar.bz2

依賴包 pcre-8.41.tar.gz, apr-1.6.3.tar.bz2 , apr-util-1.6.1.tar.bz2

獲取安裝包鏈接:百度雲盤

https://pan.baidu.com/s/1HPvV68ICTHkNf-ty1VGXyw

https://pan.baidu.com/s/1h3LBtqCMEAcEugAx6YczGg

https://pan.baidu.com/s/1xSe-UVGowUVAtjfAolSK6w

https://pan.baidu.com/s/1_HkJeSp1fiBIrirtjgoYow

在安裝之前卸載掉使用rpm方式安裝的httpd

rpm -q httpd #查看系統是否安裝有httpd

yum -y remove httpd #卸掉rpm安裝的httpd

技術分享圖片

解壓源碼包及依賴包

tar xzvf /root/pcre-8.41.tar.gz -C /opt

tar xjvf /root/apr-1.6.3.tar.bz2 -C /opt

tar xjvf /root/apr-util-1.6.1.tar.bz2 -C /opt

tar xjvf /root/httpd-2.4.29.tar.bz2 -C /opt

技術分享圖片

將依賴包移動到httpd-2.4.29/srclib/目錄中

技術分享圖片

使用yum命令安裝配置編譯環境組件,gcc gcc-c++ expat-devel pcre-devel

技術分享圖片


進入到httpd-2.4.29/目錄中,進行配置編譯安裝。

根據服務器的實際應用需要,進行配置時可以靈活設置不同的定制選項,,如指定安裝路徑,啟用字符集支持等,若要詳細知道可用的各種配置選項及含義,可以執行“./configure --help”

cd /opt/httpd-z.4.29

./configure \

--prefix=/usr/local/httpd \ #指定安裝路徑

--enable-expires \ #啟用緩存模塊mod_exprices

--enable-so \ #啟用動態加載模塊

--with-mpm=worker \ #更改apache運行模式為worker

--enable-rewrite \ #支持網站地址重寫

--enable-charset-lite \ #啟用字符集支持

--enable-cgi #啟用CGI腳本程序支持

make && make install

確認安裝結果

由於指定的安裝目錄為/usr/local/httpd ,因此httpd服務的各種程序,模塊,幫助文件,配置文件等都將復制到此目錄下。

技術分享圖片

在安裝後的/usr/local/httpd目錄下,主要子目錄的用途如下

bin:存放httpd服務的各種執行程序文件,包括主程序httpd,服務控制工具apachectl等

conf;存放httpd服務的各種配置文件,包括主配置文件httpd,conf,增強配置子目錄extra等

htdocs;存放網頁文檔,包括默認首頁文件index.html等

logs;存放httpd服務的日誌文件

modules;存放httdp服務的各種模塊文件

cgi-bin;存放各種CGI程序文件

優化執行路徑,添加httpd為系統服務,使其可以使用service命令進行管理

通過源碼編譯安裝的httpd服務,程序路徑並不在默認的搜索路徑中,為了使該服務在使用時方便,可以將其添加為系統服務,以便通過chkconfig進行管理。將apachectl腳本重定向為/etc/init.d/httpd ,並在文件開頭添加chkconfig識別配置,然後再將其添加為標準的系統服務。

grep -v "#" bin/apachectl >/etc/init.d/httpd

vim /etc/init.d/httpd

#!/bin/bash #shell腳本必要註釋

#chkconfig:2345 85 35 #服務識別參數,在級別2345中啟動;啟動和關閉的順序分別為85,35

#description:Apache is a web server #服務描述信息

技術分享圖片

chmod 755 /etc/init.d/httpd #給服務腳本賦予執行權限

chkconfig --add httpd #將httpd加入系統服務

chkconfig httpd on #設置httpd開機自啟

ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf #給主配置文件httpd.conf生成一個鏈接文件,方便操作

這樣可以使用service命令管理httpd服務了

service httpd start #開啟

service httpd stop #關閉

service httpd restart #重啟

技術分享圖片

更改apache的主配置文件httpd.conf

vim /etc/httpd.conf

Listen 192.168.30.15:80
#Listen 80

ServerName www.example.com:80




技術分享圖片

技術分享圖片

關閉防火墻,selinux功能

技術分享圖片

在瀏覽器中輸入ip 進行訪問,可以看到apache的默認首頁。

技術分享圖片

為了以後安裝方便,整理出一個apache安裝腳本。

vim apache.sh

#!/bin/bash
#this is apache

date
#判斷光盤是否掛載
df -h | grep /mnt >/dev/null
if [ $? -ne 0 ]
then
mount /dev/sr0 /mnt >/dev/null
fi
#創建yum倉庫
rm -rf /etc/yum.repos.d/*
echo -e "[a]\nname=test\nbaseurl=file:///mnt\nenabled=1\ngpgcheck=0" >/etc/yum.repos.d/a.repo
yum -y install gcc gcc-c++ expat-devel make pcre-devel &>/dev/null
tar xzvf /root/pcre-8.41.tar.gz -C /opt &>/dev/null
tar xjvf /root/apr-1.6.3.tar.bz2 -C /opt &>/dev/null
tar xjvf /root/apr-util-1.6.1.tar.bz2 -C /opt &>/dev/null
tar xjvf /root/httpd-2.4.29.tar.bz2 -C /opt &>/dev/null
cd /opt
mv apr-1.6.3/ httpd-2.4.29/srclib/apr
mv apr-util-1.6.1/ httpd-2.4.29/srclib/apr-util
mv pcre-8.41/ httpd-2.4.29/srclib/pcre
#進入到apache目錄進行配置,編譯安裝
cd httpd-2.4.29/
./configure --prefix=/usr/local/httpd --enable-rewrite --enable-mods-shared=most --with-mpm=worker --enable-charset-lite --enable-so --enable-cgi
make && make install &>/dev/null
#優化執行路徑,加入httpd到系統服務
grep -v "#" /usr/local/httpd/bin/apachectl >/etc/init.d/httpd
sed -i '1i #!/bin/bash\n#chkconfig:2345 80 40\n#description:apache is a web server' /etc/init.d/httpd
chkconfig --add httpd
chkconfig httpd on
ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf
#監聽地址根據實際情況進行更改
sed -i '51c Listen 192.168.30.15:80' /etc/httpd.conf
sed -i '52c #Listen :80' /etc/httpd.conf
service httpd start
service iptables stop
setenforce 0
date
echo "apache已經安裝完成"

技術分享圖片

技術分享圖片

賦予腳本執行權 限。

chmod 755 apache.sh

手工編譯安裝Apache, 版本httpd-2.4.29(免費提供安裝包,懶人福利;提供安裝腳本)