Versión 2.0 del Servidor HTTP Apache
En Windows, Apache se ejecuta normalmente como un servicio en Windows NT, 2000 y XP, y como una aplicación 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) en modo silencioso y atiende las peticiones
que le lleguen. Este documento explica 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), es
necesario tener privilegios de usuario root (superusuario) para
iniciar Apache. Solamente con esos privilegios puede establecerse
una conexión a través de esos puertos. Una vez que el
servidor Apache se ha iniciado y ha completado algunas tareas
preliminares, como abrir sus ficheros log, lanzará varios
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.
El método recomendado para invocar el ejecutable
httpd
es usar el script de control
apachectl
. Este script fija los valores de
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
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 cuando
use este script.
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 página 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 se produce algún error irrecuperable durante el proceso de
arranque de Apache, aparecerá 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 estos problemas, en la sección de Preguntas Frecuentes de Apache.
Si quiere que el servidor Apache continúe 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
algún fichero un 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 estándar 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 cuales son los
requerimientos específicos 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 a apachectl
así
como sobre otros programas de soporte incluidos con el servidor
Apache. También hay documentación sobre todos los módulos incluidos con la distribución de
Apache y sus correspondientes directivas asociadas.