файл httpd: не удалось достоверно определить полное доменное имя сервера

Я знаю, что этот вопрос рассматривался много, но решения здесь не решают их.

давайте начнем с немного фоновой информации:

OS X 10.8.4 Apache 2.2.22

проблема: Я получаю эту ошибку в консоли и Apache не может найти мой localhost, но не заводится ОК. Странный.

[Sat Aug 17 13:40:06 2013] [info] mod_ssl/2.2.22 compiled against Server: Apache/2.2.22, Library: OpenSSL/0.9.8r
httpd: Could not reliably determine the server's fully qualified domain name, using Specter.local for ServerName

поэтому обычно это указывает на то, что мое имя сервера не установлено правильно. Ну и я пробовал с разных вариантов, как призрак.местный, localhost и т. д.

вот копия моего/private/etc / httpd.conf & это то же самое для /private/etc/apache2/httpd.conf

# ServerName gives the name and port that the server uses to identify itself.
# This can often be determined automatically, but we recommend you specify
# it explicitly to prevent problems during startup.
#
# If your host doesn't have a registered DNS name, enter its IP address here.
#
ServerName localhost

мой файл хоста настроен следующим образом:

127.0.0.1   localhost localhost.local
255.255.255.255 broadcasthost
127.0.0.1       themill.dev
127.0.0.1       phpmyadmin.dev
127.0.0.1       Specter.local

в моем / частном / etc/apache2/users / ta.conf является следующее

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
# DEV: THEMILL SITE
<VirtualHost *:80>
  ServerAdmin test@dummy.com
  DocumentRoot "/Users/ta/Sites/themill/htdocs"
  ServerName themill.dev
  ServerAlias *.themill.dev
  ErrorLog "/Users/ta/Sites/themill/log/error_log"
  CustomLog "/Users/ta/Sites/themill/log/access_log" common
</VirtualHost>

# PHPMYADMIN
<VirtualHost *:80>
  ServerAdmin test@dummy.com
  DocumentRoot "/Users/ta/Sites/phpmyadmin"
  ServerName phpmyadmin.dev
  ServerAlias *.phpmyadmin.dev 
  ErrorLog "/Users/ta/Sites/phpmyadmin/log/error_log"
  CustomLog "/Users/ta/Sites/phpmyadmin/log/access_log" common
</VirtualHost>

не уверен, что еще нужно настроить на самом деле. Раньше он работал, но после обновления 10.7 он никогда не работал, и теперь, когда я пытаюсь его решить, он делает мою голову.

позвольте мне знать, если вам нужна дополнительная информация.

4 ответов


игнорируйте все советы по настройке имен серверов. ИМХО это отвлекающий маневр. Apache пытается использовать стандартные системные компоненты для определения FQDN и не находит ничего подходящего. Конечно, вы можете подорвать этот процесс, добавив директиву глобально в Apache, но я думаю, что это лечит симптом. Вы должны есть директивы ServerName в ваших блоках virtualhost, конечно.

вместо этого отредактируйте файл hosts и убедитесь, что у вас есть FQDN указан там. Я видел различные предложения по синтаксису для конкретной строки 127*, но я думаю, что не имеет значения, в каком порядке вещи находятся, пока есть FQDN:

127.0.0.1       localhost.localdomain   localhost       foo.example.com

это сработало для меня и казалось гораздо более важным, чем все остальные "работали для меня!"upvotes на сообщениях, рекомендующих вам редактировать httpd.conf и тому подобное. Я надеюсь, что это поможет, и что я не получу downvoted. Если вы не согласны, пожалуйста, объясните почему на примерах. Спасибо.

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

Как только Apache сможет определить FQDN системы, он будет читать ваши конкретные директивы ServerName для ваших NameBasedHosts.


следующая строка в вашем правильно:

ServerName localhost

проблема в том, что на macOS это неправильный файл (не /private/etc/httpd.conf).

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

apachectl -t -D DUMP_INCLUDES

затем дважды проверьте, есть ли ServerName не раскомментирован и установлен в localhost.


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

если у кого-то это в будущем может работать

в вашем /etc/apache2 / httpd.conf добавить эту строку после ServerAdmin your@email.com линия

ServerName your-favorite-server-name

источник: https://blog.cloudtroopers.com/upgrade-osx-1010-yosemite-and-keep-apache-functional


У меня было несколько проблем на пути к славе, некоторые из них я создал сам. Как правило, я обнаружил, что просто работает:$sudo httpd -k restart получил меня на один шаг дальше каждый раз в силу вывода сообщений.