it-swarm-ru.tech

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.

162
user1220351

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

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
87
Paul Stengel

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

ServerName localhost

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

203
riegersn

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

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

Sudo nano /etc/Apache2/httpd.conf

Добавить: ServerName localhost

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

Sudo /etc/init.d/Apache2 restart
61
rizon

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

Предполагая, что мой сервер 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.

10
user2416772

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

8
Spider

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

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

apachectl -t -D DUMP_INCLUDES

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

ServerName localhost

Затем перезапустите ваш Apache с помощью: Sudo apachectl restart

4
kenorb

В файле Apache httpd.conf:

ServerName: 127.0.0.1
3
user1992487

Есть два способа устранить эту ошибку:

  1. Include /etc/Apache2/httpd.conf

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

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

    ServerName localhost

2
Jimit Shah

В некоторых случаях я разрешал полное доменное имя, добавляя имя моего сервера в файл /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, сообщение исчезнет.

0
John Creamer

Большинство ответов предлагают просто добавить ServerName localhost к /etc/Apache2/Apache2.conf.

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

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

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

192.0.2.0  foobar.example.com  foobar

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

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

hostname -A

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

0
Skippy le Grand Gourou