Este documento explica cómo instalar, configurar y ejecutar Apache 1.3 bajo Microsoft Windows. Por favor, dése cuenta que la versión de Apache para windows es enteramente experimental y se recomienda, solamente, para usuarios experimentados. El grupo Apache no garantiza que este software funcione como se cita en la documentación, o incluso que funcione en absoluto. Si encuentra cualquier fallo, por favor documéntelo en nuestra página de informes de fallos. Estas contribuciones son bienvenidas, por favor incluya su código o sugerencias en la página de informes de fallos o únase a la lista de correo httpd.
La página de informe de fallos y la lista de correo httpd NO están para responder preguntas sobre la configuración o ejecución del programa Apache. Antes de indicar un fallo o petición, consulte primero la página de Preguntas Formuladas Frecuentemente y otros temas de documentación relevantes. Si todavía tiene alguna pregunta o problema, publíquela en el grupo de noticias comp.infosystems.www.servers.ms−windows, donde son mayoría los usuarios del programa Apache y varias contribuciones que los deseos de responder nuevas y obscuras preguntas sobre el uso de Apache en windows.
Los archivos del grupo de noticias deja.com ofrecen un despliegue sencillo de preguntas anteriores. Al buscar en los archivos del noticiero, encontraremos habitualente nuestra preguntada y respondida por otros usuarios.
Aviso: Apache para NT no ha sido optimizado para un buen rendimiento. Apache todavía rinde mejor y es más fiable en plataformas Unix. Para la próxima versión 2.0 de Apache para plataformas windows se ha hecho un gran progreso y se ha mejorado el rendimiento. Todavía se pide comparar a los compañeros las versiones de servidores web contra Apache en plataformas Unix como Solaris, FreeBSD o Linux.
En la mayor parte de este documento se asume que estamos instalando Windows desde distribuciones binarias. Si queremos compilar Apache por nosotros mismos (posiblemente para ayudar en el desarrollo o localizar fallos), iremos a Compilar Apache para Microsoft Windows.
Apache 1.3 está diseñado para ejecutarse sobre Windows NT 4.0 y Windows 2000. El código binario del instalador sólo funcionará con procesadores de la familia x86, como los Intel. Apache puede ejecutarse, también, sobre Windows 95 y 98, pero no ha sido probado. En cualquier caso, el protocolo TCP/IP debe estar instalado.
Si estamos trabajando con NT 4.0, es recomendable instalar el Service Pack 3 ó 6, ya que el Service Pack 4 creó una serie de falos de integridad en el protocolo TCPIP/WinSock que fueron resueltos en posteriores Service Packs.
Aviso: Es necesario "Winsock 2" para Apache 1.3.7 y posteriores.
Si estamos en Windows 95, La actualización de "Winsock2" ha de ser realizada antes de ejecutar Apache. "Winsock2" para Windows 95 está disponible aquí o aquí. Date por avisado que la actualización Dialup Networking 1.2 (MS DUN) incluye Winsock2 pero que es completamente insuficiente y que por consiguiente la actualización de Winsock2 debe de ser hecha después de instalar dialup networking para Windows 95.
Se puede encontrar información sobre la última versión de Apache en la página http://www.apache.org/httpd. Aquí se informará de la versión actual, así como las versiones alfa y beta más recientes, junto con los detalles del resto de sitios donde se encuentran estas versiones y FTPs con acceso anónimo donde encontrarlos.
Deberíamos descargarnos la versión de Apache para Windows con la extensión .exe. Es un único fichero que contiene el servidor Apache, listo para ejecutarse. Puede que encontremos un fichero con extensión .zip que contiene el código fuente de Apache para Windows para que lo compilemos nosotros mismos. Si no encontramos el fichero con extensión .zip, entonces buscaremos otro con extensión .tar.gz, pero éste contendrá el código fuente pero conteniendo líneas con terminaciones Unix. Tendremos que convertir por lo menos los ficheros con extensiones .mak y .dsp de texto al formato DOS antes de que el compilador MSVC entienda lo que contiene.
Ejecute el fichero .exe que contiene Apache y que descargamos anteriormente. El programa nos preguntará por:
\Program
Files\Apache Group\Apache
aunque podemos cambiarlo e indicar otro directorio)
Durante la instalación, Apache configurará los ficheros en el directorio conf ubicado en el directorio de instalación que indicáramos antes. Sin embargo, si alguno de los ficheros ya existen, NO serán sobreescritos. En vez de sobreescribirlo, se guardará con la extensión .default. Es decir, si por ejemplo conf\httpd.conf ya existe, éste no será alterado, pero aparecerá una nueva versión que será conf\httpd.conf.default. Después, de que la instalación haya terminado, deberemos comprobar manualmente si existe algo nuevo en el fichero .default, y si es necesario actualizar nuestros ficheros de configuración.
También, si ya tenemos un fichero llamado htdocs\index.html, entonces no será sobreescrito (ningún fichero index.html.default será instalado tampoco). Esto debería significar que instalar Apache sobre otra instalación es segura (pero tendremos que parar la ejecución del servidor antes de realizar la instalación, y entonces ponerlo en marcha cuando hayamos terminado la nueva instalación).
Después de instalar Apache, debemos editar los ficheros de configuración en el directorio conf según sea necesario. Estos ficheros ya serán configurados durante la instalación para que Apache pueda ser ejecutado desde el directorio donde es instalado, con los documentos que se ofrecen a la red htdocs. Hay muchas otras opciones que deberían ser fijadas antes de que realmente comenzáramos a usar Apache. Sin embargo, para comenzar rápidamente, los ficheros instalados deberían funcionar tal y como están.
Hay dos formas de ejecutar Apache:
¡Complete los pasos siguientes antes de intentar ejecutar Apache como un "servicio" de windows!
Para ejecutar Apache desde una consola, seleccione la opción "Start Apache as console app" desde el menú de inicio de windows (en la versión 1.3.4 de Apache y anteriores, esta opción se llamó "Apache Server"). Esto abrirá la consola y Apache comenzará desde ella. La ventana permanecerá activa hasta que paremos la aplicación Apache. Para parar la aplicación Apache en marcha, podemos pulsar el icono "Shutdown Apache console app" que está en el menú de inicio de Windows (esta opción no está disponible en la versión 1.3.4 y anteriores), o bien recurrir a Controlando Apache en una Consola donde se explican los comandos para controlar Apache en una ventana de consola.
En Apache 1.3.13 y posteriores es más seguro pulsar Ctrl+C o Ctrl+Break para parar Apache desde una consola. Y también desde Windows NT/2000 con la versión 1.3.13, Apache se parará de buen grado si seleccionamos 'Close' desde el menú del sistema (pulsando el icono que hay en la parte superior-izquierda de la ventana de la consola) o pulsar el botón de cierre (X) en la esquina superior derecha. La opción del menú de cierre de la ventana y el botón de cierre (X) también funcionan en Windows 95/98 así como en la versión 1.3.15 de Apache. Pero no lo intente en versiones más antiguas del servidor Apache, ya que Apache no limpiaría la memoria.
Si tienes problemas al arrancar Apache, por favor, usa los siguientes pasos para aislar el problema. Ésto se aplica si has empezado Apache usando el acceso rápido "Start Apache as a console app" desde el menú de inicio y la ventana de la consola de Apache se cierra immediatamente (o inesperadamente) o si tiene problemas al empezar Apache como servicio.
Ejecuta la opción "Command Prompt" desde el menú /menú de inicio/programas de Windows. Pasa a la carpeta donde instalaste Apache, escribe la instrucción apache y lee el mensaje de error. Entonces revisa el fichero error.log. Si aceptaste los valores por defecto cuando instalaste Apache, las instrucciones serían:
c: cd "\program files\apache group\apache" apache Espera a que termine o pulsa Ctrl+C more <logs\error.log
Después de mirar el fichero error.log tendrás una buena oportunidad de averiguar lo que salió mal y ser capaz de fijar el problema e intentarlo de nuevo. Si fueras incapaz de terminarlo entonces sigue por favor la guía de asistencia en la cabecera de este documento o en el FAQ. Muchos usuarios descubren que la naturaleza del fichero httpd.conf es más fácil que gestionar y auditar que hacerlo página tras página de diálogos de ventanas.
Después de empezar Apache (en una ventana de consola, o como un servicio) estará escuchando en el puerto 80 (a menos que cambiaras las directrices de los ficheros de configuración Port, Listen o BindAddress). Para conectarse al servidor y aceder a la página que aparece por omisión, abre el navegador y escribe la siguiente dirección:
http://localhost/
Esta dirección debería responder con una página de bienvenida y un enlace al manual de Apache. Si no ocurre nada u obtienes un error, mira en el fichero error.log en el directorio logs. Si tu host no está conectado a la red puede que tengas que usar la siguiente dirección URL:
http://127.0.0.1/
Una vez que tu instalación básica esté funcionando, deberías configurarla adecuadamente editando los ficheros ubicados en el directorio conf.
Debido a que Apache NO PUEDE compartir el mismo puerto con otras aplicaciones TCP/IP, puede que necesites parar o desinstalar ciertos servicios primero. Esto incluye (pero no limita) otros servidores de páginas web y productos de filtrado de paquetes (firewall) como BlackIce. Si solamente puedes empezar Apache con estos servicios deshabilitados, reconfigura Apache o los otros productos de tal forma que no estén escuchando al mismo puerto TCP/IP. Puedes encontrar la instrucción de windows "netstat -an" útil para averiguar qué puertos están en uso.
Apache está configurado por los ficheros ubicados en el directorio conf. Son los mismos ficheros que se utilizan para configurar la versión Unix de Apache, pero hay unas pocas directrices diferentes para la versión de Windows de Apache. Mira todas las directrices disponibles en la Documentación Apache.
Empieza configurando el servidor Apache revisando el fichero httpd.conf
y sus directrices. Aunque los ficheros access.conf
ysrm.conf
existen, son ficheros antiguos que no utilizan ya la mayoría de los administradores
y no encontrarás directrices dentro.
httpd.conf
contiene una gran cantidad de documentación
por sí mismo, seguido de unas directrices iniciales de configuración
recomendadas para el arranque del servidor Apache. Comienza leyendo estos comentarios
y comprendiendo el fichero de configuración y haciendo pequeños
cambios, rearrancando el servidor Apache en una ventana de consola por cada
cambio. Si haces algún fallo será fácil volver a la última
modificación que funcionaba. Tendrás una mejor idea de qué cambio
provocó que el servidor fallara.
Las diferencias principales en la versión Apache para Windows son:
MaxRequestsPerChild 0
, que evita que el proceso
termine. ThreadsPerChild 50
. \modules
. Para activar éstos u otros módulos, se ha de
usar la nueva directriz LoadModule.
Por ejemplo, para activar el módulo de estado, debes utilizar lo siguiente
(aparte de las directrices de activación de estados del fichero access.conf
):
LoadModule status_module modules/mod_status.so
La información de cómo crear módulos cargables está también accesible. Debes notar que algunos módulos de terceros pueden ser distribuidos en el antiguo formato de nombres, ApacheModuleFoo.dll. Fija siempre la instrucción LoadModule como se indique en la documentación que traiga consigo.
Los íconos del menú de inicio y el gestor de servicios de NT pueden facilitar una interfaz simple para administrar Apache. Pero en algunos casos es más fácil trabajar desde la línea de comandos.
Cuando trabajamos con Apache es importante conocer cómo encuentra los ficheros de configuración. Puedes especificar un fichero de configuración en la línea de comandos de dos modos:
apache -f "c:\my server\conf\my.conf" apache -f test\test.conf
apache -n "service name"
En estos casos, el ServerRoot adecuado debería ser fijado en el fichero de configuración.
Si no especificas un fichero de configuración con -f o -n, Apache usará el fichero compilado en el servidor, normalmente "conf/httpd.conf". Invocar a Apache con -V mostrará este valor etiquetado como SERVER_CONFIG_FILE. Apache determinará su ServerRoot probando lo siguiente en este orden:
El servidor raiz compilado en el servidor es normalmente "/apache". Invocando a Apache con el commutador -V mostrará este valor etiquetado como HTTPD_ROOT.
Cuando es invocado desde el menú de inicio, Apache se hace normalmente sin argumentos; por tanto, usar la entrada correspondiente al registro de windows es la técnica preferida para la consola de Apache.
Durante una instalación binaria, una clave de registro habrá sido instalada, por ejemplo:
HKEY_LOCAL_MACHINE\Software\Apache Group\Apache\1.3.13\ServerRoot
Esta clave es compilada en el servidor y te puede permitir probar nuevas versiones sin afectar a la versión actual. Desde luego debes tener cuidado de no instalar la nueva versión encima de la antigua en el sistema de ficheros.
Si no haces una instalación binaria, Apache puede, en algunos contextos, quejarse de la pérdida de la clave de registro. Este aviso puede ser ignorado si de cualquier forma es capaz de encontrar los ficheros de configuración.
El valor de esta clave está en el directorio "ServerRoot", conteniendo el directorio conf. Cuando Apache comienza leerá el fichero httpd.conf en este directorio. Si este fichero contiene una directriz ServerRoot que es diferente respecto al directorio obtenido en la clave de registro anterior, Apache olvidará la clave de registro y utlizará el directorio que está en el fichero de configuración. Si copias el directorio de Apache o los ficheros de configuración a una nueva ubicación es vital que actualices el directorio de ServerRoot en el fichero httpd.conf poniendo la nueva localización.
Para ejecutar Apache desde la línea de comandos como una aplicación de consola, utiliza la siguiente instrucción:
apache
Apache se ejecutará y permanecerá así hasta que sea parado pulsando control-C.
Puedes indicar a Apache que pare si abrimos otra ventana de consola y ejecutamos lo siguiente:
apache -k shutdown
Nota: Esta opción solo está disponible con Apache 1.3.3 y posteriores.
Para versiones anteriores debes usar Control-C en la consola donde se ejecute Apache para que termine el servidor.
Desde la versión 1.3.3 hasta la 1.3.12, debería utilizarse, en vez de pulsar Control-C en la ventana desde donde se ejecute Apache, porque permitiría a Apache terminar cualquier transacción y limpiar cualquier rastro.
Ya que la 1.3.13 libera los recursos al pulsar Control-C en la ventana desde donde se ejecuta Apache, también puedes utilizar -k stop como un pseudónimo para -k shutdown. Las versiones anteriores no entienden la opción -k stop.
Puedes indicar también que Apache se reinicie. Esto provoca que se vuelvan a leer los ficheros de configuración. Cualquier transacción que en marcha tendrá la posibilidad de terminar sin interrupción. Para reiniciar Apache debes ejecutar:
apache -k restart
Nota: Esta opción está disponible con apache 1.3.3 y posteriores. Para versiones anteriores necesitas utilizar Control-C en la consola de Apache para terminar la ejecución del servidor y comenzar entonces el servidor con el comando Apache.
Otra característica MUY ÚTIL es la opción de prueba de los ficheros de configuración. Para probar los ficheros de configuración de Apache ejecutar:
apache -t
Es especialmente útil seguir las alteraciones de los ficheros de configuración mientras Apache está ejecutándose. Puedes hacer cambios, confirmar que la sintaxis es buena con la instrucción "apache -t", luego reinicia Apache con "apache -k restart". Apache volverá a leer los ficheros de configuración, permitiendo que cualquier transacción activa termine sin interrupción. Cualquier petición nueva será servida utilizando la nueva configuración.
Nota: para la gente familiarizada con la versión Unix de Apache, estos
comandos dan a Windows el equivalente a -TERM
pid
y kill -USR1
pid.
La opción de la instrucción utilizada, -k
, se eligió
como recuerdo de la instrucción "kill" de Unix.