Erreur Apache "Impossible de déterminer de manière fiable le nom de domaine complet du serveur"

385

Lorsque je redémarre mon serveur Apache en utilisant la commande

sudo /etc/init.d/apache2 restart

Je reçois l'erreur suivante:

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

Le serveur utilise-t-il 127.0.1.1 au lieu de 127.0.0.1? Quelles sont les causes de cette erreur?

    
posée Deepu 14.02.2013 - 14:09
la source

14 réponses

470

13.04 et plus

Ceci est juste un avertissement amical et pas vraiment un problème (comme si quelque chose ne fonctionnait pas).

Si vous insérez un

ServerName localhost   

dans httpd.conf ou apache2.conf in /etc/apache2 et redémarrer apache, la notification disparaîtra.

Si vous avez un nom dans /etc/hostname , vous pouvez également utiliser ce nom au lieu de localhost .

Et il utilise 127.0.1.1 s'il est à l'intérieur de votre /etc/hosts :

127.0.0.1 localhost
127.0.1.1 myhostname

Méthode préférée

  

Dépannage d'Apache

Si vous obtenez cette erreur:

apache2: Could not determine the server's fully qualified domain name, 
using 127.0.0.1 for ServerName

utilisez ensuite un éditeur de texte tel que "sudo nano" sur la ligne de commande ou "gksudo gedit" sur le bureau pour créer un nouveau fichier,

sudo nano /etc/apache2/conf.d/fqdn

ou

gksu "gedit /etc/apache2/conf.d/fqdn"

puis ajoutez

ServerName localhost

au fichier et enregistrez. Tout cela peut être fait en une seule commande avec les éléments suivants:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

Mais sur Ubuntu 14.04:

 echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
 sudo a2enconf fqdn

N'oubliez pas le ".conf" (sans que ça ne marche pas).

    
réponse donnée Rinzwind 14.02.2013 - 14:18
la source
156

13.10 ou plus récent

A partir d’Apache 2.4 - qui est disponible par défaut à partir de 13.10 - vous ne pouvez pas utiliser la méthode d’ajout d’un fichier de configuration dans le répertoire conf.d .

Apache n'utilise plus le répertoire conf.d . Tous les fichiers de configuration sont stockés dans le répertoire /etc/apache2/conf-available et tous les fichiers de configuration doivent maintenant avoir une extension .conf .

Pour résoudre ce message dans Apache 2.4, nous devons créer un fichier de configuration dans le répertoire conf-available. Par exemple servername.conf .

sudo vi /etc/apache2/conf-available/servername.conf

A l’intérieur de cela, il suffit d’ajouter une ligne

ServerName localhost

Vous pouvez combiner les deux commandes précédentes en une seule fois avec:

echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf

Si vous souhaitez utiliser un nom de domaine ou tout autre nom en fonction de l'exigence, remplacez simplement localhost par ce dont vous avez besoin. Ensuite, vous devez activer cette configuration. Pour cela, vous devez exécuter la commande suivante:

sudo a2enconf servername

a2enconf est une commande permettant d'activer un fichier de configuration dans Apaches 2.4. Notez également que servername sur la commande ci-dessus provient du nom du fichier de configuration servername.conf . Si votre fichier de configuration était ngenericserver.conf , vous devrez écrire sudo a2enconf ngenericserver .

Après cela, rechargez le serveur et le message ci-dessus ne vous posera plus de problème.

sudo service apache2 reload

ou

sudo apache2ctl graceful

Maintenant, vous verrez que le message ne sera plus affiché et que le problème sera résolu.

    
réponse donnée Starx 26.12.2013 - 19:45
la source
24
  • Ouvrir un terminal
  • Ouvrez le fichier /etc/apache2/httpd.conf :

    sudo editor /etc/apache2/httpd.conf # [1]
    
  • Par défaut, il serait vide. Il suffit d'ajouter la ligne suivante:

    ServerName localhost
    
  • Enregistrez le fichier et quittez

  • Redémarrer le serveur

    sudo service apache2 restart
    

[1] Lance l’éditeur par défaut, voir sudo update-alternatives --config editor

    
réponse donnée green 14.02.2013 - 14:17
la source
22

Apache2 peut également obtenir le nom de domaine complet à partir d’un nom d’hôte système correctement configuré plutôt que codé en dur dans le fichier de configuration apache. Le codage en dur entraînera également une confusion si le nom d'hôte change. Vous n'avez en fait besoin d'aucune directive ServerName dans httpd.conf ou dans aucun fichier de configuration apache.

Mettez ce qui suit dans /etc/hosts :

# IPv4 and IPv6 localhost aliases
127.0.0.1 hostname.domainname.com  hostname  localhost
::1       hostname.domainname.com  hostname  localhost

hostname.domainname.com est le nom de domaine complet de votre machine.

Avec un nom d'hôte correctement configuré dans /etc/hostname/ ou avec hostnamectl , cela aidera également les autres services de votre ordinateur à fonctionner correctement (c'est-à-dire l'invite de connexion affichant This is hostname.domainname.com au lieu de This is hostname.unknown_domain .) >     

réponse donnée Andrew Mao 18.09.2013 - 20:05
la source
15

Dans la nouvelle version d’apache2, il vous suffit de suivre la commande suivante:

sudo nano /etc/apache2/apache2.conf

Ajoutez la nouvelle fin de ligne de fichier suivante:

ServerName localhost

Puis redémarrez apache2:

sudo service apache2 restart

C'est fait.

    
réponse donnée empugandring 16.04.2014 - 08:38
la source
4

Je trouve qu'il est un peu préférable de créer un nouveau fichier dans /etc/conf.d pour modifier soit apache2.conf ou httpd.conf .

C'est une préférence personnelle qui conserve les modifications de configuration séparées du package de distribution. Les mises à jour sont donc moins compliquées.

Je crée le fichier /etc/apache2/conf.d/AAserverName et il ne contient que:

ServerName myhost.mycomain.tld

Les autres suggestions fonctionnent certainement aussi.

    
réponse donnée areeda 06.09.2013 - 17:31
la source
2

Dans Ubuntu 16.04:

sudo -i

echo 'ServerName localhost' > /etc/apache2/conf-available/server-name.conf
a2enconf server-name
    
réponse donnée Eduardo Cuomo 17.04.2017 - 15:26
la source
1

Ajouter ServerName localhost

Pour

 sudo leafpad /etc/apache2/apache2.conf

 sudo leafpad /etc/apache2/httpd.conf

Ce n'est pas une erreur .. C'est juste un rappel à un ami

    
réponse donnée Serem 05.07.2014 - 11:36
la source
0

Sur Ubuntu 11.10, j'ai vu ce message, accompagné d'un démarrage bloqué car mon disque était plein. L'un des fichiers journaux était devenu un cauchemar . Probablement, il n'y avait pas vraiment de problème avec Apache, mais ce message était le dernier indice donné avant le blocage du démarrage.

Pour résoudre le problème, j'ai dû démarrer en mode de récupération et supprimer le fichier journal capricieux.

    
réponse donnée nobar 07.05.2013 - 17:17
la source
0

Pour ce faire, spécifiez ServerName localhost dans vos fichiers de configuration en dehors des sections de l’hôte virtuel.

Certaines autres réponses suggèrent que vous devez modifier /etc/apache2/httpd.conf . Ce fichier est écrasé lorsque apache est mis à niveau depuis apt. Pour la configuration d'Apache que vous ne souhaitez pas remplacer, vous devez créer un nouveau fichier. Voici la "manière Debian" de modifier cette configuration:

# create the configuration file in the "available" section
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
# enable it by creating a symlink to it from the "enabled" section
sudo a2enconf servername
# restart the server
sudo service apache2 restart

Ceci est fondamentalement la même que la réponse de Stark, mais dans un formulaire de script facile à copier et à coller. J'avais initialement posté ceci dans une question qui était marquée comme étant en double: lien

    
réponse donnée Stephen Ostermiller 24.03.2017 - 14:02
la source
0

Si vous utilisez bash et que vous voulez des dépendances minimales (et que vous voulez juste une ligne pour votre script point d’entrée si vous utilisez Docker comme moi), ces deux options devraient fonctionner.

Si vous voulez localhost:

echo "ServerName localhost" >> /etc/apache2/apache2.conf

Si vous voulez le nom d’hôte existant:

echo "ServerName $(cat /etc/hostname)" >> /etc/apache2/apache2.conf

Cela utilise les opérateurs de redirection bash pour ajouter le chaîne à la fin du fichier. Echo insère automatiquement la nouvelle ligne, donc vous êtes tous ensemble.

    
réponse donnée Andrew Odri 17.11.2017 - 20:23
la source
0

Exécutez la commande suivante:

apachectl -t -D DUMP_INCLUDES

pour déterminer le chemin d'accès à votre fichier de configuration httpd.conf , puis éditez ce fichier et supprimez la mise en commentaire / modifiez la ligne qui spécifie la valeur de l'option ServerName , par exemple

.
ServerName localhost

Pour le serveur Web, utilisez le nom DNS enregistré (par exemple example.com ).

  

Si votre hôte n’a pas de nom DNS enregistré, entrez son adresse IP ici.

    
réponse donnée kenorb 23.10.2017 - 14:24
la source
0

Sur Ubuntu 16.04 :

Ajoutez ServerName localhost au fichier httpd.conf usin la commande suivante.

sudo vi  /etc/apache2/httpd.conf

Puis incluez cette ligne Include httpd.conf à la fin de ce fichier

sudo vi /etc/apache2/apache2.conf

Vérifiez à nouveau les erreurs de syntaxe

sudo apache2ctl configtest

Vous devriez maintenant recevoir

Syntax OK

Vous pouvez maintenant redémarrer le serveur normalement en rechargeant la configuration sudo service apache2 restart

    
réponse donnée daumie 08.01.2018 - 22:47
la source
0

Sur Ubuntu 16.04 :

Ajoutez ServerName localhost au fichier httpd.conf usin la commande suivante.

sudo vi  /etc/apache2/httpd.conf

Puis incluez cette ligne Include httpd.conf à la fin de ce fichier

sudo vi /etc/apache2/apache2.conf

Vérifiez à nouveau les erreurs de syntaxe

sudo apache2ctl configtest

Vous devriez maintenant recevoir

Syntax OK

Vous pouvez maintenant redémarrer le serveur normalement en rechargeant la configuration

sudo service apache2 reload

ou tuer le processus et recommencer

sudo service apache2 restart
    
réponse donnée daumie 08.01.2018 - 22:48
la source

Lire d'autres questions sur les étiquettes