13.04 y mayores

13.04 y mayores

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/hostnametambién puede usarlo en lugar de localhost.


Y se usa 127.0.1.1si está dentro de tu /etc/hosts:

127.0.0.1 localhost
127.0.1.1 myhostname

Metodo preferido

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.ddirectorio.

Apache ya no usa el conf.ddirectorio. Todos los archivos de configuración se almacenan dentro /etc/apache2/conf-availabledel directorio y todos los archivos de configuración ahora deberían tener una .confextensió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 localhostcon el que necesite. A continuación tienes que habilitar esta configuración. Para esto, necesita ejecutar el siguiente comando:

sudo a2enconf servername

a2enconfes un comando para habilitar un archivo de configuración en Apaches 2.4. También tenga en cuenta que servernameel comando anterior proviene del nombre del archivo de configuración servername.conf. Si su archivo de configuración fuera ngenericserver.confentonces 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 ServerNamedirectiva httpd.confni 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.comestá 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.comen 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.

información relacionada