一、官網下載須要的安裝包(包括主安裝包和依賴包的下載)能夠直接使用Linux的wget進行下載:html
httpd安裝包下載地址:http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.29.tar.gz arp安裝包下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz arp-util安裝包下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz pcre安裝包下載地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
咱們可使用wget的邪惡方法,實現批量下載這幾個文件,首先把這幾個連接地址放到一個文件中:好比software.txtc++
http://mirrors.hust.edu.cn/apache//httpd/httpd-2.4.29.tar.gz http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.6.3.tar.gz http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.6.1.tar.gz ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
而後使用wget的方法下載這個文件中的地址安裝包:正則表達式
wget -i software.txt
二、下載完成後就要開始解壓下載下來的安裝包了,咱們也使用一個快速的方法對下載下來的這四個包進行批量解壓:apache
ls *.tar.gz | xargs -n1 tar zxf
解壓完成後的目錄裏面有下面這些文件:vim
[root@BrianZhu software]# ll total 12060 drwxr-xr-x 27 1001 1001 4096 Oct 18 22:50 apr-1.6.3 -rw-r--r-- 1 root root 1072661 Oct 23 01:33 apr-1.6.3.tar.gz drwxr-xr-x 20 1001 1001 4096 Oct 18 22:51 apr-util-1.6.1 -rw-r--r-- 1 root root 554301 Oct 23 01:33 apr-util-1.6.1.tar.gz drwxr-xr-x 11 501 games 4096 Oct 18 02:53 httpd-2.4.29 -rw-r--r-- 1 root root 8638793 Oct 21 03:39 httpd-2.4.29.tar.gz drwxr-xr-x 7 1169 1169 4096 Nov 23 2015 pcre-8.38 -rw-r--r-- 1 root root 2053336 Mar 13 11:05 pcre-8.38.tar.gz -rw-r--r-- 1 root root 267 Mar 13 11:03 software.txt
三、建立用戶:瀏覽器
首先咱們先要建立一個Apache的專屬用戶,用戶名是:httpd(可自定義) bash
[root@BrianZhu software]# groupadd httpd [root@BrianZhu software]# useradd -g httpd -s /sbin/nologin -M httpd
四、對主安裝包和依賴包進行源碼安裝:ssh
爲了防止在安裝是時候出現一些沒必要要的錯誤,咱們在安裝的時候最好是按照依賴包主安裝包的順序來安裝:tcp
apr --> apr-util --> pcre --> httpd
在安裝以前要檢查一下C++的環境有沒有安裝成功ide
[root@BrianZhu software]# rpm -qa gcc gcc-c++ # 檢查 [root@BrianZhu software]# yum -y install gcc gcc-c++ expat-devel # 安裝
源碼安裝apr軟件包:
[root@BrianZhu software]# cd apr-1.6.3/ # 切換到解壓好的目錄 [root@BrianZhu apr-1.6.3]# ./configure --prefix=/usr/local/apr && make && make install # 配置指定路徑、編譯、編譯安裝
源碼安裝apr-util軟件包:
[root@BrianZhu software]# cd apr-util-1.6.1/ # 切換解壓好的目錄 [root@BrianZhu apr-util-1.6.1]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config && make && make install # 配置路徑,指定apr的安裝路徑 、編譯、編譯安裝
源碼安裝pcre軟件包:
[root@BrianZhu software]# cd pcre-8.38/ # 切換解壓好的目錄 [root@BrianZhu pcre-8.38]# ./configure --prefix=/usr/local/pcre && make && make install # 配置指定路徑、編譯、編譯安裝
源碼安裝httpd軟件包:
[root@BrianZhu software]# cd httpd-2.4.29/ # 切換解壓好的目錄 [root@BrianZhu httpd-2.4.29]# ./configure --prefix=/usr/local/apache/ --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre/ && make && make install # 指定安裝和依賴包路徑、編譯、編譯安裝
安裝過程無報錯說明安裝成功,安裝完成後會在/usr/local/下面有個apache目錄
[root@BrianZhu /]# cd /usr/local/ [root@BrianZhu local]# ll total 56 drwxr-xr-x 14 root root 4096 Mar 13 11:56 apache # 咱們編譯安裝好的Apache drwxr-xr-x 6 root root 4096 Mar 13 11:39 apr # 編譯安裝的依賴包 drwxr-xr-x 5 root root 4096 Mar 13 11:48 apr-util # 編譯安裝的依賴包 drwxr-xr-x. 2 root root 4096 Aug 12 2015 bin drwxr-xr-x. 2 root root 4096 Aug 12 2015 etc drwxr-xr-x. 2 root root 4096 Aug 12 2015 games drwxr-xr-x. 2 root root 4096 Aug 12 2015 include drwxr-xr-x. 2 root root 4096 Aug 12 2015 lib drwxr-xr-x. 2 root root 4096 Aug 12 2015 lib64 drwxr-xr-x. 2 root root 4096 Aug 12 2015 libexec drwxr-xr-x 6 root root 4096 Mar 13 11:51 pcre # 編譯安裝的依賴包 drwxr-xr-x. 2 root root 4096 Aug 12 2015 sbin drwxr-xr-x. 5 root root 4096 May 23 2017 share drwxr-xr-x. 2 root root 4096 Aug 12 2015 src
在安裝的過程當中咱們使用./configure的時候跟了不少的額外編譯參數,下面咱們來講一下在安裝Apache的經常使用參數:
選項 | 意義 |
--enable-so | 啓用動態裝載模塊功能 |
--enable-ssl | 啓用ssl功能。注意要先安裝 |
--enable-cgi | 啓用cgi功能 |
--enable-rewrite | 啓用URL重定向功能 |
--enable-modules=[all | most | ……] | 指定啓用哪些模塊。可指定具體的模塊名,也可以使用all表示啓用全部模塊,most表示啓用大多數經常使用模塊。通常使用most便可 |
--enable-mpms-shared=[prefork | worker | event | all] | 指定編譯哪些MPM模塊。可以使用all表示全編譯 |
--with-mpm=[prefork | worker | event] | 如3種MPM模塊都編譯了,則經過此項指定默認使用哪一種 |
--with-zlib | 依賴zlib庫用於頁面壓縮 |
--with-pcre | 依賴pcre庫用於解決正則表達式問題。 |
--with-apr=PATH | 指定依賴的apr路徑。注意必須指明路徑,不然編譯時會自動去找/usr下的apr,而不是編譯的高版本apr,下同 |
--with-apr-util=PATH | 指定依賴的apr-util路徑 |
--sysconfdir=PATH | 指定配置文件在安裝在哪一個路徑。如不指定,配置文件就在程序安裝的目錄;如指定/etc目錄,注意起個別的名字,不要覆蓋httpd2.2的 |
在apache這個目錄下面有不少子目錄,咱們來簡單說一下這些目錄都是幹什麼的:
[root@BrianZhu local]# cd apache/ [root@BrianZhu apache]# ll total 56 drwxr-xr-x 2 root root 4096 Mar 13 11:56 bin # 程序命令目錄 drwxr-xr-x 2 root root 4096 Mar 13 11:56 build # 目錄存放的是編譯過程當中產生的文件 drwxr-xr-x 2 root root 4096 Mar 13 11:56 cgi-bin drwxr-xr-x 4 root root 4096 Mar 13 11:59 conf # 配置文件目錄 drwxr-xr-x 3 root root 4096 Mar 13 11:56 error # 記錄了各錯誤頁面內容。404等錯誤頁面就放在這裏,報錯時顯示的就是這些頁面內容 drwxr-xr-x 2 root root 4096 Oct 18 02:53 htdocs # 網頁文件放置位置。 drwxr-xr-x 3 root root 4096 Mar 13 11:56 icons drwxr-xr-x 2 root root 4096 Mar 13 11:56 include drwxr-xr-x 2 root root 4096 Mar 13 11:56 logs # 日誌。httpd的pid文件也在此目錄 drwxr-xr-x 4 root root 4096 Mar 13 11:56 man # man手冊 drwxr-xr-x 14 root root 12288 Oct 18 02:53 manual # 官方文檔 drwxr-xr-x 2 root root 4096 Mar 13 11:56 modules # 各模塊
五、如今咱們來啓動Apache服務,並測試是否安裝成功:
咱們能夠先對配置文件作個簡單的修改,修改的文件和配置參數以下:
[root@BrianZhu /]# cd /usr/local/apache/conf/ # 切換到配置文件目錄 [root@BrianZhu conf]# vim httpd.conf #修改配置文件(主要修改「Listen」和「ServerName」屬性)
修改後咱們可使用命令對配置文件進行檢查
./bin/apachectl configtest # 沒有問題會顯示 Syntax OK
啓動Apache服務:
/usr/local/apache/bin/apachectl start | stop | restart 或者 cp /usr/local/apache/bin/apachectl /etc/init.d/httpd /etc/init.d/httpd start
檢查是否啓動成功:
[root@BrianZhu conf]# netstat -lntup Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 943/sshd tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 896/master tcp6 0 0 :::80 :::* LISTEN 82232/httpd # 啓動成功 tcp6 0 0 :::22 :::* LISTEN 943/sshd tcp6 0 0 ::1:25 :::* LISTEN 896/master udp 0 0 0.0.0.0:11714 0.0.0.0:* 548/dhclient udp 0 0 0.0.0.0:68 0.0.0.0:* 548/dhclient udp 0 0 127.0.0.1:323 0.0.0.0:* 904/chronyd udp6 0 0 ::1:323 :::* 904/chronyd udp6 0 0 :::30037 :::* 548/dhclient
瀏覽器檢查:
就此安裝完成!!!