Instalé Apache durante mucho tiempo como parte de la configuración del entorno de desarrollo en mi computadora portátil.
Sin embargo, desde que lo detuve hace unos meses, ya no se inicia automáticamente en el arranque. Tengo este problema en mi computadora portátil en casa Y en mi computadora portátil en el trabajo.
En ambos casos, instalé Apache en Ubuntu 10.10 hace algunos meses, lo usé durante varias semanas sin problemas, pero un día lo detuve y ahora ya no se inicia automáticamente. Intenté ejecutar la actualización rc manualmente, pero me dijeron que el script de inicio ya está en uso.
Sin embargo, comenzar / reiniciarlo manualmente con
sudo service apache2 start/restart
funciona bien. En ambos casos, lo dejé hasta después de la actualización a 11.04, porque esperaba que la nueva versión lo resolviera. ¡Pero no lo es! Estaría agradecido si alguien me puede decir cómo hacer que Apache se inicie automáticamente una vez más.
Estoy agregando esta respuesta en función de los problemas recientes que encontré con los mismos síntomas.
Primero algunos datos de fondo:
/etc/init.d/
carpeta para iniciar / detener servicios./etc/init.d/
scripts, almacenados en las/etc/rc#.d/
carpetas, para iniciar / detener servicios basados en el "nivel de ejecución"./etc/rc1.d/
nivel de ejecución 1 ejecuta las secuencias de comandos enlazadas , el nivel de ejecución 2 usa/etc/rc2.d/
, etc.sudo update-rc.d apache2 defaults
que crea los enlaces simbólicos apropiados en las/etc/rc#.d/
carpetas.Entonces, parece que en mi servidor se ejecutó algo, o alguien,
sudo update-rc.d apache2 disable
que eliminó todos los enlaces simbólicos "S" y los reemplazó por enlaces simbólicos "K". Así matando, o simplemente no comenzando, Apache al inicializar cualquiera de los niveles de ejecución.Mi solución fue solo volver a habilitar Apache:
Ahora Apache se inicia / detiene como se esperaba al iniciar o cambiar los niveles de ejecución.
NÓTESE BIEN:
Vale la pena señalar que simplemente ejecutar de
sudo update-rc.d apache2 defaults
nuevo es insuficiente porque ve que existen enlaces simbólicos y considera que son lo que se desea. Solo responde con:fuente
sudo update-rc.d apache2 enable defaults
, elimina lo que tengo y luego lo vuelve a colocar. TengoK09apache2
en rc0, 1 y 6, y tengoS91apache2
en rc2, rc3, rc4, rc5.service apache2 start
funciona bien, pero tengo que hacerlo después de cada reinicio ya que no se iniciará automáticamente. mysql, por otro lado, siempre comienza bien./var/log/syslog
y/var/log/apache2/error.log
. Envíame un mensaje con el enlace a la pregunta y veré si puedo ayudarte.En este caso, descubrí por qué Apache no comenzaría. No pude encontrar un rastro de esto en los registros de inicio, solo en el resultado impreso en la pantalla en el arranque.
Pero aquí tienes: la última línea del script
/etc/apache2/apache2.conf
falló.¿Por qué?
Dice:
Include sites-enabled/
Sin embargo, dos de los sitios que he configurado se encuentran en mi propio directorio de inicio, ¡que está encriptado!
Entonces, en el arranque (durante el inicio de Apache) estos sitios no existen, y Apache falla y se niega a ejecutarse.
¿Solución?
He creado un pequeño script llamado "disable_sites" y un enlace simbólico en
/etc/rc0.d
y/etc/rc6.d
(apagado y reinicio):También hice un script para volver a habilitar los sitios cada vez que inicio sesión y lo agregué como un programa de inicio en la Configuración del sistema. ¡Así que ahora funciona!
Entonces, supongo que la lección aquí es que cuando Apache no se carga inexplicablemente durante el arranque y no puede encontrar ningún error en los registros o al iniciar el servidor manualmente, verifique si todos los directorios que necesita están disponibles. Esto probablemente también podría resolverse de alguna otra manera.
fuente
apachectl configtest
le habría notificado sobre la falta de permisos para acceder a los archivos, mientras se ejecuta como daemon.Para otros que buscan (buscar en Google) este problema, verifique que si ejecuta:
usted obtiene
de lo contrario hacer:
(lo siento en ubuntu chkconfig equivalente es update-rc.d ¿ves la alternativa Chkconfig para Ubuntu Server? )
fuente
Tuve el mismo problema y estoy ejecutando Ubuntu 14 en una configuración local de Vagrant. Eliminé el
/etc/apache2/sites-enabled
directorio y agregué un enlace a mi directorio de inicio, que por supuesto está montado en mi disco local de acuerdo con las configuraciones de Vagrant.Resulta que apache no estaba viendo el directorio porque el recurso aún no estaba montado. Reescribí mi disposición en Vagrant para simplemente copiar el
sites-enabled
directorio en lugar de agregar un enlace simbólico.También hice
sudo update-rc.d apache2 enable
lo sugerido porKarl Wilbur
para asegurarme de que apache init estaba habilitado.fuente