En un CentOS 7servidor, aparece el siguiente error cuando escribo sudo apachectl restartdespués de agregar un archivo de inclusión en la parte inferior de httpd.conf:
Job for httpd.service failed. See 'systemctl status httpd.service' and 'journalctl -xn' for details.
Cuando escribo sudo systemctl status httpd.service -l, el resultado es:
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: failed (Result: exit-code) since Tue 2014-12-23 20:10:37 EST; 2min 15s ago
Process: 2101 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Process: 2099 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 2099 (code=exited, status=1/FAILURE)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
Dec 23 20:10:37 ip-address httpd[2099]: AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
Dec 23 20:10:37 ip-address systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Dec 23 20:10:37 ip-address systemd[1]: Failed to start The Apache HTTP Server.
Dec 23 20:10:37 ip-address systemd[1]: Unit httpd.service entered failed state.
Puedo apachereiniciar si comento la directiva de inclusión, y puedo volver a crear el error al descomentar la directiva de inclusión. ¿Cómo puedo apachecomenzar a usar correctamente el contenido del archivo de inclusión?
La línea en la parte inferior de httpd.confque desencadena el error es: IncludeOptional sites-enabled/*.conf. El único .confarchivo en la sites-enabledcarpeta es mydomain.com.conf, que tiene los siguientes contenidos:
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot /var/www/mydomain.com/public_html
ErrorLog /var/www/mydomain.com/error.log
CustomLog /var/www/mydomain.com/requests.log combined
</VirtualHost>
El httpd.confes el mismo que lo que viene pre-instalado con httpd, a excepción de la línea directiva include anteriormente. Lo sé porque lo hice sudo yum remove httpd mod_ssly sudo yum install httpd mod_ssljusto antes de activar este error. Todo httpd.confse puede leer en un sitio para compartir archivos haciendo clic en este enlace .
Encontré este problema al seguir explícitamente los pasos de este tutorial .
Cuando comento el archivo de inclusión, http/mydomain.comsirve con éxito el contenido estático ubicado en /var/www/html, que es el DocumentRootdefinido en httpd.conf. El problema parece provenir de la VirtualHostdirectiva en el archivo de inclusión que se muestra arriba. Para ayudar en el diagnóstico, he incluido en EDITAR # 3 a continuación enlaces a todos los .confarchivos contenidos en las tres directivas de inclusión httpd.conf.
EDITAR # 1
Cuando intento el consejo de m32 para cambiar la /etc/hostnamedefinición mydomain.com, apacheaún no se reiniciará, y los systemctl status httpd.serviceresultados en lo siguiente:
[sudo_user_account@server-ip-address ~]$ sudo systemctl status httpd.service -l
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled)
Active: failed (Result: exit-code) since Tue 2014-12-23 14:25:35 EST; 20s ago
Process: 31993 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
Process: 31991 ExecStart=/usr/sbin/httpd $OPTIONS -DFOREGROUND (code=exited, status=1/FAILURE)
Main PID: 31991 (code=exited, status=1/FAILURE)
Status: "Total requests: 1; Current requests/sec: 0; Current traffic: 0 B/sec"
Dec 23 14:25:35 hostname systemd[1]: httpd.service: main process exited, code=exited, status=1/FAILURE
Dec 23 14:25:35 hostname systemd[1]: Failed to start The Apache HTTP Server.
Dec 23 14:25:35 hostname systemd[1]: Unit httpd.service entered failed state.
EDITAR # 2
También probé el consejo de eyoung100 para cambiar el contenido de mi /etc/hostsarchivo, como se define en la siguiente imagen, pero sigo teniendo el mismo error definido en EDITAR # 1 arriba.
EDITAR # 3
Por solicitud de DerekC, corrí sudo apachectl configtesty obtuve:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
Syntax OK
Además, según la sugerencia de GarethTheRed, examiné las directivas de inclusión en httpd.conf . Hay tres directivas de inclusión en httpd.conf . He enumerado los tres a continuación, junto con todos los archivos ubicados en la carpeta de cada directiva. Estos son todos los .confarchivos estándar instalados con httpd. No he modificado ninguno de ellos todavía. Puede ver cada uno de los .confarchivos en un sitio para compartir archivos haciendo clic en los enlaces a continuación:
Include conf.modules.d/*.confhace referencia a los siguientes archivos en el conf.modules.ddirectorio:
00-base.conf
00-dav.conf
00-lua.conf
00-mpm.conf
00-proxy.conf
00-ssl.conf
00-systemd.conf
01-cgi.conf
IncludeOptional conf.d/*.confhace referencia a los siguientes archivos en el conf.ddirectorio:
autoindex.conf
ssl.conf
userdir.conf
welcome.conf
También hay un archivo README que estoy omitiendo aquí.
Además, la IncludeOptional sites-enabled/*.confdirectiva y sus contenidos se describieron a fondo en el OP anterior.
¿Alguno de estos archivos de inclusión está en conflicto con la VirtualHostconfiguración de mydomain.com.conf?
EDITAR # 4
Según la sugerencia de garethTheRed, me mudé mydomain.com.confal conf.ddirectorio y luego comencé a comentar las líneas mydomain.com.confuna por una hasta que httpdpude reiniciar. Luego comencé a dejar de comentar líneas para ver cuántas líneas podían quedar y httpdaún así reiniciar. Pude httpdreiniciar, pero sigo systemctl status httpd.service -lproduciendo la misma advertencia:
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using fe80::e23f:49ff:feb7:2a21. Set the 'ServerName' directive globally to suppress this message
La VirtualHostsintaxis que permite httpdcomenzar (aunque continúa generando la advertencia anterior) es la siguiente:
<VirtualHost *:80>
ServerName www.mydomain.com
ServerAlias mydomain.com
DocumentRoot /var/www/mydomain.com/public_html
</VirtualHost>
Tenga en cuenta que tuve que omitir las siguientes líneas, cuya presencia aumenta la advertencia en una incapacidad completa para iniciar http:
# ErrorLog /var/www/mydomain.com/error.log
# CustomLog /var/www/mydomain.com/requests.log combined
Además, corrí sudo journalctl -xelu httpdy el terminal respondió repitiendo lo siguiente muchas veces:
--
-- Unit httpd.service has finished shutting down.
Dec 24 17:48:43 server-ip-address systemd[1]: Stopped The Apache HTTP Server.
-- Subject: Unit httpd.service has finished shutting down
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has finished shutting down.
Dec 24 17:48:48 server-ip-address systemd[1]: Starting The Apache HTTP Server...
-- Subject: Unit httpd.service has begun with start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has begun starting up.
Dec 24 17:48:48 server-ip-address httpd[10364]: AH00558: httpd: Could not reliably d
Dec 24 17:48:48 server-ip-address systemd[1]: Started The Apache HTTP Server.
-- Subject: Unit httpd.service has finished start-up
-- Defined-By: systemd
-- Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
--
-- Unit httpd.service has finished starting up.
--
-- The start-up result is done.
lines 887-909/909 (END)
Nota: Los resultados anteriores siguen siendo los mismos independientemente de si uso el archivo de hosts de eyoung100 o el archivo de hosts de m32. Para que esta pregunta sea respondida, creo que debería poder crear archivos de registro y también evitar la advertencia del nombre del servidor. De lo contrario, me temo que los pasos posteriores de configuración de httpd serán propensos a errores persistentes.
fuente

ServerNamedirectiva? Añádelo a tu pregunta.apachectl configtest?IncludeOptionalal final delhttpd.confarchivo original ? Creo que hay una instalación predeterminada. El problema puede ser que está agregando el extraIncludeOptionalal final, lo que obligaapachea leer el archivo de configuración incluido dos veces y, en consecuencia, hace que falle.mydomain.com.confa/etc/httpd/conf.d(donde están todos los demás) y eliminar/etc/httpd/sites-enabled(eso es algo de Debian / Ubuntu) y loIncludeOptionalque agregóhttpd.conf. Puede ignorar elAH00558mensaje por ahora ya que no se detieneapache. Luego, elimine una línea de suconfarchivo hasta que encuentre al culpable (o, alternativamente, comience con uno vacío y restaure una línea a la vez).Respuestas:
Los registros están causando los errores porque
apacheno pueden escribir en la raíz de su sitio web. Incluso si tuviera que arreglar los permisos de archivo, SELinux lo bloquearía; que solo permiteapacheescribir registros en/var/log/httpd. La solución más fácil sería cambiar su sitio web para iniciar sesión en este directorio, tal vez con un nombre de archivo que contenga el nombre del sitio web para diferenciarlo de otros registros.Para configurar el nombre de host del servidor y deshacerse de la advertencia AH00558, simplemente use:
p.ej
fuente
Recibí este error cuando olvidé establecer el nombre de host para la máquina. ¿Ya lo has hecho?
Ejecute este comando:
Verificar con
hostnameEditar:
con el OP actualizado, parece que su archivo de hosts no está configurado correctamente. Así es como se ve el mío;
Intenta configurarlo en algo simple como eso. Por supuesto, reemplace toda la información con la suya.
166.66.666.66con su propia IPm32.me and m32con su dominio y dominio sin el TLDfuente
AH00558error cuando uso su archivo de ejemplo de hosts, con miipymydomain.com mydomain.