Lorsque je redémarre mon serveur Apache à l'aide de la commande
sudo /etc/init.d/apache2 restart
J'obtiens l'erreur suivante:
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
Le serveur utilise-t-il 127.0.1.1 au lieu de 127.0.0.1? Quelles sont les causes de cette erreur?
apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
ensuite, utilisez un éditeur de texte tel que & quot; sudo nano & quot; 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
dans le 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 ne fonctionnera pas).
À 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 conf.d répertoire.
Apache n'utilise plus le conf.d répertoire. Tous les fichiers de configuration sont stockés à l'intérieur /etc/apache2/conf-available le répertoire et tous les fichiers de configuration devraient maintenant avoir un .conf extension.
Afin de résoudre ce message dans Apache 2.4, nous devons créer un fichier de configuration dans le répertoire conf-available. Exemple servername.conf.
sudo vi /etc/apache2/conf-available/servername.conf
Et à l'intérieur de cela, nous avons juste besoin d'ajouter une ligne
ServerName localhost
Vous pouvez combiner les deux commandes précédentes en une seule 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, il suffit de remplacer localhost avec tout 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 pour 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 ensuite, vous auriez à écrire sudo a2enconf ngenericserver.
Après cela, rechargez le serveur et le message ci-dessus ne vous dérangera plus.
sudo service apache2 reload
ou
sudo apache2ctl graceful
Maintenant, après cela, vous verrez que le message ne sera plus affiché et le problème sera résolu.
Apache2 peut également obtenir le nom de domaine complet à partir d'un nom d'hôte système correctement configuré plutôt que d'être codé en dur dans le fichier de configuration apache. Le codage en dur causera également de la confusion si le nom d'hôte change. En fait, vous n'en avez pas besoin ServerName directives en httpd.conf ou tout fichier de configuration apache.
où 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 d'autres services sur votre machine à fonctionner correctement (c'est-à-dire l'invite de connexion, montrant This is hostname.domainname.com au lieu de This is hostname.unknown_domain.)
Je trouve qu'il est un peu mieux de créer un nouveau fichier dans /etc/conf.d que de modifier soit apache2.conf ou httpd.conf.
C'est une préférence personnelle qui sépare mes modifications de configuration 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.
Spécifier ServerName localhost dans vos fichiers de configuration en dehors des sections de l'hôte virtuel est la façon de le faire.
D'autres réponses suggèrent que vous devriez modifier /etc/apache2/httpd.conf. Ce fichier est écrasé lorsque Apache est mis à niveau à partir d'apt. Pour une configuration Apache que vous ne souhaitez pas écraser, vous devez créer un nouveau fichier. Voici la "manière Debian" de faire ce changement de configuration:
# create the configuration file in the "available" sectionecho "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf# enable it by creating a symlink to it from the "enabled" sectionsudo a2enconf servername# restart the serversudo service apache2 restart
C'est fondamentalement la même chose que la réponse de Stark, mais sous une forme de script facile à copier et coller. J'avais initialement posté ceci dans une question marquée comme duplicata: https://askubuntu.com/a/432408