Я использую Ubuntu 10.04 и Apache2.2 на Linode VPS - я пытаюсь создать субдомен sub.mysite.com для mysite.com. Я добавил эту запись в / etc / apache2 / sites-enabled:
<VirtualHost *:80>
ServerAdmin email@gmail.com
ServerName mysite.com
ServerAlias sub.mysite.com
DocumentRoot /srv/www/sub.mysite.com/public_html/
ErrorLog /srv/www/sub.mysite.com/logs/error.log
CustomLog /srv/www/sub.mysite.com/logs/access.log combined
</VirtualHost>
и эту строку в / etc / hosts:
127.0.0.1 sub.mysite.com
и создал файл зоны DNS, указывающий на sub.mysite.com ...
Я могу успешно проверить связь с sub.mysite.com, но не могу загрузить index.html в моем браузере ...
Любые идеи?
Поскольку вы используете виртуальные хосты, убедитесь, что вы поместили этот контейнер поддомена ПЕРЕД вашим основным контейнером виртуального хоста. То, что приходит первым, превосходит все, что будет после, поэтому, если ваш файл выглядит так, он не сработает:
<virtualHost *:80>
{snip}
ServerAlias *.mysite.com
DocumentRoot /srv/www/mysite.com/public_html/
{snip}
</virtualHost>
<VirtualHost *:80>
{snip}
ServerAlias sub.mysite.com
DocumentRoot /srv/www/sub.mysite.com/public_html/
{snip}
</VirtualHost>
Есть смысл? Вы должны перевернуть их, чтобы второй контейнер VirtualHost в моем примере был первым. Если проблема не в этом, и вы уже это сделали, проверьте журнал ошибок Apache (на самом деле, это должно быть вашим первым шагом, в любом случае).
Также убедитесь, что права доступа к файлам верны.
Убедитесь, что у вас есть NameVirtualHost *:80
где-нибудь в ваших файлах конфигурации. Debian добавляет его в конфигурацию по умолчанию в файл /etc/apache2/ports.conf
(Я предполагаю, что Ubuntu делает то же самое). Затем отладьте конфигурацию vhost с помощью apache2ctl -S
как root, он даст вам список правильно настроенные виртуальные хосты. Результат должен быть похож на этот
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server usually-default-hostname (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost sub.mysite.com (/etc/apache2/sites-enabled/your-config:1)
Если ваш виртуальный хост не указан здесь, поэтому вы не можете его просматривать (убедитесь, что вы перезагрузили конфигурацию apache с помощью /etc/init.d/apache2 reload
перед просмотром).
Видеть Вот для получения полных инструкций по настройке vhosts в apache под Debian / Ubuntu