Apache: [alert] (EAI 8)hostname nor servname provided, or not known

Автор: | 29/08/2012
 

При запуске сервера Apache:

[warn] (2)No such file or directory: Failed to enable the ‘httpready’ Accept Filter

В логе /var/log/httpd-error.log следующая ошибка:

[Wed Aug 29 14:42:57 2012] [alert] (EAI 8)hostname nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of “takashi”

Связана с именем, которое указано в параметре ServerName файла /usr/local/etc/apache22/httpd.conf.

В рассматриваемом примере это имя takashi.setevoy.org.ua.

Вариант исправления номер 1 – отредактировать файл /etc/hosts, добавив в него строку:

127.0.0.1 takashi

Кстати, никто не запрещает вместо имени хоста указать просто его IP:

# If your host doesn’t have a registered DNS name, enter its IP address here.

Т.е., выглядеть строка будет например так:

ServerName 77.120.101.20:80

Вариант номер два – загрузить модуль accf_http. Вручную, без перезапуска всего сервера:

kldload accf_http

Указать загрузку при старте системы – в файл /boot/loader.conf добавить строку:

accf_http_load=”YES”

Проверить его наличие можно командой:

# kldstat -m accf_http
Id  Refs Name
472    1 accf_http

И ещё один вариант – отключить модуль mod_unique_id. Для этого, в файле /usr/local/etc/apache22/httpd.conf закомментируйте строку:

#LoadModule unique_id_module libexec/apache22/mod_unique_id.so

Учтите, что этот модуль может потребоваться для корректной работы других модулей, например – mod_security.