一鍵編譯安裝httpd服務
背景:
httpd服務是一個常用的web服務,所以很多地方會用到,這里寫一個一鍵編譯安裝httpd服務的腳本。
環境:
系統:centos6.9和centos7.3(應該所有的6和7的版本都可以使用)
httpd源代碼版本:httpd-2.2.34.tar.bz2和httpd-2.4.27.tar.bz2 。下載網址官網:http://httpd.apache.org/
條件:已安裝yum工具。
準備編譯httpd:
當這兩個版本的源代碼下載好后,我們先將這兩個源代碼包放在一個文件夾里,這個文件夾取名為httpd。
#install development tools #安裝開發工具組包,其中-y表示當需要輸入y/n時,直接選擇y 1 yum groupinstall -y "development tools" &> /dev/null #這段代碼是獲取系統的主要版本號是centos6還是centos7,然后將結果放在releasever這個變量里 2 releasever=`cat /etc/centos-release | egrep -o " [0-9]" | cut -d" " -f2` #在編譯安裝過程中會提示我們有些工具包沒有安裝,我們這里提前先安裝 ?3 yum -y install apr-devel.x86_64 &> /dev/null 4 yum -y install apr-util-devel.x86_64 &> /dev/null #pcre這個包是我在centos7上測試安裝時提示我缺少的包,所以先判斷是不是centos7版本,是就安裝上 5 [ $releasever -eq 7 ] yum -y install pcre-devel.x86_64 &> /dev/null開始編譯:
#先切換目錄到httpd下 18 cd httpd #判斷系統主版本號,如果是7則解壓2.4版本的httpd源代碼,如果是6則解壓2.2版本的httpd源代碼 #然后切換目錄到對應的解壓后的文件夾里 #執行configure文件,--prefix=/app/httpd22或者24是指,編譯安裝的后的文件放在哪,我們這里將所有的文件都放在了/app/httpd22里 #如果需要將不同的文件放在不同的目錄下,則需要自己添加相關參數。 19 [ $releasever -eq 7 ] && tar -xf httpd-2.4.27.tar.bz2 && cd httpd-2.4.27 && ./configure --prefix=/app/httpd24 && make && make install 20 [ $releasever -eq 6 ] && tar -xf httpd-2.2.34.tar.bz2 && cd httpd-2.2.34 && ./configure --prefix=/app/httpd22 && make && make install 21 echo "#####httpd install finished####" 22 echo "#####start config the PATH ####" #在/etc/profile.d/目錄下寫配置文件,將httpd的啟動過路徑放在PATH變量里 ?23 [ $releasever -eq 7 ] && echo 'export PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/httpd.sh 24 [ $releasever -eq 6 ] && echo 'export PATH=/app/httpd22/bin:$PATH' > /etc/profile.d/httpd.sh #讓配置文件生效 25 source /etc/profile || echo "httpd.sh start failed" #啟動httpd服務,如果失敗則輸出開啟失敗 26 apachectl start || echo "start httpd failed" 27 echo "#####start httpd finished" #注銷變量 28 unset releasever
完整代碼:
1 #!/bin/bash 2 #install development tools 3 yum groupinstall -y "development tools" &> /dev/null 4 releasever=`cat /etc/centos-release | egrep -o " [0-9]" | cut -d" " -f2` 5 yum -y install apr-devel.x86_64 &> /dev/null 6 yum -y install apr-util-devel.x86_64 &> /dev/null 7 [ $releasever -eq 7 ] yum -y install pcre-devel.x86_64 &> /dev/null 8 cd httpd 9 [ $releasever -eq 7 ] && tar -xf httpd-2.4.27.tar.bz2 && cd httpd-2.4.27 && ./configure --prefix=/app/ht tpd24 && make && make install 10 [ $releasever -eq 6 ] && tar -xf httpd-2.2.34.tar.bz2 && cd httpd-2.2.34 && ./configure --prefix=/app/ht tpd22 && make && make install 11 echo "#####httpd install finished####" 12 echo "#####start config the PATH ####" 13 [ $releasever -eq 7 ] && echo 'export PATH=/app/httpd24/bin:$PATH' > /etc/profile.d/httpd.sh 14 [ $releasever -eq 6 ] && echo 'export PATH=/app/httpd22/bin:$PATH' > /etc/profile.d/httpd.sh 15 source /etc/profile || echo "httpd.sh start failed" 16 apachectl start || echo "start httpd failed" 17 echo "#####start httpd finished" 18 unset releasever 18 unset releasever安裝成功界面:
原創文章,作者:657188918,如若轉載,請注明出處:http://www.www58058.com/83819