iniciar Apache - Servidor HTTP Apache Versión 2.2

Apache Server 2.2

<-

iniciar Apache

Esta traducción podría estar obsoleta. Consulte la versión en inglés de la documentación para comprobar si se han producido cambios recientemente.

En Windows, Apache se ejecuta normalmente como un servicio en Windows NT, 2000 and XP, y como una aplicacion de consola en Windows 9x y ME. Para obtener más información, consulte Ejecutar Apache como un servicio y Ejecutar Apache como una aplicación de consola.

En Unix, el programa httpd se ejecuta como un demonio (daemon) de forma silenciosa y atiende las peticiones que le lleguen. Este documento describe cómo invocar el programa httpd.

top

Cómo iniciar Apache

Si el puerto especificado en la directiva Listen del fichero de configuración es el que viene por defecto, es decir, el puerto 80 (o cualquier otro puerto por debajo del 1024), entonces es necesario tener privilegios de usuario root (superusuario) para iniciar Apache, de modo que pueda establecerse una conexión a través de esos puertos privilegiados. Una vez que el servidor Apache se ha iniciado y ha completado algunas tareas preliminares, tales como abrir sus ficheros log, lanzará varios procesos, procesos hijo, que hacen el trabajo de escuchar y atender las peticiones de los clientes. El proceso principal, httpd continúa ejecutandose como root, pero los procesos hijo se ejecutan con menores privilegios de usuario. Esto lo controla el Módulo de MultiProcesamiento (MPM) seleccionado.

La forma recomendada para invocar el ejecutable httpd es usando el script de control apachectl. Este script fija determinadas variables de entorno que son necesarias para que httpd funcione correctamente en el sistema operativo, y después invoca el binario httpd. apachectl pasa a httpd cualquier argumento que se le pase a través de la línea de comandos, de forma que cualquier opción de httpd puede ser usada también con apachectl. Puede editar directamente el script apachectl y cambiar la variable HTTPD variable que está al principio y que especifica la ubicación exacta en la que está el binario httpd y cualquier argumento de línea de comandos que quiera que esté siempre presente.

La primera cosa que hace httpd cuando es invocado es localizar y leer el fichero de configuración httpd.conf. El lugar en el que está ese fichero se determina al compilar, pero también es posible especificar la ubicación en la que se encuentra al iniciar el servidor Apache usando la opción de línea de comandos -f

/usr/local/apache2/bin/apachectl -f /usr/local/apache2/conf/httpd.conf

Si todo va bien durante el arranque, la sesión de terminal se suspenderá un momento y volverá a estar activa casi inmediatamente. Esto quiere decir que el servidor está activo y funcionando. Puede usar su navegador para conectarse al servidor y ver la pagina de prueba que hay en el directorio DocumentRoot y la copia local de esta documentación a la que se puede acceder desde esa página.

top

Errores Durante el Arranque

Si Apache encuentra una error irrecuperable durante el arranque, escribirá un mensaje describiendo el problema en la consola o en el archivo ErrorLog antes de abortar la ejecución. Uno de los mensajes de error más comunes es "Unable to bind to Port ...". Cuando se recibe este mensaje es normalmente por alguna de las siguientes razones:

  • Está intentando iniciar el servidor Apache en un puerto privilegiado (del 0 al 1024) sin haber hecho login como usuario root; ó
  • Está intentando iniciar el servidor Apache mientras está ya ejecutando Apache o algún otro servidor web en el mismo puerto.

Puede encontrar más información sobre cómo solucionar problemas, en la sección de Preguntas Frecuentes de Apache.

top

Iniciar Apache al Iniciar el Sistema

Si quiere que el servidor Apache continú su ejecución después de reiniciar el sistema, debe añadir una llamada a apachectl en sus archivos de arranque (normalmente rc.local o un fichero en ese directorio del tipo rc.N). Esto iniciará Apache como usuario root. Antes de hacer esto, asegúrese de que la configuración de seguridad y las restricciones de acceso de su servidor Apache están correctamente configuradas.

El script apachectl está diseñado para actuar como un script estandar de tipo SysV init; puede tomar los argumentos start, restart, y stop y traducirlos en las señales apropiadas para httpd. De esta manera, casi siempre puede simplemente enlazar apachectl con el directorio init adecuado. Pero asegúrese de comprobar los requisitos exactos de su sistema.

top

Información Adicional

En la sección El Servidor y Programas de Soporte puede encontrar más información sobre las opciones de línea de comandos que puede pasar a httpd y apachectl asi como sobre otros programas de soporte incluidos con el servidor Apache. También hay documentación sobre todos los módulos incluidos con la distribucion de Apache y sus correspondientes directivas asociadas.