У меня есть сервер Ubuntu 12.10 LTS, на котором запущен apache2 с простой установкой wordpress. Я создал виртуальный хост в / etc / apache2 / sites-available и использовал a2ensite для его включения. Два дня все работало нормально.
Сегодня утром я проснулся, чтобы проверить сайт, и оказалось, что виртуальный хост вообще не работает. Он продолжал переходить на сайт по умолчанию в apache2.
Вот мой конфиг:
дефолт
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
виртуальный хост: domain.com
<VirtualHost *:80>
ServerAdmin me@domain.com
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /srv/www/domain.com/public_html/
ErrorLog /srv/www/domain.com/logs/error.log
CustomLog /srv/www/domain.com/logs/access.log combined
</VirtualHost>
Как видите, у меня две отдельные конфиги без конфликтов. Но apache2 продолжает возвращаться к сайту по умолчанию вместо vhost на основе имени. Мой файл / etc / hosts правильный и имеет полное доменное имя и имя хоста, указывающие на общедоступный IP-адрес. Это произошло в одночасье.
Я запустил a2dissite на domain.com, перезагрузил apache2, затем a2ensite на domain.com безрезультатно. В итоге мне пришлось a2dissite конфигурацию по умолчанию. Как только я это сделал, сайт domain.com прекрасно подошел к моему сайту wordpress.
Есть идеи, почему это произошло? Я много лет запускал apache2 и nginx и никогда не испытывал проблем с виртуальным хостингом. Это немного странно. Мне не нужно отключать сайт по умолчанию, чтобы другой мой виртуальный хост работал.
Есть предположения?
Попробуйте добавить
ServerName localhost
в виртуальный хост по умолчанию. Также вы можете временно отключить <Каталог /> раздел с виртуального хоста по умолчанию, он кажется бесполезным.