NameVirtualHost не имеет никакого эффекта

34

Как вы думаете, было бы решение моей проблемы?

user@admin:~$ sudo service apache2 restart
sudo: unable to resolve host admin
* Restarting web server apache2                                                
AH00548: NameVirtualHost has no effect and will be removed in the next release
/etc/apache2/ports.conf:8
Алекс
источник

Ответы:

48

Из документации Apache:

До 2.3.11 NameVirtualHost должен был указывать серверу, что конкретный IP-адрес и комбинация портов могут использоваться в качестве виртуального хоста на основе имени. В 2.3.11 и более поздних версиях каждый раз, когда комбинация IP-адреса и порта используется в нескольких виртуальных хостах, виртуальный хостинг на основе имени автоматически включается для этого адреса.

Эта директива в настоящее время не имеет никакого эффекта.

Решением вашей проблемы является удаление директивы NameVirtualHost.

quadruplebucky
источник
36
После обновления я столкнулся с тем же сообщением об ошибке, но простого удаления NameVirtualHostдирективы оказалось недостаточно, чтобы заставить Apache снова работать на меня. Каждый запрос обрабатывается vhost по умолчанию, независимо от IP-адреса и заголовка хоста. Оказывается, что-то еще изменилось во время обновления. Старые apache2.confразрешенные vhosts, чье имя не заканчивалось .conf, новые конфиги молча игнорировали всех таких vhosts. Хотел оставить здесь этот комментарий, так что, надеюсь, следующему человеку не придется тратить на него столько времени, как я.
Касперд
6
не забудьте изменить свои настройки после удаления NameVirtualHost, чтобы у вас было: <VirtualHost *: 80>
OnePablo
1
Как продолжение комментария Касперда, файлы .conf на доступных сайтах нуждаются в расширении .conf. Я наткнулся на эту тему при обновлении с Apache 2.2 до 2.4. linode.com/docs/security/upgrading/...
wruckie