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

110

Я только что установил Apache 2.2.17 и использую его впервые.

Теперь, когда я пытаюсь запустить сервер с помощью команды, service httpd startон выдает мне сообщение:

httpd: не удалось надежно определить полное доменное имя сервера, используя :: 1 для ServerName

Теперь я думаю, что мне нужно установить ServerName и IP-адрес при поиске в Google. Но я не знаю, в какой файл установить.

Как я могу исправить эту проблему?

Махеш
источник

Ответы:

66

Да, вы должны установить ServerName:

http://wiki.apache.org/httpd/CouldNotDetermineServerName

http://httpd.apache.org/docs/current/mod/core.html#servername

Вы можете найти информацию о макетах, используемых различными дистрибутивами httpd здесь:

http://wiki.apache.org/httpd/DistrosDefaultLayout

В вашем случае файл для редактирования - /etc/httpd/conf/httpd.conf

лапша
источник
Привет, спасибо за ваше программное обеспечение, я отредактировал /etc/httpd/conf/httpd.conf и попытался установить ServerName следующим образом Listen 80 NameVirtualHost 172.20.30.40:80 <VirtualHost 172.20.30.40:80> ServerName www.example1.com DocumentRoot / home / user / Softwares / mysite / </VirtualHost>** Но все же я получаю сообщение об ошибке ниже .. ** Запуск httpd: Предупреждение: DocumentRoot [/ home / user / Softwares / mysite] не существует httpd: Не удалось надежно определить сервер полностью квалифицированное доменное имя, используя :: 1 для ServerName
mahesh
81
  1. sudo vim /etc/apache2/httpd.conf
  2. Вставьте следующую строку в httpd.conf: ServerName localhost
  3. Просто перезапустите Apache: sudo /etc/init.d/apache2 restart
Дуглас Миранда
источник
2
На моем RPi мне пришлось поместить файл httpd.conf в /etc/apache2/conf.d, чтобы он работал.
samkass
Используя Ubuntu 13.04, мне пришлось поместить его в /etc/apache2/conf.d/httpd.conf, больше ничего не работало ...
user1853181
Спасибо, это тоже решило мою проблему. Недавно я установил фактическое имя хоста в / etc / hosts, и это сломало apache, пока я не установил ServerName localhost в глобальном контексте. Теперь виртуальный хост снова работает, и сертификат SSL обслуживается правильно.
AaronM
15

Я НЕ ошибался в ServerName. Внутри вашей конфигурации VirtualHost, которая вызывает это предупреждающее сообщение, это общее в верхней части вашего httpd.conf, которое по умолчанию прокомментировано .

+ Изменить

#ServerName www.example.com:80

кому:

  ServerName 127.0.0.1:80
zzapper
источник
10

Под Debian Squeeze;

  1. Отредактируйте файл конфигурации Apache2: vim /etc/apache2/apache2.conf
  2. Вставьте следующую строку в apache2.conf: ServerName localhost
  3. Перезапустите Apache2: перезапустите apache2ctl или перезапустите /etc/init.d/apache2

Должно работать нормально (в моем случае это решило проблему)

tks noodl за ссылку на разные раскладки. :)

Бернард Сфез
источник
4

Другой вариант - убедиться, что полное имя хоста (FQDN) указано в / etc / hosts. Это сработало для меня в Ubuntu v11.10 без изменения конфигурации Apache по умолчанию.

Ларс Нордин
источник
4
  1. sudo nano /etc/apache2/httpd.conf
  2. поиск текста ServerNameв редакторе nano<Ctrl + W>
  3. Вставьте следующую строку в httpd.conf: ServerName localhost
  4. Просто перезапустите Apache: sudo /usr/sbin/apachectl restart
Евгений Афанасьев
источник
3

"Чтобы решить эту проблему, вам нужно установить ServerName.

1: $ vim /etc/apache2/conf.d/name Например, установите add ServerName localhost или любое другое имя:

2: ServerName localhost Перезапустите Apache 2

3: $ service apache restart В этом примере я использую Ubuntu 11.10.1.125 "

Элис Райт
источник
1

FQDN означает разрешенное имя через DNS. Это должно быть похоже на «имя-сервера.поиск-домен».

Предупреждение, которое вы получаете, просто указывает на то, что httpd не может найти полное доменное имя, поэтому он может работать неправильно для обработки виртуального хоста на основе имени. Поэтому убедитесь, что ожидаемое полное доменное имя зарегистрировано на вашем DNS-сервере, или вручную добавьте запись, в /etc/hostsкоторой до попадания в DNS.

shawmzhu
источник
0

Мне показалось, что это сделали две вещи:

  1. Поместите все псевдонимы для 127.0.0.1 в / etc / hosts в одну строку (например, 127.0.0.1 localhost mysite.local myothersite.local
  2. Установите ServerNameв моем httpd.conf значение 0.0.0.0(localhost или 127.0.0.1 у меня не работали)

Редактирование / etc / hosts избавило меня от длительного времени отклика, а установка ServerName избавила меня от предупреждения OP.

Бенджамин Бойко
источник
0

кто все еще не может решить проблему и использовать Mac, следуйте этому

1. перейти в корневую папку /

  1. компакт-диск usr / локальный / и т.д. / apache2 / 2.4

3. sudo nano httpd.conf

4. измените #servername на ServerName 127.0.0.1:8080 нажмите ctrl + o, + return + ctrl x

5. затем перезапустите сервер apachectl restart

javaguru
источник
0

Если вы используете окна, возникает другая ситуация

Первый открытый c:/apache24/conf/httpd.conf. Папки Apache достаточно не конкретно над путем

После этого вам необходимо настроить файл httpd.conf.

Сразу после нескольких строк появляется шаблон вроде:

#Listen _____________:80
Listen 80

Здесь вам нужно сменить файл localhost.

Вы должны ввести адрес ipv4, чтобы вы могли открыть localhost.

Обратитесь к этой ссылке на видео, а затем еще раз.

Измените переменные среды:

Изображение для переменных среды USER в настройках системы

В котором вам нужно ввести путь:

c:apache24/bin

и то
же самое в переменных SYSTEM

Изображение для пути к системным переменным

Если есть какие-либо вопросы, не стесняйтесь спрашивать.

Анкит
источник
0

Если вы используете окна, удалите комментарии к этим строкам и установите их как:

Line 227 : ServerName 127.0.0.1:80 
Line 235 : AllowOverride all 
Line 236 : Require all granted

Сработало у меня!

Хитеш Кумар
источник
0

Вот мои два цента. Может быть, это пригодится будущим читателям.

Я столкнулся с этой проблемой при использовании Apache в контейнере Docker. Когда я запустил контейнер из образа веб-сервера Apache, это сообщение появилось, когда я запустил его сdocker run -it -p 80:80 my-apache-container .

Однако после запуска контейнера в автономном режиме с помощью docker run -d -p 80:80 my-apache-containerя смог подключиться через браузер.

MC Император
источник