博客專欄

EEPW首頁 > 博客 > httpd源碼編譯安裝

httpd源碼編譯安裝

發(fā)布人:電子禪石 時間:2021-10-21 來源:工程師 發(fā)布文章

httpd源碼編譯安裝

什么是編譯安裝——編譯:將源代碼變?yōu)闄C器可執(zhí)行的代碼文件。安裝:將可執(zhí)行文件安裝到操作系統(tǒng)里,才可以使用。

一、下載httpd源碼包

在官網上下載httpd源碼包http://httpd.apache.org,也可以在linux中輸入rpm -qi httpd查看到當前下載源碼httpd的****



下載到linux的data目錄下,然后進行解壓:

1
2
3
[root@ansibledata]#rz
 
[root@ansibledata]#tar xf httpd-2.4.39

注意:一定要在解壓后的httpd目錄下安裝,下面的編譯需要用到httdp目錄下的腳本,所以我用cd httpd把目錄切換到httpd中去進入cd httpd-2.4.27/

二、查看INSTALL、README 這些幫助信息

查詢 cat INSTALL,里邊有簡單的安裝過程,和一些例子

 

查詢 cat README,(what is it ?)里邊有一些Apache 的功能介紹

三、configure腳本(檢測當前編譯環(huán)境)

(1)./configure --help 查詢這個腳本的用法,

--prefix=PREFIX  指定默認安裝總目錄, 默認為/usr/local/

--sysconfdir=/PATH 配置文件安裝位置,默認就安裝到指定安裝總目錄的下面

 Optional Features:  需要什么功能

--disable-FEATURE 關閉某些功能

--enable-FEATURE 開啟某些功能

 

下面我們就來執(zhí)行這個腳本,添加一些簡單的設置

手工創(chuàng)建賬號:

1
[root@ansiblehttpd-2.4.39]#useradd -r -u 80 -d /var/www  -s /sbin/nologin httpd

(1)首先安裝development-tools包,因為沒有C編譯工具,缺少gcc,這時候,我們需要下一個包組development tools

yum -y groupinstall "Development Tools"

1
[root@ansiblehttpd-2.4.39]#yum groupinstall "development tools"

(2)首次安裝包,會有一些提示錯誤,第一次安裝沒有一些準備好的包,可以根據提示錯誤進行安裝:

1
[root@ansiblehttpd-2.4.39]#./configure  --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status

(3)我們只需按照提示的錯誤,把需要的都安裝上去(直到沒有提示錯誤)

先查詢缺少的 yum search apr-devel(一般關于開發(fā)的都叫 devel)

再安裝 yum -y install apr-devel

1
[root@ansiblehttpd-2.4.39]#yum install apr-devel

 

(4)此時缺少apr-util包,按照提示錯誤來進行下一步安裝:

1
[root@ansiblehttpd-2.4.39]#yum install apr-util-devel
1
[root@ansiblehttpd-2.4.39]#./configure  --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status

 

 (5)根據提示錯誤繼續(xù)往下安裝,此時缺少pcre包,安裝pcre-devel包

1
[root@ansiblehttpd-2.4.39]#yum install pcre-devel

 繼續(xù)執(zhí)行指定路徑的包安裝

1
[root@ansiblehttpd-2.4.39]#./configure  --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status

(6)根據提示的錯誤,安裝openssl-devel包:

1
[root@ansiblehttpd-2.4.39]#yum install openssl-devel

(7)再執(zhí)行指定路徑的包安裝,此時就已經完成指定路徑包的安裝。

1
[root@ansiblehttpd-2.4.39]#./configure  --prefix=/app/httpd --sysconfdir=/etc/httpd24 --enable-ssl --disable-status

(8)configure腳本完全執(zhí)行成功(多了一個Makefile)沒有Makefile 

 

四、make和make install編譯

(1)進行make編譯,make 編譯后,多了很多.o .lo 文件 (二進制文件),在此之前的工作,任何用戶都能做,并且都在httpd-2.4.27 這個目錄下進行

1
[root@ansiblehttpd-2.4.39]#make

(2)make install 安裝到指定位置,只有root 能做,此時httpd的編譯完成。

1
[root@ansiblehttpd]#make install

(3)切換到/app/httpd/bin執(zhí)行程序目錄下,此時去執(zhí)行服務啟動,都必須是./apachectl start,不太方便,我們可以指定變量路徑

1
2
3
4
5
[root@ansiblehttpd]#cd /app/httpd/bin
[root@ansiblebin]#pwd
/app/httpd/bin
[root@ansiblebin]#echo 'PATH=/app/httpd/bin:$PATH'  > /etc/profile.d/httpd.sh 定義一個/app/httpd/bin的配置文件路徑
[root@ansiblebin]#apachectl start   啟動當前編譯的httpd服務

此時在網上輸入本機的IP地址就可以訪問信息:

 五、安裝后的配置

 導入幫助手冊man           

  vim /etc/man_db.conf

  加入一行 MANDATORY_MANPATH                       /app/httpd/man

 

 


*博客內容為網友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。



關鍵詞: httpd

技術專區(qū)

關閉