Я попытался перезапустить мой сервер 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.
В файле ваших хостов не указано допустимое полное доменное имя, а также 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
127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain
но, похоже, Linux не считает, что gondor.localdomain также является полным доменным именем. В чем проблема с этим? Должен ли я иметь ДВУ?
Если у вас нет httpd.conf
в папке /etc/apache2
, вы должны иметь apache2.conf - просто добавьте:
Имя_сервера localhost
Затем перезапустите службу apache2
.
После начальной установки сервера 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
Таким образом, хотя на это дан ответ и принят, он по-прежнему стал лучшим результатом поиска, и ответы, которые были изложены (после многих исследований), оставили меня почесывать голову и копать намного дальше. Итак, вот краткое описание того, как я решил проблему.
Предполагая, что мой сервер - 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.
В httpd.conf найдите "ServerName". Он обычно комментируется по умолчанию на Mac. Просто раскомментируйте его и заполните его. Убедитесь, что у вас также есть имя /ip combo, установленное в/etc/hosts.
Существует два способа устранения этой ошибки:
Include /etc/apache2/httpd.conf
Добавьте вышеприведенную строку в файл /etc/apache2/apache2.conf
Добавьте эту строку в конец файла /etc/apache2/apache2.conf:
Имя_сервера localhost
В файле Apache httpd.conf
:
ServerName: 127.0.0.1
Убедитесь, что вы редактируете правильный файл httpd.conf
, тогда ошибка об ненадежном доменном имени сервера должна исчезнуть (это самая распространенная ошибка).
Чтобы найти конфигурационный файл httpd.conf
Apache, запустите:
apachectl -t -D DUMP_INCLUDES
Затем отредактируйте файл и раскомментируйте или измените строку ServerName
на:
ServerName localhost
Затем перезапустите apache с помощью: sudo apachectl restart
В большинстве ответов предлагается просто добавить 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
).
Я разрешил полное доменное имя в разных случаях, добавив свое имя хоста сервера в файл /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 сообщение исчезнет.
httpd.conf
. ОбычноServerName xy
просто отлично.