Este artículo es parte del Curso Arquitectura Web. No olvides ver todo el programa y acceder a cada uno de los capítulos desde aquí.

Apache HTTP Server es probablemente uno de los programas más usados para servir aplicaciones web, aprenderemos a instalarlo, configurarlo y comprender cómo funciona.

En Linux haremos la instalación directamente del software, pero en Windows u OS x vamos a emularla preferiblemente con WAMP o XAMPP. ¿Porqué emularla y no instalar Apache HTTP directamente sobre Windows? aquí las razones:

  1. Apache HTTP Server no ofrece binarios para instalar directamente sobre Windows, solo código fuente, podrán ver que en la documentación oficial del programa nos hablan de esto.
  2. XAMPP o WAMP ya traen un Apache embebido, es decir viene “pre-instalado” dentro del programa y nos servirá para la misma finalidad, la cual es comprender acerca de la arquitectura web.
  3. El funcionamiento de Apache es el mismo en cualquier plataforma, se rige bajo las mismas normas/estructura y eso es lo que nos interesa estudiar a fondo.
  4. Si usted estuviese interesado en tener un servidor web productivo en Windows, problablemente sería mejor usar una herramienta nativa como IIS (Internet Information Services) pro dado que nos enfocamos en Apache como Servidor web por la temática del curso es por eso que la instalación en si no es un foco tan importante como la configuración y funcionamiento de Apache en General.

Finalmente XAMPP y WAMP son multiplataforma, podremos emular toda la funcionalidad del servidor web tanto en OSX como Windows.

En sus máquinas virtuales de este curso con Debian MATE y habiendo configurado los repositorios pueden instalar Apache HTTP Server de la siguiente forma:

Eso es todo, una vez instalado comprobamos que esta el servicio arriba, en nuestro navegador podremos escribir la I.P de nuestro equipo o simplemente http://localhost y deberíamos ver algo como esto o el mensaje “It works”.

apache_default_page

Para comprobar adicionalmente, podemos utilizar estos comandos:

Opcionalmente también se puede hacer lo mismo con un script de inicio:

Para comprobar que Apache se ejecuta podemos ejecutar las herramientas netstat, pgrep o ps aux. Netstat nos debería mostrar tcp6 0 0 :::80 :::* LISTEN 1517/apache2  (Es decir, apache se ejecuta en el puerto 80, ya lo hablamos antes), pgrep nos mostrará el proceso en ejecución y ps aux también mostrará el proceso en ejecución con más detalles.

XAMPP y WAMP son dos de las opciones sugeridas en la página oficial de Apache para la instalación de Apache HTTP Server en Windows.

Recordemos nuevamente, Apache HTTP Server no ofrece binarios para la instalación de Apache en Windows. Por eso vamos a utilizar un software que instala Apache en Windows (de una forma embebida y otras cuantas herramientas más que usaremos más adelante), en este caso podría ser XAMP o WAMP según ustedes elijan. Si bien hay ejecutables ofrecidos por terceros para instalar Apache en Windows, por efectos prácticos del curso XAMPP y WAMP nos ahorrarán horas de pelea con librerías en las diversas versiones de Windows.

Si ya tienen previamente instalado XAMPP o WAMP por favor realicen un backup del directorio donde lo han instalado pues realizaremos modificaciones más adelante.

Para fines prácticos en este curso se usará XAMPP, el cual podremos instalar en Windows o OS X (en Linux es posible pero seguiremos otros pasos, no instalaremos XAMPP en Linux). Pueden descargar el programa desde aquí.

Consideraciones para instalar XAMPP en Windows:

  • Para evitar carteles molestos, deshabilite el AUC (Control de Cuentas de Usuario) Inicio > Panel de Control > Cuentas de Usuario > Control de Cuentas de Usuario
  • Cuando se lo indique, habilite Apache para crear una regla en el Firewall
  • Verifique que la versión de XAMPP es acorde a la arquitectura de sistema operativo en su equipo 32b o 64b

La instalación en sí es sencilla, sigan el Wizzard paso a paso en Linux u OS X con las opciones por default. Una vez instalado inicien el servicio de Apache como se muestra en esta serie de imágenes.

Una vez hayamos completado la instalación podemos comprobar que apache está en ejecución correctamente escribiendo http://localhost en nuestro navegador:

apache_running_windows_xampp

Opcionalmente podemos revisar el administrador de tareas y buscar por el proceso httpd:

Servicio de Apache httpd en ejecución

Servicio de Apache httpd en ejecución

O también a través de CMD con el comando netstat (es válido al igual que en linux) En mi caso observarán que el apache corre en el puerto 80 (primera línea en las conexiones activas TCP 0.0.0.0:80 …..)  ¿Recuerdan lo que hablamos del puerto 80?

Apache en el puerto 80

Apache en el puerto 80

Ahora ya tenemos un servidor web en nuestro propio PC y vamos a comenzar a entenderlo, configurarlo y ¡aprovechar sus ventajas!