Я собираюсь сделать некоторые предположения здесь:
- Вы используете Apache
- Вы уже настроили свой домен так, чтобы на
drupalsite.com
и test.drupalsite.com
были записи A, указывающие на IP-адрес вашего экземпляра EC2.
Теперь вы, вероятно, уже настроили свой веб-сервер Apache для обработки VirtualHost 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
.