httpd: no se pudo determinar de manera confiable el nombre de dominio completo del servidor, utilizando 127.0.0.1 para ServerName


172

Intenté reiniciar mi servidor Apache en CentOS 5.0 y recibí este mensaje:

httpd: no se pudo determinar de manera confiable el nombre de dominio completo del servidor, utilizando 127.0.0.1 para ServerName

Aquí está el /etc/hostsarchivo:

127.0.0.1    server4-245    server4-245.com    localhost.localdomain localhost
::1        localhost6.localdomain6 localhost6

Aquí está el /etc/sysconfig/networkarchivo:

NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=server4-245

También tengo esto en el archivo httpd.conf de Apache:

ServerName localhost

Sin embargo, sigo recibiendo el primer mensaje de error cuando reinicio Apache.


1
Asegúrate de haber editado el derecho httpd.conf. Por ServerName xylo general, está bien.
KingCrunch

Respuestas:


95

Su archivo de hosts no incluye un FQDN válido, ni es localhostun FQDN. Un FQDN debe incluir una parte de nombre de host, así como una parte de nombre de dominio. Por ejemplo, el siguiente es un FQDN válido:

host.server4-245.com

Elija un FQDN e inclúyalo en su /etc/hostsarchivo en las direcciones IPv4 e IPv6 que está utilizando (en su caso, localhosto127.0.0.1 ), y cambie su ServerNameconfiguración httpd para que coincida.

/ etc / hosts:

127.0.0.1    localhost.localdomain localhost host.server4-245.com
::1          localhost.localdomain localhost host.server4-245.com

httpd.conf:

ServerName host.server4-245.com

66
Tenga en cuenta también que querrá modificar su entrada HOSTNAME en su archivo / etc / sysconfig / network para que coincida con su nombre elegido.
Paul Stengel

2
Hmm Tengo: 127.0.0.1 localhost gondor gondor.localdomain 192.168.0.3 gondor.localdomain pero parece que Linux tampoco cree que gondor.localdomain sea un FQDN. ¿Cuál es el problema con eso? ¿Tengo que tener un TLD?
Adam

Hola, probé todo lo anterior y sigo recibiendo los mismos errores, no entiendo lo que me falta aquí. Mi FQDN es ak.local.com configurado de la misma manera que su respuesta, pero sigo teniendo los mismos problemas. Estoy corriendo en OSX 10.10
AKFourSeven

1
Descubrí que: 127.0.0.1 myserver myserver.mydom.com ... etc << no funciona 127.0.0.1 myserver.mydom.com myserver ... etc << funciona
Martin

208

Si no tiene una httpd.confcarpeta /etc/apache2, debería tener apache2.conf, simplemente agregue:

ServerName localhost

Luego reinicie el apache2servicio.


2
Funcionó perfectamente en Ubuntu 12.04 LTS ejecutando múltiples hosts virtuales.
Gor

3
Funcionó perfectamente en Mac OS 10.7.5 ejecutando múltiples hosts virtuales.
DudeOnRock

1
Trabajó en Mac OS 10.7.5 ejecutando Virtualbox
iWizard

3
Funcionó perfectamente en Centos 6.4.
Kel Solaar

77
Funcionó perfectamente en Centos 6 (versión en la nube), aunque httpd.conf estaba en / etc / httpd / conf /
gbarry el

64

Después de la instalación inicial del servidor Apache, recibí el siguiente error al reiniciar el servicio Apache en Ubuntu 12.04 (Precise Pangolin)

La solución es realmente simple. Simplemente agregue la ServerNamedirectiva a /etc/apache2/httpd.conf:

sudo nano /etc/apache2/httpd.conf

Añadir: ServerName localhost

Finalmente reinicie el servidor Apache:

sudo /etc/init.d/apache2 restart

1
Dentro de CentOS 7, la ruta será /etc/httpd/conf/httpd.conf
Debashis

11

Entonces, aunque esto fue respondido y aceptado, todavía apareció como un resultado de búsqueda superior y las respuestas, aunque presentadas (después de mucha investigación) me dejaron rascándome la cabeza y cavando mucho más. Aquí hay un diseño rápido de cómo resolví el problema.

Suponiendo que mi servidor es myserver.myhome.com y mi dirección IP estática es 192.168.1.150:

  1. Edite el archivo de hosts

    $ sudo nano -w /etc/hosts
    
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    
    127.0.0.1 myserver.myhome.com myserver
    
    192.168.1.150 myserver.myhome.com myserver
    
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    ::1 myserver.myhome.com myserver
    
  2. Editar httpd.conf

    $ sudo nano -w /etc/apache2/httpd.conf
    
    ServerName myserver.myhome.com
    
  3. Editar red

    $ sudo nano -w /etc/sysconfig/network HOSTNAME=myserver.myhome.com
    
  4. Verificar

    $ hostname
    
    (output) myserver.myhome.com
    
    $ hostname -f
    
    (output) myserver.myhome.com
    
  5. Reiniciar Apache

    $ sudo /etc/init.d/apache2 restart
    

Parecía que la diferencia estaba incluyendo myserver.myhome.com tanto la 127.0.0.1 como la dirección IP estática 192.168.1.150 en el archivo de hosts. Lo mismo en Ubuntu Server y CentOS.


9

En httpd.conf, busque "ServerName". Por lo general, se comenta de forma predeterminada en Mac. Simplemente descomente y complételo. Asegúrese de tener también el nombre / ip combo establecido en / etc / hosts.


Gracias, esto fue útil. httpd no estaba recogiendo mi fqdn en / etc / hosts, y mi nombre de host parecía configurado correctamente.
Banjer

8

Asegúrate de editar lo correcto httpd.conf archivo , entonces el error sobre el nombre de dominio del servidor no confiable debería desaparecer (este es el error más común).

Para localizar su httpd.confarchivo de configuración de Apache, ejecute:

apachectl -t -D DUMP_INCLUDES

Luego edite el archivo y descomente o cambie la ServerNamelínea a:

ServerName localhost

Luego reinicie su apache: sudo apachectl restart


1
"Asegúrese de que está editando el archivo htttpd.conf correcto", esto me ayudó en macOS. No estaba editando el http.confarchivo correcto . Gracias.
Asme Just


3

Hay dos formas de resolver este error:

  1. Include /etc/apache2/httpd.conf

    Agregue la línea anterior en el archivo /etc/apache2/apache2.conf

  2. Agregue esta línea al final del archivo /etc/apache2/apache2.conf :

    ServerName localhost


1

He resuelto el mensaje de nombre de dominio completo en diferentes ocasiones agregando el nombre de host de mi servidor al archivo /etc/apache2/httpd.conf y al /etc/apache2/apache2.confarchivo.

Escribe hostname -ftu terminal. Esta consulta devolverá su nombre de host.

Luego edite el /etc/apache2/httpd.confarchivo (o créelo si no existe por alguna razón) y agréguelo ServerName <your_hostname>.

Alternativamente, también he podido eliminar el mensaje agregándolo ServerName <your_hostname>al /etc/apache2/apache2.confarchivo.

Si todo va bien, cuando reinicie Apache, el mensaje desaparecerá.


1

La mayoría de las respuestas sugieren simplemente agregar ServerName localhosta /etc/apache2/apache2.conf.

Pero citando la documentación de Apache  :

La presencia de este mensaje de error también indica que Apache httpd no pudo obtener un nombre de host completo al realizar una búsqueda inversa en la dirección IP de su servidor. Si bien las instrucciones anteriores eliminarán la advertencia en cualquier caso, también es una buena idea corregir la resolución de su nombre para que esta asignación inversa funcione.

Por lo tanto, agregar una línea de este tipo /etc/hostses probablemente una solución más sólida:

192.0.2.0  foobar.example.com  foobar

donde 192.0.2.0 es la dirección IP estática del servidor nombrado foobardentro delexample.com dominio.

Uno puede verificar el FQDN, por ejemplo, con

hostname -A

(atajo para hostname --all-fqdn).


1

Resulta que tuve este problema y fue porque usé "pestañas" para sangrar líneas en lugar de espacios. Solo publicando, en caso de que ayude a alguien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.