
我正在使用 EC2 Linux 執行個體來執行 drupal 7 網站。
我計劃為生產網站(drupalsite.com)配備一台伺服器。
如何設定 EC2 Linux 執行個體來託管具有兩個不同 URL(dev.drupalsite.com 和 test.drupalsite.com)的測試和開發環境?
答案1
我將在這裡做出一些假設:
- 您正在運行 Apache
- 您已經設定了網域,以便A 記錄
drupalsite.com
和test.drupalsite.com
A 記錄都指向您的 EC2 執行個體的 IP 位址。
現在您可能已經設定了 Apache Web 伺服器來處理虛擬主機 drupalsite.com
,例如/etc/apache2/sites-available/default
,或類似Drupal.com 上的文檔:
<VirtualHost *:80>
ServerName drupalsite.com
DocumentRoot /var/www/drupal-production/
<Directory /var/www/drupal-production/>
Options +FollowSymLinks Indexes
AllowOverride All
order allow,deny
allow from all
</Directory>
</VirtualHost>
現在,您需要建立第二個僅對應到子網域的 VirtualHost:
<VirtualHost *:80>
ServerName test.drupalsite.com
DocumentRoot /var/www/drupal-test/
<Directory /var/www/drupal-test/>
Options +FollowSymLinks Indexes
AllowOverride All
order allow,deny
allow from all
</Directory>
</VirtualHost>
將其保存在您的 Apache 設定檔中並運行/etc/init.d/apache2 reload
– 現在任何請求都test.drupalsite.com
將指向另一個目錄。
當然,您應該將 Drupal 執行個體配置為使用生產伺服器以外的其他資料庫。保護測試安裝免受未經授權的用戶和搜尋引擎的存取也是很好的。一個.htpasswd
鎖我想到的,或是基於 IP 位址的限制,使用mod_access
指令。