Apache ошибка ah00558

Restarting web server apache2
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1.
Set the 'ServerName' directive globally to suppress this message

I am a newby installing Ubuntu Can someone help on the commands I need to set this up? I already tried vim /etc/apache2/apache2.conf and adding localhost but I am still getting message when I restart Apache2 server.

romainl's user avatar

romainl

184k20 gold badges277 silver badges309 bronze badges

asked Sep 11, 2015 at 6:43

Blurocket9's user avatar

Fast but not so elegant solution:

Navigate to the file — apache2.conf, i would use a terminal, here the steps:

  1. cd /etc/apache2/

    2.vim apache2.conf ( or pluma apache2.conf, if you are not a vi-geek )

  2. Write on the bottom:

    • ServerName localhost
  3. Save the file and restart apache,
    with following commands in the terminal:

    • /etc/init.d/apache2 restart
      You can use some UI or other commands like «service apache2 restart«.

Just for the case, you can make a check, to see ether this directive isn’t just disabled in some of the configuration files:

  • grep -inRH «ServerName » /etc/apache2/ | grep «s#»*

Now the error is gone. You need root-rights for all this steps or use «sudo» instead.

Hope i could help you. Cheers.

answered Feb 11, 2016 at 13:13

Denis Komnenovic's user avatar

Run the following command:

apachectl -t -D DUMP_INCLUDES

to determine path to your httpd.conf configuration file, then edit that file and uncomment (or add) line which should specify value for ServerName option, e.g.

ServerName localhost

For the web server, use the registered DNS name (e.g. example.com).

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

Then restart your Apache as usual, e.g. apachectl graceful.

answered Oct 23, 2017 at 12:25

kenorb's user avatar

kenorbkenorb

153k86 gold badges674 silver badges738 bronze badges

Add below tag in your configuration file and try

ServerName localhost

answered Jun 5, 2020 at 6:46

Ashish Panwar's user avatar

1

Your can use the commands for errors and which services are running.
I’ll try using journalctl -u httpd.service and check if it’s there based on the results. I know this was just a quick example in the localhost case and it works. But we all know that less experienced users can take advice literally and end up with, say, a sub-optimal or dangerous setting. This must always be remembered, therefore use the following: the ServerName directive allows your to use different domain names localhost user-desktop 127.0.0.1 127.0.1.1 without errors for /etc/apache2/apache2.conf after the line # vim: syntax=apache ts=4 sw=4 sts=4 sr noet at the end of the file.

sudo journalctl -u apache2.service --since today --no-pager
sudo journalctl -u httpd.service --since today --no-pager
sudo systemctl status apache2.service -l --no-pager
sudo systemctl status httpd.service -l --no-pager
sudo tail -10 /var/log/apache2/access.log
sudo tail -10 /var/log/apache2/error.log

answered Jan 9, 2022 at 21:31

Fithe_Xanki's user avatar

26 сентября, 2020 12:02 пп
27 856 views
| Комментариев нет

LAMP Stack

Эта серия мануалов поможет вам предотвратить или устранить самые распространенные ошибки, которые возникают при работе с веб-сервером Apache.

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

Ошибка конфигурации Apache «AH00558: Could not reliably determine the server’s fully qualified domain name» возникает, когда в настройках Apache нет глобальной директивы ServerName. Сообщение в основном предназначено для информирования, и сама по себе ошибка AH00558 не помешает правильной работе Apache.

В этом мануале вы узнаете, как применить алгоритм, описанный в руководстве Устранение общих ошибок Apache, чтобы обнаружить AH00558. Мы также поможем вам установить директиву ServerName, чтобы устранить эту ошибку.

Примечание: Если вы уже определили, что на вашем сервере Apache появляется ошибка AH00558, вы можете пропустить разделы по поиску неполадок и сразу перейти к последнему разделу этого мануала, чтобы установить глобальную директиву ServerName.

Поиск ошибки с помощью systemctl

Первый шаг при устранении AH00558 – это проверить статус Apache с помощью systemctl. Вывод systemctl часто содержит всю информацию, необходимую для исправления ошибки.

В дистрибутивах Ubuntu и Debian запустите следующую команду, чтобы проверить статус Apache:

sudo systemctl status apache2.service -l --no-pager

В CentOS, Fedora и других системах, производных от RedHat, используйте эту команду:

sudo systemctl status httpd.service -l --no-pager

Флаг -l выводит все содержимое строки без сокращений (без замены длинных строк многоточием (…)). Флаг –no-pager выводит весь лог на ваш экран, не вызывая инструмент less, который показывает только один экран контента за раз.

Вы должны получить такой вывод:

apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Wed 2020-07-29 14:30:03 UTC; 33min ago
Process: 34 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
Main PID: 46 (apache2)
Tasks: 55 (limit: 2344)
CGroup: /system.slice/apache2.service
├─46 /usr/sbin/apache2 -k start
├─47 /usr/sbin/apache2 -k start
└─48 /usr/sbin/apache2 -k start
Jul 29 14:30:03 68e2cf19f3f1 systemd[1]: Starting The Apache HTTP Server...
Jul 29 14:30:03 68e2cf19f3f1 apachectl[34]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
Jul 29 14:30:03 68e2cf19f3f1 systemd[1]: Started The Apache HTTP Server.

Обратите внимание на выделенную строку, содержащую сообщение об ошибке AH00558. По сути, она говорит вам, что Apache не смог найти валидную директиву ServerName в своем конфигурационном файле, поэтому он будет использовать первый обнаруженный IP-адрес. В данном примере это внешний IP-адрес сервера: 172.17.02. В вашем случае IP-адрес может быть другим, это также может быть человекочитаемое DNS-имя.

Если ваш вывод systemctl предлагает вам любое автоматически определяемое значение IP-адреса или хоста, перейдите к последнему разделу этого руководства, чтобы установить глобальную директиву ServerName и решить проблему (этот раздел поможет установить для Apache безопасное значение ServerName по умолчанию, используя IP-адрес localhost: 127.0.0.1).

Если в выходных данных systemctl не указано значение, которое можно использовать для директивы ServerName, в следующем разделе этого мануала мы расскажем, как исследовать логи systemd с помощью journalctl для поиска информации о AH00558.

Устранение ошибки с помощью journalctl

Чтобы проверить логи systemd для Apache, воспользуйтесь командой journalctl. При вызове journalctl есть два особых флага, которые помогут вам найти определенные сообщения среди других записей.

Первый флаг, который нужно добавить к journalctl – это флаг –since today. он ограничит вывод команды только теми записями, которые были зарегистрированы в логе с 00:00:00 текущего дня. Использование этой опции поможет ограничить объем выведенных записей, которые вам придется изучить при поиске ошибок.

Второй флаг, который мы советуем использовать, – это опция –no-pager, которую вы применили в systemctl. Она сразу выводит весь лог на экран.

В системах Ubuntu и Debian выполните следующую команду:

sudo journalctl -u apache2.service --since today --no-pager

В CentOS, Fedora и других RedHat-подобных системах используйте эту команду:

sudo journalctl -u httpd.service --since today --no-pager

Если на вашем сервере Apache есть ошибка AH00558, просмотрите вывод journalctl и найдите такую строку:

-- Logs begin at Wed 2020-07-29 14:30:02 UTC, end at Wed 2020-07-29 14:45:03 UTC. --
. . .
Jul 29 14:30:03 68e2cf19f3f1 systemd[1]: Starting The Apache HTTP Server...
Jul 29 14:30:03 68e2cf19f3f1 apachectl[34]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
Jul 29 14:30:03 68e2cf19f3f1 systemd[1]: Started The Apache HTTP Server.

Вторая строка вывода – это сообщение об ошибке AH00558. Строка содержит внешний IP-адрес сервера, который Apache автоматически определяет и устанавливает по умолчанию во время выполнения. Получив это сообщение как подтверждение ошибки AH00558, вы можете перейти к настройке глобальной директивы ServerName для решения проблемы.

В следующем разделе мы расскажем, как диагностировать ошибку AH00558 с помощью команды apachectl.

Поиск ошибки с помощью apachectl

Ошибка AH00558 может быть обнаружена с помощью утилиты Apache apachectl. Она может перехватывать подобные сообщения перед перезагрузкой или перезапуском Apache, и вам не придется искать ошибки в логах systemctl и journalctl.

Чтобы проверить конфигурацию Apache на наличие ошибки AH00558, выполните следующую команду:

sudo apachectl configtest

Вы должны получить следующий вывод, если на вашем сервере действительно есть ошибка AH00558:

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
Syntax OK

Как и в предыдущих разделах этого мануала, в которых для поиска сообщений AH00558 использовались systemctl и journalctl, здесь важно найти строку, содержащую сообщение AH00558. Еще раз обратите внимание, что IP-адрес (172.17.0.2) у вас может отличаться.

В следующем разделе мы поможем установить директиву ServerName для устранения сообщений об ошибках AH00558.

Установка глобальной директивы ServerName

Чтобы устранить ошибку AH00558, необходимо добавить директиву ServerName в конфигурацию Apache. Apache использует директиву ServerName для сопоставления входящих HTTP-запросов с IP-адресом или именем DNS хоста (с помощью директив VirtualHost) для обработки запросов нескольких сайтов, размещенных в рамках одного сервера.

В сообщении об ошибке отмечается, что также нужно установить ​​глобальную директиву ServerName. С ее помощью Apache сможет корректно обрабатывать входящие запросы, которые не сопоставляются с VirtualHost, не выдавая при этом дополнительных ошибок.

Для максимальной совместимости с различными конфигурациями Apache используйте для вашей глобальной директивы ServerName значение 127.0.0.1. При необходимости вы можете использовать другой IP-адрес или DNS-имя, соответствующее конфигурации вашего сервера, но безопаснее всего использовать 127.0.0.1.

В системах Ubuntu и Debian откройте файл /etc/apache2/apache2.conf с правами root:

sudo nano /etc/apache2/apache2.conf

Добавьте в конец файла строку ServerName 127.0.0.1:

. . .
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
ServerName 127.0.0.1

В CentOS, Fedora и других системах RedHat откройте файл /etc/httpd/conf/httpd.conf с правами root:

sudo nano /etc/httpd/conf/httpd.conf

Добавьте строку ServerName 127.0.0.1 в конец файла:

. . .
# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
ServerName 127.0.0.1

Сохраните и закройте файл, когда закончите.

После добавления директивы ServerName в конфигурацию запустите apachectl, чтобы проверить ошибки в обновленной конфигурации веб-сервера.

sudo apachectl configtest

Если apachectl не обнаружила ошибок в конфигурации, вы увидите:

Syntax OK

Теперь вы можете перезапустить Apache, используя соответствующую команду systemctl restart для вашего дистрибутива Linux.

В системах Ubuntu и Debian запустите:

sudo systemctl restart apache2.service

В системах CentOS, Fedora и RedHat используйте эту команду:

sudo systemctl restart httpd.service

После перезапуска Apache сообщение об ошибке AH00558 больше не будет отображаться в ваших логах. Вы можете убедиться, что сообщения исчезли, выполнив любую из трех команд systemctl, journalctl или apachectl, которые мы использовали ранее в этом руководстве.

Заключение

В этом мануале вы познакомились с ошибкой AH00558: Could not reliably determine the server’s fully qualified domain name. Хотя эти сообщения не препятствуют запуску Apache, их можно устранить, установив глобальную директиву ServerName.

Вы узнали, как искать сообщения об ошибках AH00558 с помощью команд systemctl, journalctl и apachectl и как отредактировать конфигурацию Apache в различных дистрибутивах Linux, чтобы эти сообщения больше не отображались.

Если вы хотите узнать больше о том, как Apache использует директивы ServerName, обратитесь к документации Apache.

Tags: Apache, apachectl, CentOS, Debian, Fedora, journalctl, systemctl, Ubuntu


Posted:
05 Aug, 20


Updated:
14 Dec, 21



by Antoniy Yushkevych



1 Min

Apache could not reliably determine the server's fully qualified domain name

When attempting to install an Apache web server on Windows server you may face a very common error. You will encounter this problem when you will try to install and set up the latest versions of Apache. The error AH00558 requires you to set the ‘ServerName’ directive globally. 

Before fixing the problem here’s a preview of the error that you will see on your screen.

AH00558: httpd.exe: Could not reliably determine the server's fully qualified domain name, using fe80::7077:eaf3:2440:24a1. Set the 'ServerName' directive globally to suppress this message

Apache Could not determine the server's qualified domain name

How to solve the Apache error AH00558:

To solve this we should determine the server name in Apache config file.

Apache config file is located in C:Apache24confhttpd.conf

1. open C:Apache24confhttpd.conf with notepad or any other text editor.

2. search for this line in config file «#ServerName www.example.com:80«

3. uncomment this line by removing # from the first of line and edit as below

ServerName 127.0.0.1

4. save the file and exit

This will definitely solve the problem. You can check it yourself: run apache by running httpd.exe.

apache-running

If it worked let us know your thoughts in the comments below. For the full guide on setting up Apache, check our «Full Apache installation guide» from here. 

https://monovm.com/blog/how-to-install-apache-on-windows/

I’m trying to restart Apache 2:

sudo service apache2 restart

But get the below error:

* Restarting web server apache2 

AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1.

Set the 'ServerName' directive globally to suppress this message

I’ve tried to change

sudo gedit /etc/apache2/httpd.conf

A blank file appears, and I’d added this:

ServerName localhost

But that error doesn’t disappear!

How can I fix this problem?

muru's user avatar

muru

191k52 gold badges468 silver badges719 bronze badges

asked Aug 6, 2013 at 13:42

Hamed Kamrava's user avatar

Hamed KamravaHamed Kamrava

2,25511 gold badges33 silver badges49 bronze badges

1

I found this: How do I restart/reload Apache when it can’t determine the domain name?

Good news! Apache is restarting successfully. Apache just isn’t sure
where you want serve from, so it’s choosing your localhost (127.0.0.1)
by default. To prevent this message from appearing, clarify that you
want to serve from localhost (127.0.0.1) by adding the following line
into your /etc/apache2/apache2.conf file:

ServerName localhost

Community's user avatar

answered Aug 6, 2013 at 13:52

Meintjes's user avatar

3

Specifying ServerName localhost in your configuration files outside of the virtual host sections is the way to do this.

Other answers suggest that you should modify /etc/apache2/httpd.conf. This file gets overwritten when apache gets upgraded from apt. For Apache configuration that you don’t want to get overwritten, you should create a new file. Here is the «Debian way» to make this configuration change:

# create the configuration file in the "available" section
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
# enable it by creating a symlink to it from the "enabled" section
sudo a2enconf servername
# restart the server
sudo service apache2 restart

answered Mar 10, 2014 at 20:03

Stephen Ostermiller's user avatar

1

Your localhost IP Address should be 127.0.0.1, instead of 127.0.1.1. Please setup your /etc/hosts file properly. Then edit the httpd.conf file:

sudo -H gedit /etc/apache2/httpd.conf

When a blank file appears, please add this line, then save:

ServerName localhost

Zanna's user avatar

Zanna

68.9k56 gold badges215 silver badges327 bronze badges

answered Mar 2, 2014 at 12:36

Masabza's user avatar

MasabzaMasabza

511 silver badge1 bronze badge

0

Here is another Solution:

Before:

[root@centos ~]# /etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd: httpd: apr_sockaddr_info_get() failed for centos.wks.local
httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
                                                           [  OK  ]

Added 192.168.226.131 centos.wks.local in /etc/hosts file

Note: 192.168.226.131 is my Apache server IP address.

After:

[root@centos ~]# /etc/init.d/httpd restart
Stopping httpd:                                            [  OK  ]
Starting httpd:                                            [  OK  ]

Community's user avatar

answered Aug 6, 2013 at 14:02

Rahul Patil's user avatar

Rahul PatilRahul Patil

3242 silver badges10 bronze badges

3

Перейти к содержимому

Однажды после установки и настройки Apache2 в Ubuntu Server 20.04 я заметил следующую ошибку в логах /var/log/apache2/error.log:

AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.0.1. Set the ‘ServerName’ directive globally to suppress this message

При этом директива ServerName была указана для сайтов настроенных в /etc/apache2/sites-enabled, но не указана глобально как написано в ошибке.

Поэтому для решения ошибки, я открыл основной файл конфигурации Apache2:

nano /etc/apache2/apache2.conf

И после # Global configuration, указал:

Потом проверил корректность конфигурации:

И применил конфигурацию:

Либо можно перезапустить apache2:

После этого ошибка была решена.

Смотрите другие мои статьи на тему Apache2

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Apc ошибка неправильного электрического подключения
  • Apc ошибка pfc
  • Apc ошибка inverter fault
  • Apc ошибка f07

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии