Назад | Перейти на главную страницу

Попытка создать поддомен с Apache2

Я использую 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