web-dev-qa-db-fra.com

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

Je reçois toujours cet avertissement lorsque je (re) lance Apache.

* Restarting web server Apache2Apache2: 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 ]

Voici le contenu de mon etc/hosts fichier:

#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

Voici le contenu de mon /etc/Apache2/sites-enabled/000-default fichier:

<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, J'obtiens une page vierge.

Quelqu'un peut-il repérer ce que je fais mal?

73
user35402

Par défaut, Ubuntu ne spécifie pas de ServerName dans la configuration Apache, car il ne sait pas quel est le nom de votre serveur. Il essaie une recherche inversée sur votre adresse IP, qui ne renvoie rien, il n'a donc qu'à utiliser l'adresse IP comme ServerName .

Pour le corriger, ajoutez une directive ServerName en dehors de tout hôte virtuel - par exemple dans /etc/Apache2/httpd.conf, ou configurez une réponse DNS inversée pour votre adresse IP principale - dans ce cas, 127.0.1.1

C'est parfaitement bien de l'ignorer également.

52
crb

Voici une solution rapide:

echo ServerName $HOSTNAME > /etc/Apache2/conf.d/fqdn
27
ReinoutS

Un autre moyen de contourner cet avertissement consiste à mettre un nom de domaine complet sur le 127.0.1.1 ligne de /etc/hosts. Il n'a même pas besoin d'être un fqdn qui se résoudrait en fait à n'importe quoi sur un serveur DNS.

127.0.1.1  hpdtp-ubuntu910.lan  hpdtp-ubuntu910

ferait l'affaire, tout en préservant le comportement de tous les programmes qui n'attendent pas le supplément .lan. L'ordre est important; les noms avec plus de niveaux doivent être spécifiés en premier, comme dans cet exemple où le .lan l'adresse précède l'autre adresse.

16
Ryan Ahearn

Cette solution fonctionne pour mes besoins de développement:

Contexte:

Debian Linux Sid:
Développement VirtualHost: J'ai 10 noms de serveurs (10 entrées virtualhost dans les sites disponibles)

J'ai attribué à chacun une adresse IP locale 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 ajouter un autre virtualhost (j'en ai pas mal pour le développement), ajoutez une entrée à une autre adresse IP localhost et activez le site avant de redémarrer Apache 2.2:

127.0.0.11 *newhost*

Pour chaque entrée que vous souhaitez activer en tant que fichier VirtualHost:

/ etc/Apache2/sites-available /

joe joomla schoo forrest store publisher studios drupal graphics wordpress

Tous les hôtes virtuels sont activés/désactivés via a2ensite/a2dissite hostname

Pour supprimer l'erreur

Redémarrage du serveur Web: Apache2apache2: impossible de déterminer de manière fiable le nom de domaine complet du serveur, en utilisant 127.0.0.1 pour ServerName ... en attente Apache2: impossible de déterminer de manière fiable le nom de domaine complet du serveur, en utilisant 127.0.0.1 pour ServerName ''

modifier httpd.conf dans /etc/Apache2/httpd.conf [fichier vide dans Debian]:

ServerName 127.0.1.1

La recherche est alors résolue pour tous les noms que vous ajoutez , commentez ou désactiver sur toute la ligne.

Au cas où vous oublieriez: la seule entrée VirtualHost *: 80 ne doit se trouver que dans le fichier 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 entrée VirtualHost, laissez de côté VirtualHost *: 8

Exemple: virtualhost joe

<VirtualHost *:80>
    **ServerAlias joe**
    **...**
</VirtualHost>
7
Marc Driftmeyer

La définition de 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 aux deux endroits.

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

6
Nick

Il vous manque une entrée ServerName au niveau de la configuration du serveur. Vous devez avoir une entrée ServerName en dehors de tout hôte, pour qu'Apache l'utilise par défaut.

Placer une entrée ServerName dans un VirtualHost ne résoudra pas le problème. Voir Directive ServerName.

5
David

Pour le corriger, nous devons modifier /etc/Apache2/httpd.conf ou /etc/Apache2.conf et ajouter la ligne suivante:

ServerName nameofserver
3
niekutis

Je pense que vous devez ajouter ServerName pour l'hôte virtuel par défaut. Puisqu'il n'est pas là, il prend l'adresse IP par défaut. Et c'est une sorte d'avertissement. Votre serveur Web sera toujours fonctionnel, je suppose.

1
vpram86
  1. vous devez ajouter ServerName dans votre fichier httpd.conf en suivant les étapes suivantes

    Sudo gedit /etc/Apache2/httpd.conf
    

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

    ServerName localhost
    

    Enregistrez le fichier et quittez gedit. Redémarrez enfin le serveur.

    Sudo /etc/init.d/Apache2 restart
    

2) Ajoutez Include httpd.conf au bout du Apache2.conf

0
kunjalpopat