Apache Main Settings - andyceo/documentation GitHub Wiki
На этой странице вы найдете описание самых важных (и менее важных) директив Apache.
-
ServerName. Эта директива может быть как на уровне настройки сервера, так и на уровне . Сейчас нас интересует уровень сервера. На уровне самого сервера, она определяет доменное имя (или IP) компьютера, на котором запускается Apache. Т.е. какое доменное имя использовать Apache`у самому по себе, когда еще не задан ни один виртуальный хост.
Директива нужна, чтобы настроить Apache на использование нужного нам доменного имени.
Многие, наверняка встречались со следующей мозолящей глаза ошибкой:
andyceo@dellicious:/etc/apache2$ sudo service apache2 restart * Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName ... waiting ..apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ]
Здесь нужно знать о FQDN. FQDN - это Fully Qualified Domain Name, "полностью определённое имя домена", иногда сокращается до "полное имя домена" - имя домена, не имеющее неоднозначностей в определении. Применительно к
Apache
, когда он стартует, то пытается определить, какой домен у компьютера, на котором он запускается, и делает это черезfallback DNS resolve
. Если он не может этого определить, то возникает вышеуказанная ошибка и Apache использует IP-адрес в качестве своего ServerName.Хорошую дискуссию об этой директиве и ошибке, вызываемой некорректным ее заданием на уровне сервера, ней можно почитать тут.
Ну а теперь главное. Т.к. мы настраиваем Apache в качестве бекенда, то он не должен принимать запросы извне вообще, и следовательно, не должен откликаться на FQDN компьютера. Чтобы этого достичь, в файле конфигурации Apache ''/etc/apache2/httpd.conf'' в самом начале прописываем:
ServerName localhost:8080
Теперь эта директива задана корректно, а за то, чтобы Apache никуда не смотрел и ничего более не слушал, кроме localhost, как раз отвечает следующая рассматриваемая нами директива NameVirtualHost.
-
NameVirtualHost @todo: описание директивы