У меня есть несколько сайтов, настроенных как VirtualHosts с использованием Apache, которые какое-то время работали нормально. Недавно я изменил имя хоста сервера на одно из обслуживаемых доменных имен, а также добавил его в / etc / hosts, указывая на внешний IP-адрес сервера.
Поскольку я это сделал, доступ к домену с моего ноутбука приводит меня к настройке Apache по умолчанию «Это работает!» стр. Если я удаляю 000-default из / etc / apache2 / sites-enabled /, он отображает правильный сайт. Попытка получить доступ к сайту с помощью «www.» Префикс выводит меня на правильный сайт, независимо от того, включено ли значение по умолчанию 000 для сайтов.
Исходя из всего этого, я предполагаю, что конфигурация по умолчанию обслуживает страницу по умолчанию из-за того, как я настроил имя хоста или / etc / hosts (или оба), но я не могу понять, как это отключить, пока оставив эти настройки как есть. Любые предложения приветствуются!
Редактировать - моя текущая конфигурация VirtualHost выглядит следующим образом:
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
ServerAdmin me@domain.com
DocumentRoot /srv/www/domain
ErrorLog /srv/www/domain/logs/error.log
CustomLog /srv/www/domain/logs/access.log combined
</VirtualHost>
Подводя итог: у меня настроено несколько виртуальных хостов, и это единственный, который не работает должным образом. Я могу получить доступ к http://www.domain.com просто отлично, но http://domain.com приводит меня к настройкам Apache по умолчанию "Это работает!" стр. Если я отключаю конфигурацию по умолчанию 000, она показывает правильную страницу. Это начало происходить только после того, как я установил имя хоста сервера на domain.com и добавил строку в / etc / hosts, указывающую domain.com на внешний IP-адрес сервера. Я бы хотел оставить это так, если это возможно.
Изменить: я побежал, apache2ctl -S
так как /usr/sbin/apache2 -S
дал мне «apache2: плохое имя пользователя $ {APACHE_RUN_USER}». Вот вывод:
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost other.com (/etc/apache2/sites-enabled/other:1)
port 80 namevhost another.com (/etc/apache2/sites-enabled/another:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
Syntax OK