Я пытаюсь настроить сервер с Kloxo и двумя виртуальными хостами. Они указывают на тот же IP-адрес, но в другой каталог.
Вот конфигурация файлов виртуального хоста. Они находятся в разных файлах и включены в основной файл httpd.conf. NameVirtualHost *: 80 без комментариев.
arturas.conf:
<VirtualHost *:80>
ServerAdmin arturas@duomenucentras.lt
DocumentRoot /home/.sites/_default/web
ServerName arturas.duomenucentras.lt:80
ScriptAlias /cgi-bin/ /home/.sites/_default/cgi-bin/
ErrorLog /home/.sites/_default/logs/error_log
TransferLog /home/.sites/_default/logs/access_log
<Directory /home/.sites/_default/web>
Options FollowSymLinks
Options +Includes +ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
donkapone.conf:
<VirtualHost *:80>
ServerAdmin arturas@duomenucentras.lt
DocumentRoot /home/.sites/donkapone/web
ServerName www.donkapone.duomenucentras.lt:80
ServerAlias donkapone.duomenucentras.lt:80
ScriptAlias /cgi-bin/ /home/.sites/donkapone/cgi-bin
<Directory /home/.sites/donkapone/web>
Options FollowSymLinks
Options +Includes +ExecCGI
AllowOverride All
</Directory>
</VirtualHost>
оба сайта отображают страницу Kloxo по умолчанию как ошибку. Оба поддомена при пинге ping arturas.duomenucentras.lt
Если вы видите эту страницу, это означает, что Интернет не был настроен для этого домена на этом сервере.
Это могло произойти по следующим причинам:
Kloxo еще не перезапустил веб-сервер после добавления домена. Подождите, пока веб-сервер перезагрузится.
Домен указывает на неправильный сервер Kloxo. Выполните эхо-запрос домена и убедитесь, что IP-адрес соответствует одному из IP-адресов, отображаемых в домашней странице администратора -> IP-адреса.
Если вы видите эту страницу, когда пытаетесь получить доступ к IP, например http://192.168.1.1, то это означает, что IP-адрес еще не сопоставлен с доменом. Перейдите на главную страницу клиента -> ipaddresses -> ipaddress home -> domain config и сопоставьте IP-адрес с доменом.
После сопоставления IP-адреса с доменом необходимо убедиться, что домен возвращается к тому же IP-адресу. В противном случае, если вы попытаетесь получить доступ к домену, вы получите эту страницу. Таким образом, IP -> domain.com должен означать, что domain.com проверяет один и тот же IP-адрес.
Я предполагаю, что в этом корень проблем.
Есть идеи, почему это так?
Это очень похоже на стандартную конфигурацию Apache, но я никогда не использовал: 80 в строках ServerName в моем.
Пинг - это нормально, потому что вы используете виртуальные хосты. Это означает, что они используют один и тот же IP-адрес, поэтому, если вы используете стандартную команду unix ping, которая ищет обратный адрес, то она разрешит только одно из имен (обычно).
Apache не интересует обратное имя, только прямое.
: 80 не является частью имени сервера, я бы удалил его из значений ServerName и ServerAlias.
ping не имеет ничего общего с вашей настройкой HTTP, то, что вы видите, фактически является каноническим именем сервера, не беспокойтесь об этом.
Как хорошо задокументировано, виртуальный хост, указанный первым, всегда является хостом по умолчанию когда ни один другой виртуальный хост не соответствует заголовку Host :.
Вы не запрашиваете ServerName или ServerAlias второго виртуального хоста; следовательно, возвращается первый.