Перенаправление сервера на первый сайт

Я безуспешно пытался настроить Ubuntu Desktop 32bit в Virtualbox как виртуальный хост на основе имени. IP-адрес виртуального хоста - 192.168.0.105.

Корнями документа являются /var/www/example1.com/public_html/index.html и /var/www/example2.com/public_html/index.html

Файлы конфигурации: /etc/apache2/sites-available/example1.com.conf и /etc/apache2/sites-available/example2.com.conf

Содержимое example1.com.conf

<VirtualHost *:80>
    ServerAdmin webmaster@example1.com
    ServerName example1.com
    ServerAlias www.example1.com
    DocumentRoot /var/www/example1.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Содержание example2.com.conf

<VirtualHost *:80>
    ServerAdmin webmaster@example2.com
    ServerName example2.com
    ServerAlias www.example2.com
    DocumentRoot /var/www/example2.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Содержание /etc/hosts

192.168.0.105 example1.com
192.168.0.105 example2.com

Я отключил файлы конфигурации по умолчанию, использующие a2dissite и включающие example1.com.conf и example2.com.conf, использующие a2ensite, а затем перезагруженные apache2.

Всякий раз, когда я набираю example2.com или example1.com, браузер не выводит меня на настроенный веб-сайт, но когда я набираю IP-адрес сервера, он работает, но направляется только на example1.com. Любая помощь в этом отношении будет глубоко уважаться и высоко ценится.

2
задан 12 May 2018 в 20:45

1 ответ

Ваша конфигурация выглядит хорошей. Я предполагаю, что Вы не вышли a2ensite:

Каталог /etc/apache2/sites-available просто содержит (набор) доступные сайты. Чтобы на самом деле включить им, необходимо работать

a2ensite example1.com.conf
a2ensite example2.com.conf
systemctl reload apache2

Первые две команды делают не что иное как создающий символьные ссылки в /etc/apache2/sites-enabled каталог, которые указывают на соответствующие файлы в sites-available каталог:

root@myhost:/etc/apache2# ll sites-enabled/
...
lrwxrwxrwx 1 root root   35 Mär  9 19:06 000-default.conf -> ../sites-available/000-default.conf
lrwxrwxrwx 1 root root   35 Mär 18 16:48 example1.com.conf -> ../sites-available/example1.com.conf
lrwxrwxrwx 1 root root   35 Mär 18 16:48 example2.com.conf -> ../sites-available/example2.com.conf

Apache читает файлы в /etc/apache2/sites-enabled и игнорирует /etc/apache2/sites-available. Общее представление:

  1. вставьте все свои виртуальные конфигурационные файлы хоста sites-available
  2. включите их или от использования a2ensite $config_file или a2dissite $config_file.

Обратите внимание, что автозавершение обычно работает, т.е. a2ensite exTABTAB перечисляет доступные конфигурации, запускающиеся с ex.

После a2ensite или a2dissite необходимо сделать апача, знающего об этом путем издания systemctl reload apache2. Команды скажут Вам что-то тому эффекту.

0
ответ дан 2 December 2019 в 07:36

Другие вопросы по тегам:

Похожие вопросы: