在CentOS7.3上編譯安裝httpd-2.4.27
在實際生產中,軟件廠商并不總會提供針對Linux平臺的rpm軟件包,有時會以源碼的形式發布軟件。源碼,比如c語言的源碼,可以跨平臺運行。在只能獲得源碼的情況下,那么就需要用戶根據自己的平臺,進行手動的編譯安裝。此時,需要借助一些專門的編譯工具,而Linux中就提供了這樣的工具,比如針對Java的maven管理器以及針對c、c++語言的make項目管理器。
下面介紹一下如何在CentOS7.3上用make項目管理器來編譯安裝httpd-2.4.27(httpd-2.4.27是用c語言編寫的源碼包,完整名稱為httpd-2.4.27.tar.bz2)。
第一步:準備工作。查看系統是否已經安裝了httpd,如果已經安裝的話,將其卸載。
# 查看是否已經安裝了httpd的相關rpm包
[root@centos7 ~]#rpm -qa “httpd*”
httpd-tools-2.4.6-45.el7.centos.x86_64
httpd-2.4.6-45.el7.centos.x86_64
# 如果安裝了,將其remove掉
[root@centos7 ~]#yum -y remove “httpd*”
第二步: 安裝開發包組
# 安裝開發包組,開發包組里面包含了很多的編譯工具軟件
[root@centos7 ~]#yum groupinstall “Development tools”
安裝開發包組屬于通用過程,一般編譯安裝的時候,都需要用到開發包組提供的功能。
第三步: 將源碼放到指定目錄下,解包
# 將源碼移動到指定目錄下,建議放到/usr/local/src/這個目錄
[root@centos7 ~]#cp httpd-2.4.27.tar.bz2 /usr/local/src/
# 進入/usr/local/src/目錄
[root@centos7 ~]#cd /usr/local/src/
# 將源碼壓縮包解壓到src目錄下
[root@centos7 src]#tar xvf httpd-2.4.27.tar.bz2
# 進入剛解壓得到的httpd-2.4.27/目錄下
[root@centos7 src]#cd httpd-2.4.27/
第四步: 查看一下說明文檔和安裝文檔
# 查看說明文檔
[root@centos7 httpd-2.4.27]#cat README
# 查看安裝幫助文檔
[root@centos7 httpd-2.4.27]#cat INSTALL
第五步: 使用configure腳本生成Makefile
configure腳本主要是指定軟件支持哪些功能,同時通過選項傳遞參數,指定安裝路徑等。configure腳本執行時會參考用戶的設定以及makefile.in模板文件生成makefile。此外,configure腳本還要檢查依賴到的外部環境,如依賴的軟件包。
# 查看configure腳本的幫助
[root@centos7 httpd-2.4.27]#./configure –help
# 用configure腳本指定安裝的路徑為/app/httpd24/
# 配置文件的路徑為/etc/httpd24/,–enable-ssl表示啟用加密
[root@centos7 httpd-2.4.27]#./configure –prefix=/app/httpd24/–sysconfdir=/etc/httpd24/ –enable-ssl
# 執行過程中會檢查依賴的包,缺什么包就安裝什么包
# 下面四個包裝完之后,上面的configure腳本命令才可以執行
[root@centos7 httpd-2.4.27]#yum install apr-devel
[root@centos7 httpd-2.4.27]#yum install apr-util-devel
[root@centos7 httpd-2.4.27]#yum install pcre-devel
[root@centos7 httpd-2.4.27]#yum -y install openssl-devel
第六步: 編譯和安裝
# 編譯:make,安裝:make install
[root@centos7 httpd-2.4.27]#make && make install
說明:為了加快編譯速度,可以采用這條命令make -j 4 && make install。-j表示可以多進程,多線程的并發編譯。如果處理器數量為4個,-j最多寫4。
安裝完確認指定目錄是否已經成功創建:/app/httpd24/和/etc/httpd24/。
第七步: 對httpd軟件進行環境配置
/app/httpd22/bin目錄里面存放了httpd軟件的運行命令。如果想運行該軟件,就得進入到bin目錄下執行相應的命令。我們可以把/app/httpd22/bin目錄添加到PATH環境變量中,便于我們操作。
# 將改變PATH環境變量的命令寫成腳本
[root@centos7 ~]#echo ‘export PATH=/app/httpd24/bin:$PATH’ >/etc/profile.d/httpd24.sh
# 執行shell腳本,把/app/httpd22/bin路徑添加到PATH環境變量中
[root@centos7 ~]#. /etc/profile.d/httpd24.sh
# 查看PATH變量,確認已經改變
[root@centos7 ~]#echo $PATH
/app/httpd24/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 啟動Apache HTTP服務器的前端程序apachectl
[root@centos7 ~]#apachectl start
# 查看80端口是否已經被啟用
[root@centos7 ~]#ss -ntl
# 修改首頁文件
[root@centos7 ~]#vim /app/httpd24/htdocs/index.html
<html><body><h1>Hello, it works!</h1></body></html>
# 為軟件添加man幫助
[root@centos7 ~]#vim /etc/man_db.conf
# 在/etc/man_db.conf文件里添加下面的一行,這樣就可以使用man幫助查看幫助文檔了。
MANDATORY_MANPATH /app/httpd24/man
…
至此,如何在CentOS7.3上編譯安裝httpd-2.4.27已經介紹完了。
# 查看是否已經安裝了httpd的相關rpm包
[root@centos7 ~]#rpm -qa “httpd*”
httpd-tools-2.4.6-45.el7.centos.x86_64
httpd-2.4.6-45.el7.centos.x86_64
# 如果安裝了,將其remove掉
[root@centos7 ~]#yum -y remove “httpd*”
# 安裝開發包組,開發包組里面包含了很多的編譯工具軟件
[root@centos7 ~]#yum groupinstall “Development tools”
# 將源碼移動到指定目錄下,建議放到/usr/local/src/這個目錄
[root@centos7 ~]#cp httpd-2.4.27.tar.bz2 /usr/local/src/
# 進入/usr/local/src/目錄
[root@centos7 ~]#cd /usr/local/src/
# 將源碼壓縮包解壓到src目錄下
[root@centos7 src]#tar xvf httpd-2.4.27.tar.bz2
# 進入剛解壓得到的httpd-2.4.27/目錄下
[root@centos7 src]#cd httpd-2.4.27/
# 查看說明文檔
[root@centos7 httpd-2.4.27]#cat README
# 查看安裝幫助文檔
[root@centos7 httpd-2.4.27]#cat INSTALL
# 查看configure腳本的幫助
[root@centos7 httpd-2.4.27]#./configure –help
# 用configure腳本指定安裝的路徑為/app/httpd24/
# 配置文件的路徑為/etc/httpd24/,–enable-ssl表示啟用加密
[root@centos7 httpd-2.4.27]#./configure –prefix=/app/httpd24/–sysconfdir=/etc/httpd24/ –enable-ssl
# 執行過程中會檢查依賴的包,缺什么包就安裝什么包
# 下面四個包裝完之后,上面的configure腳本命令才可以執行
[root@centos7 httpd-2.4.27]#yum install apr-devel
[root@centos7 httpd-2.4.27]#yum install apr-util-devel
[root@centos7 httpd-2.4.27]#yum install pcre-devel
[root@centos7 httpd-2.4.27]#yum -y install openssl-devel
# 編譯:make,安裝:make install
[root@centos7 httpd-2.4.27]#make && make install
# 將改變PATH環境變量的命令寫成腳本
[root@centos7 ~]#echo ‘export PATH=/app/httpd24/bin:$PATH’ >/etc/profile.d/httpd24.sh
# 執行shell腳本,把/app/httpd22/bin路徑添加到PATH環境變量中
[root@centos7 ~]#. /etc/profile.d/httpd24.sh
# 查看PATH變量,確認已經改變
[root@centos7 ~]#echo $PATH
/app/httpd24/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# 啟動Apache HTTP服務器的前端程序apachectl
[root@centos7 ~]#apachectl start
# 查看80端口是否已經被啟用
[root@centos7 ~]#ss -ntl
# 修改首頁文件
[root@centos7 ~]#vim /app/httpd24/htdocs/index.html
<html><body><h1>Hello, it works!</h1></body></html>
# 為軟件添加man幫助
[root@centos7 ~]#vim /etc/man_db.conf
# 在/etc/man_db.conf文件里添加下面的一行,這樣就可以使用man幫助查看幫助文檔了。
MANDATORY_MANPATH /app/httpd24/man
…
原創文章,作者:woking,如若轉載,請注明出處:http://www.www58058.com/84075