apache2: Impossible de déterminer de manière fiable le nom de domaine complet du server, en utilisant 127.0.1.1 pour ServerName

Je continue d'get cet avertissement lorsque je (re) démarrer Apache.

* Restarting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [ OK ]

C'est le contenu de mon file etc/hosts :

 #127.0.0.1 hpdtp-ubuntu910 #testproject.localhost localhost.localdomain localhost #127.0.1.1 hpdtp-ubuntu910 127.0.0.1 localhost 127.0.0.1 testproject.localhost 127.0.1.1 hpdtp-ubuntu910 # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 

C'est le contenu de mon /etc/apache2/sites-enabled/000-default file:

 <VirtualHost *:80> ServerName testproject.localhost DocumentRoot "/home/morpheous/work/websites/testproject/web" DirectoryIndex index.php <Directory "/home/morpheous/work/websites/testproject/web"> AllowOverride All Allow from All </Directory> Alias /sf /lib/vendor/symfony/symfony-1.3.2/data/web/sf <Directory "/lib/vendor/symfony/symfony-1.3.2/data/web/sf"> AllowOverride All Allow from All </Directory> </VirtualHost> 

Quand je vais à http://testproject.localhost , je reçois une page vierge.

Quelqu'un peut-il identifier ce que je fais mal?

Par défaut, Ubuntu ne spécifie pas un nom de server dans la configuration d'Apache, car il ne sait pas quel est le nom de votre server. Il essaie une search inverse sur votre adresse IP, qui ne renvoie rien, donc il suffit d'utiliser l'adresse IP comme nom de server.

Pour le réparer, ajoutez une directive ServerName en dehors d'un hôte virtuel , par exemple dans /etc/apache2/httpd.conf ou configurez une réponse DNS inverse pour votre adresse IP principale – dans ce cas, 127.0.1.1

Il est parfaitement parfait de l'ignorer aussi.

Voici une solution rapide:

 echo ServerName $HOSTNAME > /etc/apache2/conf.d/fqdn 

Une autre façon de contourner cet avertissement est de mettre un nom de domaine complet sur la ligne 127.0.1.1 de /etc/hosts . Il n'a même pas besoin d'être un fqdn qui résoudrait à tout sur un server dns.

 127.0.1.1 hpdtp-ubuntu910.lan hpdtp-ubuntu910 

ferait l'affaire, tout en préservant le comportement de tous les programmes qui ne s'attendent pas à l'ajout de .lan . L'ordre est important; les noms avec plus de niveaux devraient être spécifiés en premier, comme dans cet exemple, où l'adresse .lan vient avant l'autre adresse.

Cette solution fonctionne pour mes besoins de développement:

Context:

Debian Linux Sid:
Développement VirtualHost: J'ai 10 noms de server (10 inputs virtuelles dans les sites disponibles)

J'ai assigné à chacun une adresse IP localhost unique dans /etc/hosts :

 127.0.0.1 joe localhost.localdomain localhost 127.0.1.1 joe 127.0.1.2 joomla 127.0.1.3 schmoo 127.0.1.4 forrest 127.0.1.5 store 127.0.1.6 publisher 127.0.1.7 studios 127.0.1.8 drupal 127.0.1.9 graphics 127.0.1.10 wordpress ... The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet ff00::0 ip6-mcastprefix ff02::1 ip6-allnodes ff02::2 ip6-allrouters ff02::3 ip6-allhosts 

Si vous allez append un autre hôte virtuel (j'en ai assez pour le développement), append une input à une autre adresse IP localhost et activer le site avant de redémarrer Apache 2.2:

 127.0.0.11 *newhost* 

Pour chaque input que vous souhaitez activer en tant que file VirtualHost:

/ etc / apache2 / sites-available /

joe joomla schoo forrest éditeur de magasins studios drupal graphics wordpress

Tous les hôtes virtuels sont activés / désactivés via un nom d'hôte a2ensite / a2dissite

Supprimer l'erreur

Redémarrage du server web: apache2apache2: Impossible de déterminer de manière fiable le nom de domaine complet du server, en utilisant 127.0.0.1 pour ServerName … en attendant apache2: Impossible de déterminer de manière fiable le nom de domaine complet du server, en utilisant 127.0.0.1 pour ServerName ''

éditez httpd.conf dans /etc/apache2/httpd.conf [file vide dans Debian]:

 ServerName 127.0.1.1 

La search est alors résolue pour tous les noms que vous ajoutez , commentez ou désactivez la ligne.

Dans le cas où vous oubliez: le seul VirtualHost *: l'input 80 doit uniquement être dans le file ports.conf ,

/etc/apache2/ports.conf

 **NameVirtualHost *:80** Listen 80 <IfModule mod_ssl.c> # If you add NameVirtualHost *:443 here, you will also have to change # the VirtualHost statement in /etc/apache2/sites-available/default-ssl # to <VirtualHost *:443> # Server Name Indication for SSL named virtual hosts is currently not # supported by MSIE on Windows XP. Listen 443 </IfModule> <IfModule mod_gnutls.c> Listen 443 </IfModule> 

Dans votre input VirtualHost, quittez VirtualHost *: 80

Exemple: virtualhost joe

 <VirtualHost *:80> **ServerAlias joe** **...** </VirtualHost> 

Le paramètre ServerName dans httpd.conf n'a pas fonctionné pour moi. Je l'ai corrigé en définissant ServerName 127.0.0.1 dans /etc/apache2/conf.d/name .

J'utilise Ubuntu 12.10 Alpha3 et j'ai ServerName défini dans les deux points.

Source: http://linuxconfig.net/manual-howto/error-solution-could-not-reliably-determine-the-servers-fully-qualified-domain-name.html

Vous manquez une input ServerName au niveau de la configuration du server. Vous devez avoir une input ServerName en dehors d'un hôte, car Apache doit être utilisé par défaut.

Mettre une input ServerName dans un VirtualHost ne résoudra pas le problème. Voir la directive ServerName .

Pour le réparer, nous devons modifier le /etc/apache2/httpd.conf ou /etc/apache2.conf et append la ligne suivante:

 ServerName nameofserver 

Je crois que vous devez append ServerName pour l'hôte virtuel par défaut. Comme il n'est pas là, il prend l'adresse IP par défaut. Et c'est une sorte d'avertissement. Votre server web sera toujours fonctionnel, je suppose.

  1. vous devez append ServerName dans votre file httpd.conf à l'aide des étapes suivantes

     sudo gedit /etc/apache2/httpd.conf 

    Par défaut, le file httpd.conf sera vide. Maintenant, ajoutez simplement la ligne suivante au file.

     ServerName localhost 

    Enregistrez le file et quittez gedit . Enfin, redémarrez le server.

     sudo /etc/init.d/apache2 restart 

2) Ajouter Include httpd.conf à la fin de apache2.conf

Si un file httpd.conf n'existe pas déjà dans votre directory etc / apache2 après l'installation, le file de configuration principal d'apache, apache2.conf, n'aura pas de reference pour append quoi que ce soit à un httpd.conf créé ne fera pas n'importe quoi. Vous pouvez simplement append la ligne "ServerName hostname" au file apache2.conf à la place.

Is / etc / hosts ont toujours ces inputs. (J'ai sauté quelques réponses ci-dessus)

127.0.0.1 localhost 127.0.0.1 testproject.localhost

L'adresse IP 127.0.0.1 est identique ici.

Donnez une adresse IP différente à testproject.localhost à partir du sous-réseau ip loopback.