Instalé apache2 en ubuntu 13.10. Si trato de reiniciarlo usando
sudo /etc/init.d/apache2 restart
Recibo este mensaje:
AH00558: apache2: no se pudo determinar de manera confiable el nombre de dominio completo del servidor, utilizando 127.0.1.1. Establezca la directiva 'ServerName' globalmente para suprimir este mensaje
Entonces leí que debería editar mi httpd.conf
archivo. Pero, como no puedo encontrarlo en la /etc/apache2/
carpeta, intenté localizarlo usando este comando:
/usr/sbin/apache2 -V
Pero el resultado que obtengo es este:
[Fri Nov 29 17:35:43.942472 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOCK_DIR} is not defined
[Fri Nov 29 17:35:43.942560 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_PID_FILE} is not defined
[Fri Nov 29 17:35:43.942602 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_RUN_USER} is not defined
[Fri Nov 29 17:35:43.942613 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_RUN_GROUP} is not defined
[Fri Nov 29 17:35:43.942627 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Fri Nov 29 17:35:43.947913 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Fri Nov 29 17:35:43.948051 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
[Fri Nov 29 17:35:43.948075 2013] [core:warn] [pid 14655] AH00111: Config variable ${APACHE_LOG_DIR} is not defined
AH00526: Syntax error on line 74 of /etc/apache2/apache2.conf:
Invalid Mutex directory in argument file:${APACHE_LOCK_DIR}
La línea 74 de /etc/apache2/apache2.conf
es esta:
Mutex file:${APACHE_LOCK_DIR} default
Eché un vistazo a mi /etc/apache2/envvar
archivo, pero no sé qué hacer con él.
¿Qué tengo que hacer?
apache-2.2
ubuntu
Kurt Bourbaki
fuente
fuente
Respuestas:
Este mensaje se muestra porque ejecutó directamente el binario apache2. En Ubuntu / Debian, la configuración de apache se basa en el archivo envvar que solo está activado.
Si comienza apache con el script de inicio o apachectl.
Su problema original es que no tiene un nombre de host adecuado (fqdn) para su máquina.
Si no se puede cambiar, cambiar la
ServerName
variable en la/etc/apache2/apache2.conf
quelocalhost
o su preferida FQDN.fuente
ServerName localhost
aapache2.conf
(porquehttpd.conf
no siempre se usa en Ubuntu) y ahora todo funciona como debería. ¿Podría agregar detalles a sus respuestas para que pueda marcarlo como aceptado?apache2ctl
principio no funcionó para mí, tuve que usar el servicio :sudo service apache2 restart
apache2
comando en primer lugar?AH00558: apache2: Could not reliably determine the server's fully qualified domain name
pero no resuelveConfig variable ${APACHE_LOCK_DIR} is not defined
.Obtenga sus envvadores ejecutándolo así:
y entonces
Deberías obtener:
fuente
/etc/apache2/envvars
no existeapachectl -V
lugar de cargar las variables de entorno manualmente.source /etc/apache2/envvars && sudo -E apache2 -V
o inicie sesión como loroot
hace según la respuesta anterior. El aprovisionamiento de apache2 env a un usuario normal que luego necesita usar sudo no funcionará sin "-E". Los permisos de usuario normales no pueden leer la carpeta privada del certificado, entre otros problemas. Obtendrás un error. Debe sudo -E o ejecutar completamente en la cuenta raíz.CMD . /etc/apache2/envvars; /usr/sbin/apache2 -DFOREGROUND
Comprueba tu
/etc/apache2/envvars
APACHE_LOCK_DIR. En mi Ubuntu 12.04, esto es/var/lock/apache2$SUFFIX
, SUFFIX normalmente está vacío.Compruebe si el directorio existe y se puede escribir.
¿Puede ser que el archivo envvars no se obtenga correctamente? Si echas un vistazo
/etc/init.d/apache2
, puedes ver que se originó.Mi (predeterminado)
/etc/apache2/envvars
:Si nada funciona, intentaría reinstalar los paquetes.
fuente
Como dijo otro, debe cargar (fuente) su entorno antes de ejecutarlo directamente Otra opción es usar:
apache2ctl
por ejemplosudo apache2ctl -S
deshacerse de mis anfitriones
fuente
TL; DR; Debes comenzar apache2 usando lo que ya tienes:
Detallado:
Este mensaje significa que necesita definir su nombre de servidor / nombre de dominio. No es esencial hacerlo para un host local / prueba de producción, no necesita preocuparse por eso.
Cuando intente ejecutarlo de otra manera, usando solo
apache2
, obtendrá esos mensajes de error debido a lo que se dijo antes: las variables de entorno se definen cuando comienza a usar el script predeterminadoinit.d
.fuente
Quizás esto resuelva tu problema
fuente
Necesita actualizar DocumentRoot de
/var/www/html
a/var/www
Edite el archivo /etc/apache2/sites-available/000-default.conf de la siguiente manera
fuente
Esto funciona para mi
fuente