У мене кілька сайтів налаштовано як VirtualHosts з використанням Apache, які деякий час працюють добре. Нещодавно я змінив ім'я хоста сервера на одне з доменних імен, яке обслуговувалося, а також додав його до / etc / hosts, що вказує на зовнішню IP-адресу сервера.
Оскільки я це зробив, доступ до домену зі свого ноутбука переводить мене за замовчуванням Apache "Це працює!" сторінки. Якщо я видаляю 000-типовий з / etc / apache2 / включених сайтів /, він відображає правильний сайт. Спроба зайти на сайт за допомогою "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>
Підводячи підсумок: у мене встановлено кілька VirtualHosts, і це єдиний, який не працює належним чином. Я можу отримати доступ до 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