Versión 2.2 del Servidor HTTP Apache
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
.
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.
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:
Puede encontrar más información sobre cómo solucionar problemas, en la sección de Preguntas Frecuentes de Apache.
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.
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.