Tutoriales Varios

Instalar Apache en nuestro PC Windows

¿que requerimientos necesitamos

Nosotros nos referimos aqui a instalación bajo windows 98, que será sensiblemente igual a la instalación bajo cualquier SO de la familia windows.
Necesitamos un ordenador con un procesador de la familia x86 (cualquiera INTEL, desde el 386 a la familia pentium), y el protocolo TCP/IP instalado. La documentación nos indica que bajo win 95 necesitamos tener instaladas las winsock 2.

Obteniendo el software

Apache es un proyecto open source de la fundación apache.org. Puedes obtener el programa en su sitio web, http://www.apache.org.

Aunque se trata de un proyecto orientado al sistema operativo unix/linux, existe una versión para windows. La fundación apache advierte que esta versión windows no está completamente probada, y puede presentar fallos; no obstante viene siendo utilizada sin problemas en muchos lugares. En el directorio binaries/win32 encontramos la última versión.

En el momento de actualizar este artículo, Apache mantiene dos series distintas, la 1.3.xx y la 2.xx. Mientras que en la mayoria de servidores web que operan en la red aun se sigue utilizando la versión 1.3.xx (posiblemente porque es una versión plenamente probada en condiciones de uso real), la fundación apache recomienda el uso de su versión 2.xx.

Si deseas instalar Apache localmente para pruebas, quizas te convenga replicar la exacta versión utilizada en el servidor que aloja tu página web; en otro caso, posiblemente sea mejor ir acostumbrandose a la nueva versión apache 2.
Lo que si es importante es que elijas la serie que elijas, procures mantener el software actualizado a la última entrega, ya que las ultimas versiones (de cada serie) incorporan las mejoras de seguridad mas recientes.

Instalando los archivos

La instalación básica del servidor apache es similar en sus versiones 1.3 y 2. Puedes obtener versiones binarias (ejecutables) de instalación sencillisima.

La versión binaria de apache para windows viene, desde la versión 1.3.17, en formato msi; Necesitarás por tanto el instalador de Microsoft, incorporado de serie en Windows Me y Windows 2000 y posteriores.
Para otros sistemas operativos windows, tienes que bajarte previamente el MSI INSTALLER. Por ejemplo, para windows 95 o 98 puedes obtenerlo (gratis) en esta dirección. Es un instalador utilizado por infinidad de programas, asi que es muy posible que actualmente ya esté en tu disco duro.

Una vez dispongamos del instalador MSI, la instalacion del ejecutable Apache tiene nula dificultad.
La única precaución destacable es la de desinstalar cualquier versión previa de apache que tengamos (de la misma serie), lo que conseguimos fácilmente desde inicio/panel de control/instalar desinstalar programas.

Bajamos el ejecutable de la red a un directorio temporal, por ejemplo c:temp, y una vez allí lo ejecutamos con un doble click de ratón, comenzando un proceso típico de instalación, en el que apenas habremos de intervenir: tras aceptar los términos de la licencia y pasar un readme file, nos solicita que introduzcamos el nombre de la red, nombre del servidor y email del webmaster; si tienes un nombre de dominio y las dns correctamente configuradas (es decir, si tu apache va a operar en internet) puedes meter aqui los datos pertinentes.

Si aun no sabes de que estamos hablando al referirnos a las DNS, o simplemente piensas usar apache como servidor de pruebas, puedes especificar localhost como nombre de la red y nombre de dominio, y cualquier email como direccion del webmaster.

A continuación corresponde elegir el tipo de instalación que queremos, es decir, "completa", que instala todo menos el código fuente (es decir, el programa y la documentación) o "custom", que permite por ejemplo no instalar la documentación. Elegimos la opción completa. Lo siguiente que nos pregunta es la carpeta donde queremos que se instale. Por defecto, apache crea una carpeta en c:Archivos de programa, siendo la ruta completa C:Archivos de programaApache GroupApache (C:Archivos de programaApache GroupApache2 si usamos apache 2), aunque podemos elegir otro destino.

los directorios de apache

Un servidor apache tiene dos directorios esenciales, o tres, segun la instalación elegida.

ServerRoot es el directorio donde están los programas que ejecutan el servidor. Por defecto se instala en C:Archivos de programaApache GroupApache, con sus subdirectorios correspondientes.

DocumentRoot es el directorio donde se instalan los archivos que serán servidos a los visitantes; las páginas web. Por defecto está en C:Archivos de programaApache GroupApachehtdocs.

source tree es el directorio donde está el código fuente del servidor, si lo hemos instalado (en C:Archivos de programaApache GroupApachesrc

Primera prueba

La instalación por defecto de Apache permite comenzar a operar con él de forma inmediata, aunque luego veremos alguna configuración básica.
Si estamos usando windows 98, debemos ejecutar y controlar Apache en modo dos, por lo que abriremos una sesion (inicio/programas/msdos) y nos movemos al directorio de apache, y escribimos
apache -t

C:Archivos de programaApache GroupApachebin>apache -t
Syntax OK

C:Archivos de programaApache GroupApache2bin>_

Todavía no estamos lanzando el servidor, simplemente consultamos si la sintaxis de los archivos de configuración es correcta (deberá serlo ya que aun no hemos tocado nada).
La primera linea es la entrada que tecleamos nosotros (apache -t), la segunda la respuesta del servidor (syntax OK) y la tercera es el prompt del sistema a la espera de mas instrucciones.

Como puedes ver, en win 98 apache se ejecuta en linea de comandos, es decir, nada de bonitas interfaces gráficas. Pero los comandos básicos son realmente sencillos, asi que no supone ningun inconveniente.
Por si hace falta un refresco de tus nociones de ms-dos, recordar que para moverte entre directorios debes usar la instrucción cd, de tal forma que con cd.. retrocedes un directorio (por ejemplo para ir de c:/windows al directorio raiz c:/) y para avanzar a subdirectorios, la instrucción cd nombrededirectorio. Y una cosa mas, para moverte cómodamente en DOS con nombres largos, escribelos entrecomillados: asi, para ir desde c:/ al directorio de apache escribiriamos sucesivamente:

C:>
C:>cd "archivos de programa"

C:Archivos de programa>cd "apache group"

C:Archivos de programaApache Group>cd apache

C:Archivos de programaApache GroupApache>

Bueno, y esto esta muy bien, pero no nos dice nada. Hagamos para asegurarnos de que todo está bien, una prueba con el navegador: iniciamos el servidor. Hay distintas formas de hacerlo, pero ya que estamos en una sesión DOS, escribimos

C:Archivos de programaApache GroupApache>apache -s

Apache/1.3.12 (Win32) running...

Nuestro servidor Apache está ejecutandose !!. Abrimos nuestro navegador favorito, y en la dirección escribimos:

http://localhost/

y deberemos visualizar una página que nos informa que la instalación ha sido un éxito.

¿que cual es esa dirección que hemos dado? es el nombre por defecto de nuestro ordenador, lo que nos permite usar el servidor para testear páginas incluso desconectados de internet.

En windows 98 ejecutamos apache desde una consola. Esa ventana de DOS quedará abierta; no debes cerrarla o terminarás (de mala manera) la sesión del servidor.
Si necesitas introducir mas comandos, por ejemplo para reiniciar o detener el servidor, puedes abrir otra ventana.

Si usas Apache bajo windows 98 en alguna de las series 1.3xx, en la página siguiente hablamos de una pequeña utilidad que te permite manejar el server sin necesidad de abrir consolas DOS, desde la barra de tareas. Esta utilidad (apmngr) no sirve para apache 2.0.

Y si usas Apache 2.0 bajo un sistema operativo mas reciente, como XP, tampoco es necesario usar la consola, ni ninguna utilidad adicional, ya que por defecto se instalará en la barra de sistema un monitor para iniciar/detener el servicio.

Configurando el servidor

Apache crea al instalarse un directorio llamado conf (ruta completa C:Archivos de programaApache GroupApacheconf), dentro del cual están los archivos de configuración del servidor, archivos que tendremos que modificar para adecuar a nuestro sistema.

El archivo que nos interesa es httpd.conf (que encontramos en el directorio conf).
Apache no sobreescribe los archivos de instalación, si encuentra alguno. Por ejemplo, si ya existe un httpd.conf, no se borra, y el nuevo archivo toma el nombre httpd.conf.default.
Lo mismo ocurre en la primera instalación, donde nos encontramos dos archivos idénticos, httpd.conf y httpd.conf.default, sirviendonos este último como copia de seguridad.

Se trata de un archivo de texto, que podemos manejar con cualquier editor capaz de guardar texto sin formato (notepad, por ejemplo), aunque si lo editamos con html-kit tendremos la comodidad de ver el código coloreado.
Veremos un montón de lineas. Todas las que empiezan por el carácter # son comentarios orientadores de las distintas opciones, o incluso opciones deshabilitadas (se activan "descomentándolas").
Algunas de las opciones mínimas (pueden estar ya ajustadas si introduciste los datos durante la instalación):

ServerAdmin you@your.adress

La dirección de correo del administrador (tu).
Esta dirección es la que aparecerá en páginas generadas por el servidor (por ejemplo si indica algun error) y permite a los usuarios informarte de problemas. Escribimos nuestra dirección, por ejemplo:

ServerAdmin webmaster@misitio.com

#ServerName new.host.name

El nombre del servidor; útil principalmente para redireccionamientos de url; advierte que por defecto viene comentado, luego no es esencial para el funcionamiento (si no hay un nombre de servidor especificado, apache toma la dirección IP de nuestro ordenador).
Podemos escribir el nombre de nuestro dominio (www.midominio.com) o nuestra IP, o localhost:

ServerName localhost

Lamentablemente no basta con tener a nuestra disposición un nombre de dominio, asignarlo como servername y esperar que funcione en la red. Para que un usuario pueda ver las paginas alojadas en nuestro servidor hará falta tener configurado un server dns que resuelva (traduzca) nuestro nombre de dominio a la ip correspondiente.
En manuales posteriores trataremos quizás del manejo de las DNS. De momento baste decir ahora que existen servicios gratuitos de direccionamiento de las DNS que te pueden permitir poner tu server apache en internet; pero mientras no tengas solucionado el tema de las dns el contenido de tu servidor solo será visible para ti, via localhost, o para cualquier persona via tu ip (htpp://tu_ip/tupagina.htm). Las opciones aqui son:

  • localhost. Solo podrá accederse al servidor (ver paginas) desde el mismo ordenador en que ha sido instalado. Como ventaja, no necesitas siquiera estar conectado a internet.
    127.0.0.1 es lo mismo que localhost.
  • tu.nu.me.ro.ip. Con ello el server será visible desde cualquier pc conectado a internet. Desventajas ? mas difícil de recordar y mas si es una IP dinámica. Hay servicios gratuitos (www.dyndns.com por ejemplo) que te permiten crear un subdominio del tipo miserver.dyndns.org que apunta a tu ip dinámica (tu ordenador conectará con dyndns para informar que está conectado y la IP asignada).
  • Existen servicios similares para IP fija. Gratis o pagando.
  • si no te gusta usar localhost, y no precisas conectar a traves de internet, puedes usar el ‘truco host’. Por ejemplo escribiendo en ese archivo www.midominio.com 127.0.0.1 cada vez que en el navegador escribas esa dirección verás tu server apache.
    Esto es utilisimo para testar una página con el mismo nombre que luego tendrá en la web, por ejemplo a efectos de cookies.

Otras directivas

Habrás observado que en determinados sitios web, para acceder al contenido, basta con teclear el nombre del dominio (por ejemplo http://www.altavista.com nos sirve la pagina principal del buscador), mientras que en otros casos hemos de teclear asimismo el nombre de la página (por ejemplo http://www.mipagina/index.html).
Tambien habrás observado que en ocasiones al teclear solo el nombre del dominio, sin la página, obtenemos un listado del directorio de archivos disponibles, o sencillamente obtienes un mensaje de error.
Todos estos comportamientos obedecen a concretas configuraciones de servidor, que ahora vamos a ver:

Indexes

Si incluimos esta opción, todo aquel que teclee solo nuestro nombre de dominio obtendrá un listado de los archivos disponibles, en lugar de la página principal.
Por defecto Apache establece la opcion Indexes para el directorio htdocs, que como sabemos es el raiz de nuestro servidor:

Options indexes FollowSymLinks MultiViews

Si no queremos que salga este listado, sencillamente borramos la palabra Indexes.

Ahora, quien escriba nuestro nombre de dominio, por ejemplo http://www.irvnet.com/ no obtendrá el listado de archivos, obtendrá un mensaje de error.

DirectoryIndex

Con esta opción evitamos ese error, indicando al servidor la página que ha de servir si el usuario no escribe ninguna. Por defecto es la siguiente:

DirectoryIndex index.html

y nosotros podemos añadir varias separandolas con un espacio. La preferencia la determina el orden de izquierda a derecha:

DirectoryIndex index.html index.htm indice.htm index.php

Manejando el servidor

Como hemos dicho, apache se ejecuta en modo consola, por lo que hemos de teclear las instrucciones, con la salvedad del encendido y apagado, donde podemos usar inicio/programas/Apache Web Server/ con las opciones start y stop.

los comandos básicos son:

apache -s inicia el servidor

apache -k start inicia el servidor

apache -k shutdown apaga el servidor

¡ejecutar desde una ventana de DOS nueva!

apache -k restart reinicia el servidor

Como usuario windows, trabajar en línea de comandos te resultará extraño; sin embargo, a este nivel de entrada, son como ves bien pocos los comandos a utilizar.
Particularmente el principal inconveniente que veo es el de dejar abierta la ventana de DOS donde se está ejecutando apache, y la necesidad de abrir una sesion de DOS nueva para reiniciar o cerrar el servidor. En un momento dado, es fácil que la barra de tareas de tu pantalla quede llena de botones de aplicaciones.

Pero como todo tiene remedio (estamos en el campo "open source", miles de personas para solucionar tus problemas), puedes bajarte un pequeño programa en moonspot.net que te ayudará a manejar el servidor, colocando un pequeño icono en el systray, desde el cual ponerlo en marcha, apagarlo o reiniciarlo, y lo que es mas importante, haciendo desaparecer las ventanas DOS del escritorio.
Simplemente, coje el ejecutable (apmgr.exe), copialo al directorio donde resida apache.exe, y ejecutalo.

Con esto ya hemos cubierto los pasos básicos y tenemos el servidor operativo. No olvides cambiar la página de bienvenida de apache en C:Archivos de programaApache GroupApachehtdocs por tu propio contenido.