編譯安裝HTTP
?
安裝前準備:
?CentOS7.6操作系統
?提前在官網下載的最新版安裝包:
???httpd-2.4.39.tar.bz2
???apr-util-1.6.1.tar.gz
???apr-1.7.0.tar.gz
?註意:
???我們在利用yum安裝HTTP時,由於HTTP依賴與APR,yum會自動將他們都裝上。但是,在CentOS7上自帶的是較新的APR,不支持最新版的HTTP。因此,如果直接在官網下載最新的HTTP會因為APR不支持而無法正常使用。所以我們同時需要去官網下載最新的APR,把最新的APR也編譯安裝上。
???如果是最小化安裝的CentOS7,會缺少很多編譯安裝所需的工具。因此,建議先執行以下命令進行安裝:
yum autoconf bc bzip2 expat-devel gcc gcc-c++ glibc glibc-devel install iotop libtool lrzsz lsof net-tools nfs-utils ntpdate openssl openssl-devel pcre pcre-devel systemd-devel tcpdump treescreen unzip vimlrzsz wget zip zlib-devel -y
?
第一步:處理官網下載的包
首先我們將提前準備的所有的包都解壓縮到當前目錄下:
tar xvf httpd-2.4.39.tar.bz2 tar xvf apr-1.7.0.tar.gz tar xvf apr-util-1.6.1.tar.gz
然後將所有解壓縮完成後的文件都放到一起:
cp -r apr-1.7.0 httpd-2.4.39/srclib/apr
cp -r apr-util-1.6.1 httpd-2.4.39/srclib/apr-util
cd httpd-2.4.39
註:此處選擇將所有解壓縮後的文件放到一起是因為:這樣可以一次性將三個包一起編譯安裝,無需一個一個來安裝,可以減輕操作負擔。而且這裏選擇的是cp命令,源文件仍然保留,若安裝失敗可直接重新安裝,不需要再次解壓縮。
?
第二步:源碼編譯
接下來就可以編譯安裝了:
首先進入httpd-2.4.39中
cd httpd-2.4.39
註:源碼編譯時,自身必須在當前目錄下才能順利編譯安裝,若自身不在當前目錄下將無法安裝。
./configure --prefix=/app/httpd24 \ 安裝路徑
--enable-so \ 啟用模塊
--enable-ssl \ 啟用加密功能
--enable-cgi \ 支持cgi
--enable-rewrite \ 支持重寫
--with-zlib \ 支持zlib庫
--with-pcre \ 支持正則表達式
--with-included-apr \ 加上apr
--enable-modules=most \ 支持大部分模塊
--enable-mpms-shared=all \ 是否支持mpm
--with-mpm=prefork 當前使用的mpm模塊是prefork
註:上面中文是解釋該行指定的是什麽,各位看官大佬千萬別把中文粘貼上去。。。
完成後就可以執行命令開始編譯了:
make && make install
?
第三步:設置HTTP為開機自啟
修改配置文件:
vim /etc/rc.d/rc.local
在最後面添加一行:
/app/httpd24/bin/apachectl start
加上這一行就可以實現開機自動啟動,但是還需為文件加上執行權限,這樣開機系統就可以自動執行該文件。
?
第四步:創建使用HTTP的用戶
編譯好之後,因為我們沒有創建apache賬號,所以它默認使用daemon賬號使用服務。
我們可以手動創建一個apache賬號來使用apache:
useradd -r -s /sbin/nologin apache
但是創建完用戶,HTTP並不能自動識別。
這時就需要我們編輯配置文件來指定讓它使用該用戶:
vim /app/httpd24/conf/httpd.conf
稍加修改配置文件:
User apache
Group apache
將User和Group後面的daemon改成apache,下次啟動就會使用apache來管理HTTP。
?
第五步:添加PATH變量
這個時候就已經編譯完成了,但是我們還需要將其添加至PATH變量中才可以正常使用。
在/etc/profile.d/下自定義一個.sh結尾的文件,將PATH變量添加進去:
vim /etc/profile.d/httpd24.sh
PATH=/app/httpd24/bin:$PATH
至此,最新版HTTP服務就安裝完成了,祝所有讀者都可以一次成功!
?
補充:
??根據我們剛剛指定的目錄,所有文件都在/app/httpd24裏面。其中,配置文件都在conf中。啟動服務都在bin裏面。主頁面在/app/httpd24/htdocs/下的index.html中,配置文件在/app/httpd24/htdocs/conf/httpd.cong中。
編譯安裝HTTP