
Cuando reinicio mi servidor Apache usando el comando
sudo /etc/init.d/apache2 restart
Obtuve el siguiente error:
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
¿El servidor utiliza 127.0.1.1 en lugar de 127.0.0.1? ¿Qué causa este error?
Respuesta1
13.04 y mayores
Esto es sólo una advertencia amistosa y no es realmente un problema (ya que algo no funciona).
Si vas a:
/etc/apache2/apache2.conf
e inserte:
ServerName localhost
y luego reinicie Apache escribiendo en la terminal:
sudo systemctl reload apache2
el aviso desaparecerá.
Si tiene un nombre dentro, /etc/hostname
también puede usarlo en lugar de localhost
.
Y se usa 127.0.1.1
si está dentro de tu /etc/hosts
:
127.0.0.1 localhost
127.0.1.1 myhostname
Solución de problemas de Apache
Si recibe este error:
apache2: Could not determine the server's fully qualified domain name,
using 127.0.0.1 for ServerName
luego use un editor de texto como "sudo nano" en la línea de comando o "gksudo gedit" en el escritorio para crear un nuevo archivo,
sudo nano /etc/apache2/conf.d/fqdn
o
gksu "gedit /etc/apache2/conf.d/fqdn"
Luego añade
ServerName localhost
al archivo y guárdelo. Todo esto se puede hacer con un solo comando con lo siguiente:
echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn
Pero en Ubuntu 14.04:
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/fqdn.conf
sudo a2enconf fqdn
No olvides el ".conf" (sin él no funcionará).
Respuesta2
13.10 o más reciente
A partir de Apache 2.4, que está disponible de forma predeterminada a partir de 13.10, no puede utilizar el método para agregar un archivo de configuración en el conf.d
directorio.
Apache ya no usa el conf.d
directorio. Todos los archivos de configuración se almacenan dentro /etc/apache2/conf-available
del directorio y todos los archivos de configuración ahora deberían tener una .conf
extensión.
Para resolver este mensaje en Apache 2.4, tenemos que crear un archivo de configuración dentro del directorio conf-available. Por ejemplo servername.conf
.
sudo vi /etc/apache2/conf-available/servername.conf
Y dentro de esto solo necesitamos agregar una línea.
ServerName localhost
Puedes combinar los dos comandos anteriores en uno con:
echo "ServerName localhost" | sudo tee /etc/apache2/conf-available/servername.conf
Si desea utilizar un nombre de dominio o cualquier otro nombre según el requisito, está bien, simplemente reemplácelo localhost
con el que necesite. A continuación tienes que habilitar esta configuración. Para esto, necesita ejecutar el siguiente comando:
sudo a2enconf servername
a2enconf
es un comando para habilitar un archivo de configuración en Apaches 2.4. También tenga en cuenta que servername
el comando anterior proviene del nombre del archivo de configuración servername.conf
. Si su archivo de configuración fuera ngenericserver.conf
entonces tendría que escribir sudo a2enconf ngenericserver
.
Después de esto, vuelva a cargar el servidor y el mensaje anterior ya no le molestará.
sudo service apache2 reload
o
sudo apache2ctl graceful
Ahora, después de esto, verá que el mensaje no se volverá a mostrar y el problema se solucionará.
Respuesta3
Apache2 también puede obtener el FQDN de un nombre de host del sistema configurado correctamente en lugar de codificarlo en el archivo de configuración de Apache. Codificarlo también causará confusión si cambia el nombre de host. En realidad, no necesita ninguna ServerName
directiva httpd.conf
ni ningún archivo de configuración de Apache.
Pon lo siguiente en /etc/hosts
:
# IPv4 and IPv6 localhost aliases
127.0.0.1 hostname.domainname.com hostname localhost
::1 hostname.domainname.com hostname localhost
¿Dónde hostname.domainname.com
está el FQDN de su máquina?
Junto con un nombre de host configurado correctamente en /etc/hostname/
o con hostnamectl
, esto también ayudará a que otros servicios en su máquina se ejecuten correctamente (es decir, que se muestre el mensaje de inicio de sesión This is hostname.domainname.com
en lugar de This is hostname.unknown_domain
.)
Respuesta4
En la nueva versión de Apache2, simplemente sigue un comando como este:
sudo nano /etc/apache2/apache2.conf
Agregue la siguiente nueva línea al final del archivo:
ServerName localhost
Luego reinicie apache2:
sudo service apache2 restart
Está hecho.