Solución 1:
Desea agregar su secuencia de comandos de inicio al nivel de ejecución apropiado. El guión de inicio suele ser /etc/init.d/apache2
donde podría ejecutar manualmente /etc/init.d/apache2 start
para iniciarlo.
En Gentoo escribiría:
rc-update add apache2 default
En Ubuntu/Debian esto funciona:
sudo update-rc.d apache2 defaults
En Red Hat Linux/Fedora/CentOS un poco de google muestra esto:
chkconfig --add httpd
Varía un poco de una distribución a otra, pero la idea suele ser la misma. Básicamente, todos estos comandos hacen un enlace simbólico desde /etc/init.d/
a la carpeta de nivel de ejecución adecuada en /etc/
.
Solución 2:
Esto es lo que finalmente funcionó para mí. Esto supone que usted es el usuario root.
- vi /etc/init.d/apache2 (edítelo como se muestra a continuación)
- chmod 755 /etc/init.d/apache2
- chkconfig --añadir apache2
- chkconfig --list apache2 (para verificar que funcionó)
Contenido de /etc/init.d/apache2:
#!/bin/bash # # apache2 Startup script for the Apache HTTP Server # # chkconfig: 3 85 15 # description: Apache is a World Wide Web server. It is used to serve \ # HTML files and CGI. /usr/local/apache2/bin/apachectl [email protected]
Puede obtener el nivel de ejecución ejecutando /sbin/runlevel, que en mi caso fue 3. Y, por supuesto, debe llamar a su versión de apachectl, que en mi caso fue /usr/local/apache2/bin/apachectl
Gracias a lo siguiente:
- La respuesta de Evan Teran +1 por la ayuda
- La respuesta de Russell Heilling + 1 por la ayuda
- man chkconfig
- Este enlace de sysdigg que contenía la información sobre el nivel de ejecución.
Solución 3:
Comprueba si tienes el httpd
script de inicio en el /etc/rc.d
directorio. En caso afirmativo, puede ejecutar el siguiente comando que habilita el httpd servicio para iniciar en el momento del arranque.
chkconfig --level 345 httpd on
Si no tiene el script de inicio, simplemente agregue el /etc/rc.local
archivo con apachectl -k start
(el comando para iniciar Apache).
Solución 4:
Como ha instalado por fuente, no habrá un script de inicio instalado en el directorio /etc/init.d/. El binario apachectl está diseñado para ser compatible con las opciones de secuencia de comandos de inicio estándar, por lo que es posible que pueda simplemente vincularlo en lugar de crear una secuencia de comandos contenedora (por ejemplo, ln -s /usr/local/sbin/apachectl /etc/init.d/ apache)
Luego puede seguir los procedimientos descritos en las otras publicaciones para agregar enlaces para invocar el script de inicio en los niveles de ejecución correctos.
Cita:documentación de Apache http://httpd.apache.org/docs/2.2/invoking.html
Comenzando en el momento del arranque
Si desea que su servidor continúe ejecutándose después de reiniciar el sistema, debe agregar una llamada a apachectl a los archivos de inicio de su sistema (generalmente rc.local o un archivo en un directorio rc.N). Esto iniciará Apache como root. Antes de hacer esto, asegúrese de que su servidor esté correctamente configurado para la seguridad y las restricciones de acceso.
El script apachectl está diseñado para actuar como un script de inicio SysV estándar; puede tomar los argumentos start, restart y stop y traducirlos a las señales apropiadas para httpd. Por lo tanto, a menudo puede simplemente vincular apachectl al directorio de inicio apropiado. Pero asegúrese de comprobar los requisitos exactos de su sistema.