httpd: не удалось надежно определить полное доменное имя сервера, используя 127.0.0.1 для ServerName - PullRequest
163 голосов
/ 03 марта 2012

Я попытался перезапустить свой сервер 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.

Ответы [ 10 ]

204 голосов
/ 26 ноября 2012

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

ServerName localhost

Затем перезапуститеapache2 сервис.

88 голосов
/ 03 марта 2012

Ваш файл hosts не содержит действительного полного доменного имени, а localhost не является полным доменным именем.Полное доменное имя должно включать часть имени хоста, а также часть имени домена.Например, приведенное ниже действительное полное доменное имя:

host.server4-245.com

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

/ etc / hosts:

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
61 голосов
/ 12 ноября 2012

После первоначальной установки сервера 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
10 голосов
/ 24 мая 2013

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

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

.
  1. Редактирование файла 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
    
  2. Изменить httpd.conf

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  3. Редактировать сеть

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

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

    $ sudo /etc/init.d/apache2 restart
    

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

8 голосов
/ 28 марта 2012

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

также задан комбо name / ip.
5 голосов
/ 04 декабря 2017

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

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

apachectl -t -D DUMP_INCLUDES

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

ServerName localhost

Затем перезапустите ваш Apache: sudo apachectl restart

3 голосов
/ 28 января 2013

В файле Apache httpd.conf:

ServerName: 127.0.0.1
2 голосов
/ 07 июля 2014

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

  1. Include /etc/apache2/httpd.conf

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

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

    ServerName localhost

0 голосов
/ 12 мая 2017

Большинство ответов предлагают просто добавить 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).

0 голосов
/ 11 мая 2015

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...