您好,登錄后才能下訂單哦!
很久沒(méi)有寫(xiě)過(guò)博客了,今天心血來(lái)潮記錄下源碼安裝httpd的過(guò)程,如果有錯(cuò)誤希望大家提出來(lái),也好改進(jìn),謝謝廣大博友
安裝環(huán)境: Asianux3 內(nèi)核版本:Asianux 3.1
軟件包: httpd-2.4.12
pcre-8.20
apr-1.5.2
apr-util-1.5.4
安裝步驟:
1.環(huán)境檢查:系統(tǒng)是否安裝有apr apr-util pcre軟件包
#rpm -qa apr
apr-1.2.7-11
#rpm -qa apr-util
apr-util-1.2.7-7AXS3
#rpm -qa pcre
pcre-6.6-2.7
這些軟件系統(tǒng)有自帶,但是也不能卸載與其他軟件還有依賴關(guān)系,所以需要安裝其他軟件,并且安裝到不同的路徑下
2.開(kāi)始安裝前壓迫先安裝好開(kāi)發(fā)工具庫(kù),查看系統(tǒng)是否已安裝
#yum grouplist
基本系統(tǒng)
開(kāi)發(fā)
gnome庫(kù)
我的系統(tǒng)已經(jīng)安裝,如果沒(méi)有安裝則執(zhí)行
#yum groupinstall "開(kāi)發(fā)工具 開(kāi)發(fā)庫(kù)" 命令進(jìn)行安裝
3.檢查完環(huán)境既可以開(kāi)始安裝,要先安裝pcre 軟件,將軟件包拷貝到服務(wù)器
#tar -jxf pcre-8.20.tar.bz2 //解壓pcre軟件包
#ls //查看當(dāng)前目錄下會(huì)多出一個(gè)pcre-8.20目錄
#cd pcre-8.20 //切換進(jìn)pcre目錄
#./configure --perfix=/usr/local/pcre
//編譯病指定pcre安裝目錄
#make
#make check //驗(yàn)證make結(jié)果,不是必須步驟
#make install
#ls /usr/local/pcre //查看/usr/local/pcre
bin include lib share
pcre安裝完成。
4.安裝apr軟件
#tar zxf apr-1.5.2.tar.gz //解壓apr軟件包
#cd apr-1.5.2
#./configure --prefix=/usr/local/apr
//編譯apr.指定安裝路徑
#make
#make install
#ls /usr/local/apr
bin include lib build-1
apr軟件包安裝完成
5.安裝apr-util軟件
#tar zxf apr-util-1.5.4.tar.gz //解壓util軟件包
#cd apr-util-1.5.4
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr
//編譯util軟件包,指定安裝目錄并制定apr軟件安裝目錄。因?yàn)閡til依賴apr軟件
#make
#make install
#ls /usr/local/apr-util
bin include lib
apr-util軟件安裝完成
6.就要安裝httpd軟件了,安裝前還要檢查selinux是否被禁用(disabled)
#vim /etc/selinux/config
SELINUX=disabled
#tar jxf httpd-2.4.12.tar.bz2 //解壓軟件包
#cd httpd-2.4.12
#./configure --prefix=/usr/local/apache --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-pcre=/use/local/pcre --sysconfdir=/etc/httpd --enable-so --enable-rewirte --enable-ssl --enable-cgi --enable-cgid --enable-modules=most --enable-mods-shared=most //編譯,指定apr,apr-util 和pcre安裝路徑和模塊選擇,必須的模塊得有so,rewirte ssl,cgi
#make
#make install
#ls /usr/local/apache/bin //查看bin目錄,apachetl是啟動(dòng)腳本
ab checkgid envvers-std htdbm httpd rotatelogs apachectl
dbmmanage fcgistarter htdigest httxt2dbm apxs envvare
htcacheclean htpasswd logresolve
7.啟動(dòng)httpd服務(wù)
#/usr/local/apache/bin/apachectl start //啟動(dòng)httpd服務(wù)
#netstat -anput|grep httpd //查看80端口
tcp 0 0 :::80 :::* LISTEN 6211/httpd
用瀏覽器訪問(wèn)默認(rèn)首頁(yè) http:10.10.0.251 結(jié)果打開(kāi)的是歡迎界面,并沒(méi)有顯示it works
修改 #vim /etc/httpd/conf/httpd.conf 下的這一項(xiàng),首頁(yè)文件路徑
DocumentRoor "/usr/local/apache/htdocs"
再次打開(kāi),OK看到了 it works !?。?/p>
再此更正一下,在后來(lái)啟動(dòng)服務(wù)時(shí),會(huì)有報(bào)錯(cuò),但是當(dāng)時(shí)卻沒(méi)有,可能是什么地方有其他配置把,現(xiàn)在 說(shuō)一下報(bào)錯(cuò)信息和解決辦法:
報(bào)錯(cuò)信息如下:
httpd: Syntax error on line 144 of /usr/local/apache2/conf/httpd.conf: Cannot load /usr/local/apache2/modules/mod_dir.so into server: /usr/local/apache2/modules/mod_dir.so: undefined symbol: apr_array_clear
總是提示apr的錯(cuò)誤,重新編譯也不行,后來(lái)添加 --with-included-apr 參數(shù),在重新編譯,并且還要把a(bǔ)pr和apr-util的的源碼復(fù)制到http-2.4.12/srclib目錄下才可以
#cp -rf apr-1.5.2 httpd-2.4.12/srclib/apr
#cp -rf apr-util-1.5.4 httpd-2.4.12/srclib/apr-util
ok ,重新啟動(dòng)就沒(méi)有問(wèn)題了
安裝過(guò)程中遇到的問(wèn)題:提示如下,
util_pcre.c: In function 'ap_regcomp':
util_pcre.c:128: error: 'PCRE_DUPNAMES' undeclared (first use in this function)
util_pcre.c:128: error: (Each undeclared identifier is reported only once
util_pcre.c:128: error: for each function it appears in.)
問(wèn)題在于pcre軟件沒(méi)有裝上,在make的時(shí)候就會(huì)有這個(gè)提示,安裝pcre軟件后就可以了
2. 在選擇模塊的時(shí)候可以使用./configure --help 命令來(lái)選擇所需要的模塊
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。