Versión 2.0 del Servidor HTTP Apache

Apache > Servidor HTTP > Documentación > Versión 2.0

# Iniciar Apache

Idiomas disponibles: de | en | es | ja | ko | ru

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`.

### Consulte también

- Parar y reiniciar Apache
- `httpd`
- `apachectl`

## 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), 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.

## Errores Durante el Arranque

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:

- 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 estos problemas, en la sección de Preguntas Frecuentes de Apache.

## Iniciar Apache al Iniciar el Sistema

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.

## 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 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.

Idiomas disponibles: de | en | es | ja | ko | ru