phpStudy及XAMPP環境下設定多個wordpress站點

2020-09-19 12:04:10

phpStudy和xampp 非常方便的在本地搭建 apache + php + mysql 的偵錯環境,在本地安裝測試 WordPress 等各種部落格、論壇程式非常方便,今天我們來學習如何使用phpStudy及 XAMPP 在本地進行安裝多個網站。

一、網站程式目錄

1、phpStudy環境
網站根目錄,也就是你的wordpress程式放置的目錄 phpStudy/www/
2、xampp環境
網站根目錄,也就是你的wordpress程式放置的目錄 xampp/htdoc/
一般情況下,我們只需要網站程式放到目錄下,然後在瀏覽器裡輸入 ip 地址 http://127.0.0.1/ 或者輸入域名 http://localhost/ 就可以了。但是這樣我們只能使用一個程式,建立一個網站。如果我們想要測試測試不同的程式,比如一個WordPress的網站,一個Discuz!的論壇,再加上一個ShopEx的網店,甚至同時獨立執行多個wordpress網站來製作測試不同的主題等等,我們一般會在一臺主機上搭建一個執行環境,否則你Apache和Musql會執行混亂,解決起來比較麻煩,所以我們很多時候只會選擇一個環境搭建在本機上。

二、網站根目錄下建立資料夾

我們想要在本地安裝兩個測試域名,www.a.tld, www.b.tld, 分別指向到網站根目錄下的 a和 b 資料夾下,tld 是域名,也可以用 a.com, a.net 這樣的頂級域名來代替,這裡使用 tld 主要是為了避免和真實域名衝突。
1、在 phpStudy/www/下建立資料夾a,b兩個資料夾
2、在 xampp/htdoc/下建立資料夾a,b兩個資料夾
我們分別在資料夾a,和b下面建立兩個index.html檔案,分別寫入:

<html>
	<title>Welcome to www.A.tld</title>	
	<body>	
	<h1>Welcome to www.A.tld</h1>		
	</body>	
</html>
<html>
	<title>Welcome to www.B.tld</title>	
	<body>	
	<h1>Welcome to www.B.tld</h1>		
	</body>	
​​​​​​​</html>

三、在 hosts 檔案中設定域名解析

Hosts 檔案儲存在 C:\Windows\System32\drivers\etc 目錄下,無擴充套件名,使用文字編輯器(記事本,emeditor,UltraEdit等)可以開啟編輯;如果是 Windows Vista 或者 Windows 7 ,需要首先使用管理權許可權開啟記事本。
然後,我們在檔案最後面新增兩行域名解析記錄,每行一個域名。前面為ip地址,空間用空格或者製表符隔開,後面是域名:程式碼如下

127.0.0.1  www.a.tld       # www.a.tld
127.0.0.1  www.b.tld       # www.b.tld

三、讓apache 中繫結多個域名,支援多個站點的存取

使用檔案編輯器開啟檔案phpStudy\apache\conf\extra\httpd-vhosts.conf或者 xampp\apache\conf\extra\httpd-vhosts.conf ,在檔案的最後新增如下程式碼

<VirtualHost *:80>
    ServerAdmin postmaster@a.tld
    DocumentRoot "/phpStudy/www/a"
    ServerName www.a.tld
    ErrorLog "logs/www.a.tld-error.log"
    CustomLog "logs/www.a.tld-access.log" common
</VirtualHost> 
<VirtualHost *:80>
    ServerAdmin postmaster@b.tld
    DocumentRoot "/phpStudy/www/b"
    ServerName www.b.tld
    ErrorLog "logs/www.b.tld-error.log"
    CustomLog "logs/www.b.tld-access.log" common
</VirtualHost>

根據你測試用的環境更改DocumentRoot 後的目錄,上面很明顯是phpStudy環境,如果是xampp環境,改成DocumentRoot "/xampp/htdoc/a"

四、引入了 vhosts 虛擬主機組態檔

這是非常重要的一步!!!
開啟xampp\apache\conf\httpd.conf檔案,搜尋 「Include conf/extra/httpd-vhosts.conf」,去掉前面的 # 註釋符,也就是確保引入了 vhosts 虛擬主機組態檔httpd-vhosts.conf 。

五、重新啟動 Apache 測試驗證多域名

重新啟動 apache 服務,重新開啟瀏覽器。並在瀏覽器中分別輸入 http://www.a.tld 和 http://www.b.tld 驗證是否成功。

六、Apache多站點設定的另一簡便方法

1、首先開啟Apache安裝目錄下 conf/httpd.conf 檔案,找到下面兩行文字,把最前面的 # 號去掉,然後儲存。目的是讓Apache在啟動時能載入虛擬主機模組

#LoadModule vhost_alias_module modules/mod_vhost_alias.so
​​​​​​​ #Include conf/extra/httpd-vhosts.conf

2、接著找到同一檔案httpd.conf中的 DocumentRoot (在第180行左右)和 Directory (在第207行左右),改為站點目錄的上一級目錄例如站點放在 d:/xampp/htdocs/a 和d:/xampp/htdocs/b,d:/xampp/htdocs/c,則改為以下形式

DocumentRoot " d:/xampp/htdocs"
<Directory " d:/xampp/htdocs">
3、設定完成後即可開啟Apache安裝目錄下 /conf/extra/httpd-vhosts.conf 虛擬主機組態檔
<VirtualHost *:80>
    DocumentRoot "d:/xampp/htdocs/a"
    ServerName www.a.tld
    ServerAlias 127.0.0.1	
</VirtualHost>  
<VirtualHost *:80>
    DocumentRoot "d:/xampp/htdocs/b"
    ServerName www.b.tld
    ServerAlias 127.0.0.2
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "d:/xampp/htdocs/c"
    ServerName www.c.tld
    ServerAlias 127.0.0.3
</VirtualHost>

4、在 hosts 檔案中設定域名解析
Hosts 檔案儲存在 C:\Windows\System32\drivers\etc 目錄下,檔案最後輸入

127.0.0.1  www.a.tld       # www.a.tld
127.0.0.2  www.b.tld       # www.b.tld
127.0.0.3  www.c.tld       # www.c.tld

5、重新啟動Apache服務
這樣我們可以用 http://127.0.0.1/ , http://127.0.0.2 ,http://127.0.0.3來存取我們的多站點,也可以用 http://www.a.tld ;www.b.tld ;www.c.tld域名來存取,非常方便,讓後可以在不同的資料夾裡安裝我們的wordpress。

七、有關phpStudy及XAMPP環境設定建議你閱讀

1、phpStudy 2016 (支援PHP7)讓天下沒有難配的php環境
2、XAMPP最流行的PHP開發環境|511遇見強烈推薦

參考原文文章:


▪ WordPress函數:comment_form( )個性化評論表單多種方法

▪ WordPress最簡潔的主題iDevise主題

▪ wordpress的pingback被惡意利用的幾點建議

▪ wordpress呼叫置頂文章顯示置頂數量的三種方法

▪ Wordpress單頁以分類形式顯示文章列表