Apache 2 es un proyecto de The Apache Software Foundation y es el servidor HTTP más utilizado en internet. Es de código abierto, seguro, eficiente, extensible a través de módulos y está disponible para los sistemas operativos Windows, OS X, GNU/Linux, Unix, FreeBSD, Solaris, NetWare, OS/2, TPF, OpenVMS y eComStation.
Contar con Apache 2 es muy útil para probar localmente aplicaciones que funcionan sobre un servidor web, antes de realizar una instalación en los servidores finales, ya sea en servidores propios, servidores VPS, servicio de hosting o sobre la nube. De hecho es parte importante de todo equipo de desarrollo web, testers y analistas de QA y QC. Apache 2 es open source y está disponible a través de la licencia Apache License 2.0.
Si bien es cierto que nos enfocaremos en el sistema operativo Ubuntu 14.04.3 LTS, la información es válida para cualquier distribución basada en paquetes .deb.
Instalación de Apache 2 y soporte para php
Vamos a considerar la instalación de Apache 2 con soporte para php, ya que hay mucho software escrito en ese lenguaje.
Realizar la instalación desde la línea de comandos es tan fácil como hacer lo siguiente:
luis@starseedstation:~$ sudo apt-get install apache2 libapache2-mod-php5
[sudo] password for luis:
Leyendo lista de paquetes... Hecho
Creando árbol de dependencias
Leyendo la información de estado... Hecho
Se instalarán los siguientes paquetes extras:
apache2-bin apache2-data php5-cli php5-common php5-json php5-readline
Paquetes sugeridos:
apache2-doc apache2-suexec-pristine apache2-suexec-custom apache2-utils
php-pear php5-user-cache
Se instalarán los siguientes paquetes NUEVOS:
libapache2-mod-php5 php5-cli php5-common php5-json php5-readline
Se actualizarán los siguientes paquetes:
apache2 apache2-bin apache2-data
3 actualizados, 5 se instalarán, 0 para eliminar y 45 no actualizados.
Necesito descargar 5.947 kB de archivos.
Se utilizarán 20,4 MB de espacio de disco adicional después de esta operación.
¿Desea continuar? [S/n] s
Des:1 http://archive.ubuntu.com/ubuntu/ trusty/main php5-json amd64 1.3.2-2build1 [34,4 kB]
Des:2 http://archive.ubuntu.com/ubuntu/ trusty-updates/main php5-common amd64 5.5.9+dfsg-1ubuntu4.12 [443 kB]
Des:3 http://archive.ubuntu.com/ubuntu/ trusty-updates/main php5-cli amd64 5.5.9+dfsg-1ubuntu4.12 [2.161 kB]
Des:4 http://archive.ubuntu.com/ubuntu/ trusty-updates/main php5-readline amd64 5.5.9+dfsg-1ubuntu4.12 [12,1 kB]
Des:5 http://archive.ubuntu.com/ubuntu/ trusty-updates/main apache2 amd64 2.4.7-1ubuntu4.6 [87,6 kB]
Des:6 http://archive.ubuntu.com/ubuntu/ trusty-updates/main apache2-bin amd64 2.4.7-1ubuntu4.6 [841 kB]
Des:7 http://archive.ubuntu.com/ubuntu/ trusty-updates/main apache2-data all 2.4.7-1ubuntu4.6 [160 kB]
Des:8 http://archive.ubuntu.com/ubuntu/ trusty-updates/main libapache2-mod-php5 amd64 5.5.9+dfsg-1ubuntu4.12 [2.208 kB]
…
Como pueden ver, la herramienta apt-get resolvió las dependencias necesarias y no hay que ocuparse de ellas manualmente.
Comprobación del estado del servicio
luis@starseedstation:~$ sudo service apache2 status
* apache2 is running
También es posible confirmar si el puerto 80 – por defecto – está escuchando o no:
luis@starseedstation:~$ netstat -tln
Conexiones activas de Internet (solo servidores)
Proto Recib Enviad Dirección local Dirección remota Estado
tcp 0 0 127.0.1.1:53 0.0.0.0:* ESCUCHAR
tcp 0 0 0.0.0.0:22 0.0.0.0:* ESCUCHAR
tcp 0 0 127.0.0.1:631 0.0.0.0:* ESCUCHAR
tcp6 0 0 :::80 :::* ESCUCHAR
tcp6 0 0 :::22 :::* ESCUCHAR
tcp6 0 0 ::1:631 :::* ESCUCHAR
Configuración
Los archivos y directorios de configuración están en /etc/apache2:
apache2.conf: este es el archivo de configuración principal; incluye la información del resto de los archivos cuando el servicio se levanta.
ports.conf: se invoca desde el archivo principal y contiene la información de los puertos en los cuales el servicio escucha.
Los directorios mods-enabled/, conf-enabled/ y sites-enabled/ contienen una parte de la configuración, ya sea en relación a los módulos, fragmentos de la configuración global, o en relación a la configuración de los virtual hosts.
Registro
Los archivos del registro se encuentran en el directorio /var/log/apache2/, y es posible verlos de la siguiente forma:
luis@starseedstation:/var/log/apache2$ tail -f access.log
127.0.0.1 - - [25/Sep/2015:14:16:01 -0500] "GET / HTTP/1.1" 200 3594 "-" "Mozilla/5.0 (X11; Linux i686 (x86_64)) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.93 Safari/537.36"
…





