在CentOS7.3上編譯安裝httpd-2.4.27

在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已經介紹完了。




原創文章,作者:woking,如若轉載,請注明出處:http://www.www58058.com/84075

(0)
wokingwoking
上一篇 2017-08-06 22:57
下一篇 2017-08-06

相關推薦

  • mysql mariadb 備份恢復、主從

    備份類型分為: 完全備份、增量備份、差異備份 熱備、溫備、冷備 邏輯備份、物理備份 每種類型區別: 增量備份:根據上一次備份的增量備份或完全備份備份 差異備份:根據上一次備份的完全 溫備:備份過程中只支持讀備份備份熱備:備份過程中支持讀寫 冷備:停服務備份 邏輯備份:schema和數據存儲在一起,巨大的sql語句、單個巨大的備份文件,恢復備份較慢。優點可以還…

    2017-03-01
  • Net25-第13周作業

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程) 1)共享名為shared,工作組為magedu; 2)添加組develop,添加用戶gentoo,centos和ubuntu,其中gentoo和centos以develop為附加組,ubuntu不屬于develop組;密碼均為用戶名; 3)添加samba用戶gentoo,centos和u…

    Linux干貨 2017-05-15
  • MySQL復制詳解

    目錄:        1、簡介        2、原理        3、常見復制架構        4、一主一叢異步復…

    Linux干貨 2015-10-01
  • LVS產生背景、原理及LVS-DR應用實例(一)

    一、什么是lvs? 它產生的背景,使用場景是什么?      LVS(Linux Virtual Server) 可以理解為一個虛擬服務器系統。       Internet的飛速發展,網絡帶寬的增長,Web服務中越來越多地使用CGI、動態主頁等CPU密集型應用,這對服務器的性能…

    Linux干貨 2016-10-29
  • 程序包管理

    什么是程序包管理器?     顧名思義,就是將編譯好的應用程序的各組成文件打包成一個或多個程序包文件,從而更方便地實現程序包的安裝、升級、卸載還有查詢等管理操作。 那么一個程序包又由哪些部分組成呢? 程序包的組成清單:   文件清單(每個程序包都單獨實現):       安裝或卸載時運行的腳本,有如下四類:     preinstall : 安裝過程開始之前…

    Linux干貨 2016-12-16
  • mysql配置詳解-備份-主從-MHA

    目錄: 1.備份和恢復 2.主從復制 3.主主復制 4.半同步復制 5.proxysql_讀寫分離 6.MHA 1.備份和恢復 ·mysqldump 備份: mysqldump -E -R –triggers –master-data=2 –flush-logs –single-transaction –dat…

    Linux干貨 2017-08-08
欧美性久久久久