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