實驗目的:使用手工編譯的方式搭建httpd服務。html
實驗步驟:共享源代碼安裝包、解壓縮源代碼內容、./configure配置各類參數項、make編譯、make install安裝。而後就是配置httpd的主配置文件內容,下面是詳細步驟。linux
首先是準備工做,以下圖所示把這幾個源碼包下載下來,放在一個文件夾裏面,而後共享出來,使linux主機能夠正常訪問(或者使用其餘方法,不知道怎麼操做就看個人上一篇博客)。c++
而後是解壓縮軟件包,把上面三個下載好的軟件包所有解壓到opt目錄下。apache
而後切換到解壓目錄下,複製其中的apr和apr-util文件夾到本目錄的httpd-2.4.2/srclib目錄下,後面再加個文件名稱。vim
而後就是須要安裝httpd所必須的一些語言環境和安裝環境了。使用rpm安裝C語言和C++時會有依賴性關係,因此在這裏我直接建立了yum倉庫來解決依賴性關係vim /etc/yum.repos.d/abc.repo。windows
在新建的yum倉庫中輸入以下圖所示的內容,wq保存並退出。瀏覽器
若是要查看yum倉庫是否安裝成功,可使用yum list,若是成功這裏面的安裝包文件會不少不少。ide
下面就是使用yum install來安裝gcc的編譯語言環境軟件包。網站
而後使用yum install安裝gcc-c++編譯語言環境。spa
接着使用rpm -q檢查make源代碼編譯軟件是否安裝。再使用rpm安裝pcre-devel軟件包也是必須(固然在這以前須要掛載光盤)。
而後切換到安裝目錄/opt/http-2.4.2目錄下查看configure配置文件,肯定有這個文件以後,在此目錄下完成源代碼的配置工做。以下圖所示。
完成配置之後,執行make進行編譯,把配置完成的源代碼轉換爲可執行的程序的一個過程。
而後make install完成最後的安裝過程,其實也就是複製到目錄預設存放的一個過程(由配置時的--prefix選項指定)。
而後能夠切換的「--prefix」項所指定的安裝目錄下,查看安裝的全部文件目錄,以及全部配置文件、日誌文件都在這裏。
而後使用grep過濾掉以#號開頭的/usr/local/apache/bin/apachectl文件中的註釋條目,重定向配置文件到/etc/init.d/目錄下,做爲系統服務啓動。而後編輯/etc/init.d/目錄中重定向後的配置文件httpd。
在配置文件的開頭添加chkconfig識別配置,以便經過chkconfig進行管理。其中# description:Apache is a World Wide Web server.只是系統服務描述信息。
chkconfig系統服務中,而後使用chkconfig --list httpd查看目前的運行狀態(固然是沒有開啓了),而後使用chkconfig --level 35 httpd on來開啓3、5運行級別的狀態。
再次切換到安裝目錄下。到其中的配置主配置文件中,編輯其中的主配置文件httpd.onf。
設置監聽IPv4的端口「Listen 192.168.100.50:80」去掉前面的註釋信息,把下面的IPv6的監聽用「#Listen 80」註釋掉。
而後查找其中的servername配置參數,格式爲「ServerName 主機名.域名:80」。
固然若是閒上面的路徑太過複雜,配置不方即可以創建一個軟連接,下次進行編輯的時候就不必輸入那麼長的路徑了。
而後就是「service httpd start」開啓httpd的服務,若是沒有報錯信息的話就說明已是OK的了。而後也能夠查看網站的默認首頁,使用命令「cat /usr/local/apache/htdocs/index.html 」,能夠看到HTML的代碼爲<html><body><h1>It works!</h1></body></html>(你應該可以看懂)。
而後關閉linux虛擬機的防火牆功能以及SElinux策略。切換至日誌文件目錄,是爲了等會成功訪問網頁以後進行查看的。
在windows主機的瀏覽器中,輸入linux的IP地址訪問linux網站的內容,可以訪問表示已經OK了。
而後此時查看訪問成功的日誌文件access_log,能夠看到本機訪問linux網站的IP地址信息等。訪問失敗的日誌文件在error_log裏面。
OK實驗到此結束!謝謝你們!請多多支持!