linux中的httpd源码安装方法
???對(duì)于源碼我們應(yīng)該知道所謂源碼就是用特定語言寫成的文本,如C語言。其次源碼安裝
的好處是我們可以使用最新的版本和最新的功能,可以加入各種選項(xiàng)來個(gè)性配置,也可
以自定制使其更符合自己的習(xí)慣,而且在任何平臺(tái)都能夠配置、編譯。
?
源碼
?
用特定的文件寫出的文件就成為源碼
拆解--源碼-----配置(./configure)(makefile)--編譯-----可執(zhí)行--頭文件?---庫文件--手冊(cè)--makeinstall安裝
編譯器gcc?
?????????編譯環(huán)境分為四類組
????????????????????????????????????????????????????????DevlompemtLibraries開發(fā)庫
??????????????????????????????????????????????????????Devlopmenttools開發(fā)工具
??????????????????????????????????????????????????????X?software?Devlopment圖形界面使用的
??????????????????????????????????????????????????????Legacy?software?Developmen?t傳統(tǒng)的軟件開發(fā)
庫文件一般存放在這兩個(gè)文件里面/lib?/usr/lib?系統(tǒng)會(huì)自動(dòng)找到
動(dòng)態(tài)庫不需要做代碼的一部分,直接跳轉(zhuǎn)執(zhí)行?????????????????.so結(jié)尾
靜態(tài)庫直接編譯好在文件里面???????????????????????????????.a結(jié)尾
頭文件/include/usr/include如果不想占用空間可采用鏈接可以使用in-s
手冊(cè)man
?拆解位置/usr/local/src
?安裝位置/usr/local/
?配置文件后面可以跟參數(shù)選項(xiàng)
??????????????????????????????????????????????????????--prefix?????????????安裝目錄
??????????????????????????????????????????????????????--sysconfdir?????指明系統(tǒng)配置文件目錄
??????????????????????????????????????????????????????--enable???????????選項(xiàng)打開
??????????????????????????????????????????????????????--disable??????????選項(xiàng)關(guān)閉
????使用源代碼的好處:加入更多選項(xiàng)來個(gè)性化你的配置功能,如果你想使用更新版本的紅帽,你必須得使用源代碼。
這里我給大家提供一個(gè)源代碼的下載地方:www.apache.org
下面我給大家安裝一個(gè)最新版本的httpd2.4,來讓大家進(jìn)一步了解源代碼的安裝方法
?
圖1
?
?軟件包拆解tar?-jxvf??????軟件包的地址???-C???????存放軟件包的位置
?而我們的包是存放在/usr/local/src/這個(gè)文件里面,然后我們切換到這個(gè)包文件里面
?我們仔細(xì)看里面的一些文件configure?,INSTALL這個(gè)兩個(gè)文件,說明是源代碼的安裝
?
?圖2
?
?圖3
?
下一步
?
?我們切換到包的主文件,看是安裝配置文件,執(zhí)行
????????????./configure--prefix=/usr/local/apache???????指明安裝文件的目錄–附加下面的指令
??????????????sysconfir=/etc/apache?????????????????????????????????指明配置文件的安裝目錄
?
?圖4
??
?這個(gè)時(shí)候我們可以用rpm?–qa?|grep?–I?apr?來查看一下我們是否裝了arp這個(gè)文件,如果發(fā)現(xiàn)裝了,這個(gè)時(shí)候可能是devel庫文件沒有安裝,然后對(duì)這個(gè)文件來進(jìn)行安裝,可使用
rpm?–ivh加上包的文件名字
?
?圖5
?????
??????然后我們重新執(zhí)行一下./configure--prefix=/usr/local/apache–sysconfir=/etc/apache?發(fā)現(xiàn)錯(cuò)誤依舊存在,不過這次錯(cuò)誤的提示更加詳細(xì)了
?
?圖6
?
?圖7
?
下一步
?
?執(zhí)行make指令
??make?install
?切換到我們剛才把它指定的安裝目錄?/usr/local/apache/?這時(shí)候產(chǎn)生了許多頭文件,庫文件
?
?圖8
?
???我們需要給它創(chuàng)建鏈接,系統(tǒng)能夠識(shí)別的這些文件并且能調(diào)用,我們不可能一個(gè)一個(gè)的進(jìn)行創(chuàng)建,我們只需要給它這個(gè)目錄創(chuàng)建一個(gè)鏈接就可以了。執(zhí)行
in?–s/usr/local/apr/include/apr-1*?.?指定一個(gè)鏈接到當(dāng)前目錄
?
?庫文件處理方法
?系統(tǒng)能自動(dòng)找到是在/lib?/usr/lib?這兩個(gè)文件里面才會(huì)找到
??vim/etc/ld.so.conf?這是一個(gè)鏈接庫里面包含
??include?ld.so.conf.d/*.conf?你可以讓在這樣的目錄創(chuàng)建一個(gè)*.文件,然后你源碼庫的路徑就可以了
?我們切換到這個(gè)目錄下,然后再這個(gè)文件里面編輯
?寫入這些文件/usr/local/apr/lib
??ldconfig???????????????????????????????????????更新緩存
??ldconfig?–pv?|?grep?apr?????????????查找這些鏈接文件
?
下一步
?
切換到apr-util-1.5.1tar.gz?系統(tǒng)工具目錄下進(jìn)入這目錄里面
?
圖9
?
??直接執(zhí)行./config--prefix=/usr/local/apr-util???--with-apr=/usr/local/apr/bin/apr-1-config?指定它的安裝目錄,并指定apr.config它的安裝目錄
Make
Make?intall
然后查看它安裝后所形成的文件,切換到/usr/local/目錄下,形成apr-util工具文件
?
圖10
?
然后我們重新執(zhí)行一下./configure--prefix=/usr/local/apache–sysconfir=/etc/apache
?
圖11
?
這次我們需要指明apr-1-config它的安裝文件時(shí)在哪里,我們只需要指明就可以了
??????--with-apr=/usr/local/apr/bin/apr-1-config??????--with-apr-until=/usr/local/apr-until/
?
圖12
?
?這個(gè)時(shí)候會(huì)想,這個(gè)文件已經(jīng)安裝了可能是devel這個(gè)文件沒有安裝
??rpm?–ivh?/mnt/cdrom/Server/pcre-devel-66-2.e15_1.7.i386.rpm安裝就可以
?安裝好后我們重新執(zhí)行
??./configure--prefix=/usr/local/apache–sysconfir=/etc/apache???--with-apr=/usr/local/apr/bin/apr-1-config-??-with-apr-until=/usr/local/apr-until/
?生成學(xué)多make?file文件然后執(zhí)行make?
??make?install?把你的文件拷貝到相應(yīng)的文件里面
?然后為切換到/usr/local/apache/生成了bin?頭文件模塊文件
?
圖13
?
??我們需要給這些頭文件指定相應(yīng)的鏈接切換到include目錄里面執(zhí)行
???ln?–s?/usr/local/apache/include/*?.
??對(duì)庫文件編輯
??cd?/etc/ld.so.conf.d/
?編輯
?vim?apache.conf寫入
?/usr/local/apache/modules
?ldconfig
?ldconfig?–pv?|?grep?apche?
?
下一步
?
?配置文件
?切換到bin目錄下
?.http?–f?/etc/apache/httpd.conf?掛接配置文件
?控制腳本
?存放腳本的位置是在/etc/init.d,前期給它一個(gè)可執(zhí)行的權(quán)限
?編寫一個(gè)腳本
?!/bin/bash
???prog=/usr/local/apache/bin/httpd?指明一個(gè)名稱
??configfile=/etc/apache/http.conf?指明配置文件
??lockfile=/var/local/subsys/httpd?
??./etc/init.d/functions
??start(){
???????????????if?[?-e?$lockfile?]?;then
????????????????????????echo?“the?prigram?‘basename?$prog’?is?started”
???????????????else
??????????????????????????ehco?–n?–e?“the?prigram?‘basename?$prog’?is?starting….”
?????????????????????????sleep2
????????????????????????$prog-f$configfile?&&?echo-e“\033?[31m?[ok]\033[?0m”?&&?touch?$?lochfile?||?echo-???e?“?\033[31m?[fail]?\033?[0m”
??????????????fi
}
??stop()?{
???????????????if?[?-e?$lockfile?]?;then
???????????????????????echo?-n?“the?program?‘basename?$prog’?is?stoping?….”
???????????????????????sleep2
???????????????????????killproc?http?&&?echo?“ok”?rm?–rf?$?lockfile?||?ehco?“fail”
???????????????else
??????????????????????ehco“the?program?‘basename?$prog’?is?stoped”
??????????????fi
}
?status()?{
?????????????if?[?-e?$lockfile?]?;then
?echo“the?program?‘basename?$prog’?is?running”
?????else
?????????????????????echo“the?program?‘basename?$prog’?is?stop”
?????fi
}
?case?“$1”?in
?start?)
????????start
???????????????;;
?stop)
????????stop
??????????????;
status)
status
;;
restart)
????stop
????start
???????;;
*)
ehcho?“USAGE:?start?|stop|restart|status”
esac
??如果想讓chkconfig?來管理這個(gè)腳本,啟動(dòng)的時(shí)候可以自動(dòng)啟動(dòng),我們首先在這個(gè)腳本里面添加
??#chkconfig?2345?55?25
??#description:httpd?server?daemon?
?然后執(zhí)行添加
?chkconfig?–add?httpd
?手冊(cè)
?手冊(cè)在/usr/local/apache/man
?如果在這里不懂,不明白,我們可以執(zhí)行man?man?來查看一下man?的幫助
?然后我們打開/etc/man.config?添加一條指令來指明它的man的路徑
?MANPATH=/usr/local/apache/man
?然后man?手冊(cè)就做好了.
?以上就是我的源碼安裝方法,如有錯(cuò)誤聯(lián)系作者就可以了….
?
轉(zhuǎn)載于:https://blog.51cto.com/ymchaofeng/1275194
總結(jié)
以上是生活随笔為你收集整理的linux中的httpd源码安装方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 7月13日微软MVP社区夏日巡讲北京站活
- 下一篇: perl脚本的默认参数