(1)httpd.conf的配置php
使用文本編輯工具(推薦使用Editplus、UltraEdit等工具),打開httpd.conf。html
其中,行首爲#的部分爲註釋部分,不會被apache服務器程序進行讀取和執行,沒有#部分爲正式配置部分,會被服務器讀取並運行。apache
首先爲上圖中的「Define SRVROOT "/Apache24"」,此處爲服務器的根目錄,應根據你的實際配置進行修改,前文所述,咱們將apache的目錄apache24放置於C盤的根目錄下了,所以,此處應該爲爲「Define SRVROOT "C:/Apache24"」,以下圖windows
(約67行),此行數根據apache具體版本不一樣,可能區別,但順序一致,下同)咱們向下閱讀該配置文件,,有一處瀏覽器
這是配置apache的服務器監聽端口,按照HTTP協議,默認端口就是80。所以,此處如無特殊須要,不需修改。注意:有關網絡協議和端口相關知識,有興趣的讀者能夠參考計算機網絡相關書籍,這裏不作詳細介紹。安全
(約190行左右)再向下閱讀此配置文件,是有關加載哪些動態庫對象部分,此處先安裝默認便可。可是,在動態庫對象最後,咱們要加入對php的支持,由於php解析器自己也是一個動態庫對象。服務器
在最後一行「#LoadModule」的後面加入下面的代碼:微信
# php7 support LoadModule php7_module "D:/php7/php7apache2_4.dll" AddType application/x-httpd-php .php .html .htm # configure the path to php.ini PHPIniDir "D:/php7"
這裏,咱們使用的是php7.4.15(下載地址:https://windows.php.net/download#php-7.4-nts-vc15-x64),該php庫與apache服務器所依賴的運行庫均爲VC15(VS2017),沒必要重複安裝運行庫。截至目前,php的最高版本爲8.0,依賴運行庫爲VS2017/2019,讀者們也能夠下載使用,配置方法與此相同,這裏的庫文件和ini路徑按照php實際存放路徑仿照上述填寫便可。網絡
有關php7配置、特性細節,咱們下一個小節進行描述。php7
(約223行左右)再向下看該配置文件,配置管理員郵箱,apache服務器遇到錯誤時,會向用戶顯示錯誤頁面,上面會有管理員的郵箱地址,這個地方改成你的郵箱,有助於用戶將錯誤信息及時經過郵件發給你(固然不改也能夠,不影響使用)。
(約232行左右)向下看配置文件,此處須要配置服務器名和端口,服務器名是服務器識別自身的一個屬性,須要根據實際狀況進行配置,若是你前面已經申請了域名,你可使用域名+端口的形式進行配置,若是沒有域名,須要使用IP地址+端口的形式配置。
(約240行左右)此處開始配置網站目錄,首先,這裏給出了一個所有權限禁止訪問的目錄配置,並且說明了,你須要在其餘目錄明確的寫出該目錄可被訪問的權限。這是一個安全配置,即先禁用所有,而後按照須要逐個放開權限,此處無需修改。
(約256行)此處爲網站根目錄及其訪問權限配置,按下圖配置便可。
若是還有其餘目錄,好比虛擬主機中另外端口對應其餘目錄,對那個目錄也須要按上述方法配置權限。(不配置權限也能夠在虛擬主機中使用,但可能因爲權限太大,致使不可預料的安全問題。)有關此處配置的詳細詳細,讀者能夠參考apache相應文檔,此處再也不贅述。
(約289行)此處是配置apache服務器默認執行文件,即若是用戶直接經過瀏覽器輸入一個路徑,而不指定具體的訪問文件,apache應該解析該路徑下的哪一個文件呢?
下面兩個配置是客戶端沒法顯示*.ht*文件以及錯誤日誌輸入路徑,按其配置便可(此處注意,若是在虛擬主機配置中配置了錯誤日誌輸出文件,則此處對虛擬主機無效,按虛擬主機配置執行)。
(約482行以前)這部分配置主要是錯誤級別配置、外部路徑訪問權限配置、壓縮文件的支持、錯誤頁面的自定義等,這些保持默認配置便可,並不影響本文所討論的應用。
(約482行)從這裏開始,爲apache服務器加強能力配置,配置這部份內容,須要配合conf/extra/目錄中其餘文件配置。咱們在此處須要爲配置兩個重要的能力:虛擬主機能力和SSL安全連接能力。(此處不作配置,apache服務器運行http協議已經沒有問題了)。
虛擬主機主要是解決一個apache服務器運行多個網站的問題,這些網站(即多個網站空間路徑)可使用不一樣端口、不一樣地址、不一樣的域名,咱們這裏使用的不一樣的端口。
(約509行)虛擬主機須要加強能力httpd-vhosts的支持,以下圖,將httpd-vhosts打開。
虛擬主機文件conf/extra/httpd-vhosts.conf文件的配置本文下面再作詳細介紹。
(約525行)這裏是這部分要詳細介紹的SSL安全連接加強能力的支持。在微信服務號開發中,尤爲是自定義菜單的連接,不少時候是須要安全連接的(也就是https連接),所以,這部分是必需要配置的。
請在此處加入下列配置代碼,完成SSL能力配置,關於conf/extra/httpd-ssl.conf有關設置細節,在本文後面會有詳細描述。
<IfModule ssl_module> Include conf/extra/httpd-ssl.conf SSLRandomSeed startup builtin SSLRandomSeed connect builtin </IfModule> <IfModule http2_module> ProtocolsHonorOrder On Protocols h2 h2c http/1.1 </IfModule> <IfModule mod_headers.c> Header set Access-Control-Allow-Origin: "*" Header set Access-Control-Allow-Methods: "GET,POST,PUT,DELETE,OPTIONS" Header set Access-Control-Allow-Headers: "Content-Type" </IfModule>
該文件最後是關於Fast-CGI的配置,按照默認配置便可,至此,httpd.conf文件講解和配置完成!
小結:本章詳細描述了httpd.conf文件的組成和配置過程,之因此描述的如此詳細,就是由於這個文件過重要了,它是apache服務器最重要的配置文件,沒有之一!不少apache服務器出現問題,甚至安全問題,都與該文件配置問題相關。本書既然面向0基礎的讀者,有必要對這個文件進行詳細描述,請讀者務必數量掌握該文件的配置和重要屬性的意義,後期網站出現問題時,可能須要今後處着手排除問題。
(2)extra/httpd-vhosts.conf的配置
extra/httpd-vhosts.conf是apache服務器的加強配置,主要用於配置多個網站空間時,虛擬主機的配置方案。要使extra/httpd-vhosts.conf生效,在前文中說起的httpd.conf必須解除Include conf/extra/httpd-vhosts.conf註釋,使其生效。
(若是讀者的網站至運行一個網站空間,則沒必要接觸Include conf/extra/httpd-vhosts.conf註釋,extra/httpd-vhosts.conf也無需配置也是能夠的)
這裏咱們看一下extra/httpd-vhosts.conf文件的具體內容。
上圖中是一個實體服務器上配置兩個虛擬主機的例子,按照端口(一個是80端口-默認,一個是5094端口-自定義)不一樣進行分別配置,在每個虛擬主機中寫明各自的根目錄地址,其餘信息按照實際填寫便可。
(3)extra/httpd-ssl.conf的配置
SSL做爲安全連接傳輸協議,在微信服務號設置時,常常須要用到的。咱們將網站配置成爲SSL連接,有利於加強數據傳輸的安全性,這在敏感數據傳輸時尤其重要。
SSL也是apache服務器加強功能之一,在extra/httpd-ssl.conf進行配置。配置前,需在httpd.conf中打開Include conf/extra/httpd-ssl.conf。
咱們下面詳細介紹下extra/httpd-ssl.conf。
(約37行)這裏是SSL連接默認的監聽端口,按照協議要求,默認是443端口,這裏無需修改。
(約63行開始)這個配置文件剩下部分是對SSL虛擬主機的配置,與上一個部分虛擬主機的配置相同,根目錄、主機名稱、錯誤日誌、運行日誌的路徑是須要配置的,以下
(約74行)打開SSL引擎。
以上配置結束後,其他默認配置便可,你的https網站就能夠訪問了,但訪問時瀏覽器會出現下列提示:
從英文的錯誤能夠看出,是無效的受權證書錯誤,所以,咱們必須還要配置正確的證書。
證書的獲取,能夠從騰訊雲控制檯來獲取,具體爲「雲產品」中,「域名與網站」中選擇「SSL證書」。
在「SSL證書」界面選擇切換到「個人證書」,選擇「申請免費證書」。
下面是最重要的三個文件路徑的配置,這
彈出的界面中,選擇默認的「亞洲誠信」的免費證書便可,而後點擊肯定。
分步驟填寫必要的信息。
驗證成功後,在「個人證書」界面,能夠查看已申請完成的證書。
點擊已經申請完成的證書後面的「下載」將證書下載至本地。下載至本地的文件是一個以網站域名命名的zip壓縮文件,將該文件解壓後獲得1個文本文件和4個文件夾,咱們用的是apache服務器,因此咱們要使用apache文件夾下的3個證書相關文件進行部署。
將這3個文件放置於服務器中的某個文件路徑下,如放置於「C:/MyPHPSite/conf-on1BsW6mX0d/」路徑(路徑名由讀者自定義,在配置文件下一致便可)下,
則
(約94行)將SSL證書文件的路徑寫成
(約104行)將SSL密鑰文件的路徑寫成
(約116行)將CA認證文件的路徑寫成
最後,對網站路徑訪問權限進行配置
(約182行)
此處配置與前述httpd.conf中相應配置相同,請參考本文上述內容。
該配置文件其他部分,從其默認配置便可,至此,文件配置完成。
上述文件配置完成後,在服務器端瀏覽器中,輸入http://127.0.0.1或 https://127.0.0.1 能夠訪問C:\MyPHPSite\ 下的網頁index.php。
本章小結:請熟練掌握apache的配置文件和配置方法,尤爲是根目錄、訪問權限、虛擬主機、安全連接等的定義和配置技巧,從某種程度上來說,這並不比編寫程序要簡單。咱們不但要會使用工具,咱們也要熟悉咱們的工具,常見的工具問題,咱們應能及時排除,這就是咱們花很大篇幅來介紹apache相關配置的意義所在!