Httpd: Не удалось достоверно определить полное доменное имя сервера, используя 127.0.0.1 для ServerName

Я попытался перезапустить мой сервер Apache на CentOS 5.0 и получил это сообщение:

httpd: Не удалось достоверно определить полное доменное имя сервера, используя 127.0.0.1 для ServerName

Вот файл /etc/hosts:

127.0.0.1    server4-245    server4-245.com    localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6

Вот файл /etc/sysconfig/network:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

У меня также есть это в файле Apache httpd.conf:

ServerName localhost

Тем не менее, я все еще получаю первое сообщение об ошибке при перезапуске Apache.

Ответ 1

В файле ваших хостов не указано допустимое полное доменное имя, а также localhost полное доменное имя. FQDN должно содержать часть имени хоста, а также часть имени домена. Например, следующее допустимое полное доменное имя:

host.server4-245.com

Выберите полное доменное имя и включите его как в свой /etc/hosts файл на обоих адресах IPv4 и IPv6, которые вы используете (в вашем случае, localhost или 127.0.0.1), и измените свой ServerName в своей конфигурации httpd для соответствия.

/и т.д./хостов:

127.0.0.1    localhost.localdomain localhost host.server4-245.com
::1          localhost.localdomain localhost host.server4-245.com

httpd.conf:

ServerName host.server4-245.com

Ответ 2

Если у вас нет httpd.conf в папке /etc/apache2, вы должны иметь apache2.conf - просто добавьте:

Имя_сервера localhost

Затем перезапустите службу apache2.

Ответ 3

После начальной установки сервера Apache я получил следующую ошибку при перезапуске службы Apache на Ubuntu 12.04 (Precise Pangolin)

Решение действительно просто. Просто добавьте директиву ServerName в /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Добавить: ServerName localhost

Наконец, перезапустите сервер Apache:

sudo /etc/init.d/apache2 restart

Ответ 4

Таким образом, хотя на это дан ответ и принят, он по-прежнему стал лучшим результатом поиска, и ответы, которые были изложены (после многих исследований), оставили меня почесывать голову и копать намного дальше. Итак, вот краткое описание того, как я решил проблему.

Предполагая, что мой сервер - myserver.myhome.com, а мой статический IP-адрес - 192.168.1.150:

  • Отредактируйте файл hosts

    $ sudo nano -w /etc/hosts
    
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    
    127.0.0.1 myserver.myhome.com myserver
    
    192.168.1.150 myserver.myhome.com myserver
    
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    ::1 myserver.myhome.com myserver
    
  • Изменить httpd.conf

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  • Изменить сеть

    $ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
    
  • Проверка

    $ hostname
    
    (output) myserver.myhome.com
    
    $ hostname -f
    
    (output) myserver.myhome.com
    
  • Перезапуск Apache

    $ sudo /etc/init.d/apache2 restart
    

Похоже, что разница включала в себя myserver.myhome.com как 127.0.0.1, так и статический IP-адрес 192.168.1.150 в файле hosts. То же самое на сервере Ubuntu и CentOS.

Ответ 5

В httpd.conf найдите "ServerName". Он обычно комментируется по умолчанию на Mac. Просто раскомментируйте его и заполните его. Убедитесь, что у вас также есть имя /ip combo, установленное в/etc/hosts.

Ответ 6

В файле Apache httpd.conf:

ServerName: 127.0.0.1

Ответ 7

Существует два способа устранения этой ошибки:

  • Include /etc/apache2/httpd.conf

    Добавьте вышеприведенную строку в файл /etc/apache2/apache2.conf

  • Добавьте эту строку в конец файла /etc/apache2/apache2.conf:

    Имя_сервера localhost

Ответ 8

Я разрешил полное доменное имя в разных случаях, добавив свое имя хоста сервера в файл /etc/apache 2/httpd.conf и в файл /etc/apache2/apache2.conf.

Введите hostname -f в свой терминал. Этот запрос вернет ваше имя хоста.

Затем отредактируйте файл /etc/apache2/httpd.conf (или создайте его, если он не существует по какой-либо причине) и добавьте ServerName <your_hostname>.

В качестве альтернативы я также смог удалить сообщение, добавив ServerName <your_hostname> в файл /etc/apache2/apache2.conf.

Если все пойдет хорошо, при перезапуске Apache сообщение исчезнет.

Ответ 9

В большинстве ответов предлагается просто добавить ServerName localhost в /etc/apache2/apache2.conf.

Но цитирование Документация Apache:

Наличие этого сообщения об ошибке также указывает, что Apache httpd не смог получить полностью квалифицированное имя хоста, выполнив обратный поиск на вашем IP-адресе сервера. Хотя приведенные выше инструкции в любом случае избавятся от предупреждения, также рекомендуется исправить ваше разрешение имен, чтобы работать с этим обратным отображением.

Поэтому добавление такой строки в /etc/hosts, вероятно, является более надежным решением:

192.0.2.0  foobar.example.com  foobar

где 192.0.2.0 - статический IP-адрес сервера с именем foobar в домене example.com.

Можно проверить полное доменное имя, например. с

hostname -A

(ярлык для hostname --all-fqdn).

Ответ 10

Убедитесь, что вы редактируете правильный файл httpd.conf, тогда ошибка об ненадежном доменном имени сервера должна исчезнуть (это самая распространенная ошибка).

Чтобы найти конфигурационный файл httpd.conf Apache, запустите:

apachectl -t -D DUMP_INCLUDES

Затем отредактируйте файл и раскомментируйте или измените строку ServerName на:

ServerName localhost

Затем перезапустите apache с помощью: sudo apachectl restart