Я пытаюсь перезапустить свой Apache, но он не работает. Это ошибка:
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
Мне нужна помощь. Спасибо
Прежде всего, я считаю, что более новые версии Apache не используют httpd.conf или что-либо подобное, поэтому я не собираюсь обсуждать «httpd».
Я считаю, что правильный способ убрать это предупреждение - это НЕ ПРИКАСАТЬСЯ apache2.conf
.
Я читал, что этот файл обновляется каждый раз, когда обновляется apache2, и если вы похожи на меня, вы не хотите, чтобы то, что вы уже сделали, было отменено. Поэтому используйте файл .conf в /etc/apache2/available-sites/
У моей установки был файл по умолчанию ... как 000-default.conf
. Если это не так, вам, вероятно, следует зайти в Google a2enconf и узнать о создании файлов .conf и использовании a2enconf для создания символических ссылок.
Первым делом я раскомментировал имя_сервера и установил для него значение localhost, ожидая, что предупреждение исчезнет. Увы, предупреждение все еще было там.
1110 В моем предупреждении было слово «глобальный». Поэтому я понял, что строка, которую я изменил, была внутри тега<VirtualHost>
, и предположил, что это не глобально. Я добавил «ServerName localhost» снаружи тега vhost, но все еще в файле 000-default.conf и вуаля. Задача решена. И мне не нужно было трогать apache2.conf, поэтому мне больше никогда не придется с этим сталкиваться, даже когда я обновляюсь и Apache перезаписывает apache2.conf. Я надеюсь, что это проясняет некоторые вещи о предупреждении. Я ненавижу предупреждения так же, как ошибки. Мне нравится, чтобы все функционировало идеально, но также и спокойно.
Чтобы решить эту проблему, вам нужно отредактировать файл httpd.conf
. Просто нажмите Ctrl kbd> + Alt kbd> + T kbd> на клавиатуре, чтобы открыть терминал. Когда он откроется, выполните команду (ы) ниже:
sudo gedit /etc/apache2/httpd.conf
По умолчанию файл httpd.conf
пуст, просто добавьте следующее:
ServerName localhost
Как только вы закончите, сохраните файл и перезапустите сервер.
sudo /etc/init.d/apache2 restart
ИЛИ
Для решения этой проблемы просто установите ServerName.
sudo nano /etc/apache2/conf.d/name
Например, установите имя как localhost или любое другое имя, которое вы хотите:
ServerName localhost
Просто перезапустите Apache 2
sudo /etc/init.d/apache2 restart
Имя хоста называется полностью определенным , когда к нему добавляется доменное имя.
имя_сервера не полностью определено, servername.domainname.org равно.
Когда команда hostname
используется для возврата имени хоста системы, hostname -f
используется для возврата полного имени хоста.
Если вы запускаете эту команду в своей системе и она ничего не возвращает, то вы можете ожидать это предупреждение в Apache и в некоторых других программах.
В этом случае, если вы действительно хотите исправить проблему, вам нужно будет определить /etc/hosts
соответственно:
<your ip> servername.domainname servername
Пример, если мой IP 10.1.1.1 , мой домен example.com и мое имя хоста host1 , минимальный файл /etc/hosts
будет:
127.0.0.1 localhost.localdomain localhost
10.1.1.1 host1.example.com host1
После этого команда hostname
будет return host1 и hostname -f
возвращает host1.example.com .
Таким образом, нет необходимости сообщать вашему Apache, что ваше имя хоста - localhost. Нет необходимости изменять основной файл конфигурации Apache, поэтому в следующий раз, когда Apache будет обновлен, вы не потеряете свои настройки или новый файл конфигурации не будет объединен с существующим.