web-dev-qa-db-fra.com

httpd: Impossible de déterminer de manière fiable le nom de domaine complet du serveur.

Je sais que cette question a beaucoup été examinée, mais les solutions proposées ici ne les résolvent pas.

Commençons par quelques informations de fond:

OS X 10.8.4 Apache 2.2.22

Le problème: Je reçois cette erreur dans la console et Apache ne trouve pas mon hôte local, mais il démarre correctement. Bizarre.

[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

Donc, normalement, cela indiquerait que mon nom de serveur n'est pas correctement défini. Eh bien, c’est:/et j’ai essayé avec différentes variantes comme Specter.local, localhost, etc.

Voici une copie de mon /private/etc/httpd.conf & c'est la même chose pour /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

Mon fichier hôte est configuré comme suit:

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

Dans mon /private/etc/Apache2/users/ta.conf est la suivante

#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
# DEV: THEMILL SITE
<VirtualHost *:80>
  ServerAdmin [email protected]
  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 [email protected]
  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>

Vous ne savez pas quoi d'autre doit être configuré réellement. Cela fonctionnait jadis, mais après la mise à niveau 10.7, cela n’a jamais fonctionné et maintenant que j’essaie de le résoudre, je me débrouille. 

Tenez-moi au courant si vous avez besoin de plus d'informations.

14
TobyAllen

Ignorez TOUS les conseils concernant la configuration de ServerNames. IMHO c'est un hareng rouge. Apache tente d'utiliser des composants système standard pour déterminer un nom de domaine complet et ne trouve rien qui convienne. Bien sûr, vous pouvez subvertir ce processus en ajoutant une directive globale à Apache, mais il semble que cela traite le symptôme. Vous devriez avoir des directives ServerName dans vos blocs virtualhost, bien sûr.

Au lieu de cela, éditez votre fichier hosts et assurez-vous qu’un nom de domaine complet y est répertorié. J'ai vu diverses suggestions sur la syntaxe de la ligne 127 * en question, mais je pense que l'ordre dans lequel les choses se trouvent n'a pas d'importance, tant qu'un FQDN est répertorié:

127.0.0.1       localhost.localdomain   localhost       foo.example.com

Cela a fonctionné pour moi et semblait beaucoup plus pertinent que tous les autres "a fonctionné pour moi!" upvotes sur les messages vous recommandant d'éditer httpd.conf et autres. J'espère que cela aide et que je ne reçois pas de vote négatif. Si vous n'êtes pas d'accord, veuillez indiquer pourquoi avec des exemples. Merci.

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

Une fois que Apache peut déterminer le nom de domaine complet du système, il lira ensuite les directives ServerName spécifiques à votre hôte NameBased.

8
Spanky

La ligne suivante dans votre fichier httpd.conf est correcte:

ServerName localhost

Le problème est que sur macOS c'est le mauvais fichier (pas /private/etc/httpd.conf).

Pour trouver le bon emplacement de votre fichier de configuration httpd.conf Apache, exécutez:

apachectl -t -D DUMP_INCLUDES

puis double-vérifier si ServerName n'est pas commenté et régler sur localhost.

9
kenorb

J'ai récemment eu le même problème sur un Mac et bien que j'aie édité mon fichier hôte comme le suggère Spanky (et je pense que c'est également nécessaire), il me fallait également éditer mon httpd.conf.

si quelqu'un a cela à l'avenir, ce qui suit peut fonctionner

dans votre /etc/Apache2/httpd.conf, ajoutez cette ligne après la ligne ServerAdmin [email protected]

ServerName your-favorite-server-name

source: https://blog.cloudtroopers.com/upgrade-osx-1010-yosemite-and-keep-Apache-functional

1
Mariano_Stanco

J'ai eu quelques problèmes en route vers la gloire, certains auto-créés. En règle générale, j'ai constaté que le fait d'exécuter simplement: $Sudo httpd -k restart m'a permis d'avancer d'un pas supplémentaire à chaque fois grâce aux messages générés. 

0
Pete Moore