Este documento proporciona una introducción al servidor web Apache. Apache es el servidor HTTP de código abierto más popular debido a su modularidad, código abierto, compatibilidad multiplataforma y extensibilidad. El documento describe los módulos, logs, virtual hosts y operaciones básicas de Apache, así como su instalación, configuración y herramientas como AWStats para generar estadísticas.
2. Introducción (1/9)
Conceptos básicos
Servidor web HTTP de código abierto
Plataformas Unix (BSD, GNU/Linux, etc.), Microsoft
Windows, Macintosh y otras.
Implementa el protocolo HTTP/1.1
Se desarrolla dentro del proyecto HTTP Server
(httpd) de la Apache Software Foundation.
Apache es el servidor HTTP más usado.
Extremadamente estable.
5. Introducción (4/9)
Módulos
La arquitectura del servidor Apache es muy
modular. Servidor = core + módulos
mod_ssl - Comunicaciones Seguras vía TLS.
mod_rewrite - Reescritura de direcciones.
mod_jk - Conector para enlazar con Tomcat.
Índice: http://httpd.apache.org/docs/2.0/es/mod/
6. Introducción (5/9)
Módulos - mod_jk
Reemplaza al antiguo módulo mod_jserv.
Protocolo ajp13: Apache JServ Protocol version 1.3
Uso de Workers: Equivalen instancias de Tomcat.
Varios worker para hacer balanceo o particionar.
Se configura en el fichero:
/etc/libapache2-mod-jk/workers.properties
Para Instalar:
sudo apt-get install libapache2-mod-jk libapache-mod-
jk-doc apache2-threaded-dev
7. Introducción (6/9)
Logs
/var/log/apache2/
acces.log: El servidor almacena información sobre
todas las peticiones que procesa.
error.log: Almacena información de diagnóstico y
errores que encuentre al procesar peticiones.
Logs para módulos.
Rotación de Logs
8. Introducción (7/9)
VirtualHost
Un servidor web puede servir varios dominios.
Dos formas de hacer virtual hosting:
• Por nombre de dominio
• Por dirección IP
Cada VirtualHost se configura por separado, con
sus logs, directivas, restricciones, etc.
/etc/apache2/sites-available
9. Introducción (8/9)
Seguridad: Conceptos básicos
SSL: Secure Sockets Layer (Protocolo de Capa de
Conexión Segura). Autenticación y privacidad de la
información entre extremos mediante el uso de
criptografía
HTTPS: Hypertext Transfer Protocol Secure
(Protocolo seguro de transferencia de hipertexto). Es
utilizado principalmente por entidades bancarias,
tiendas en línea, y cualquier tipo de servicio que
requiera el envío de datos personales o contraseñas.
10. Introducción (9/9)
¿Porqué usar Servidor HTTP?
Seguridad.
Contenido estático y balanceador de carga.
Gestionar accesos a aplicaciones.
11. Instalación
Instalar en Ubuntu
sudo apt-get install apache2
Se instala en: /etc/apache2/
Crea scritp de arranque: /etc/init.d/apache2
sudo find / -name apache2
Desinstalar en Ubuntu
sudo apt-get remove --purge apache2
14. Configuración (1/2)
Directivas de configuración
Cientos de directivas de configuración
http://httpd.apache.org/docs/2.2/es/mod/directives.html
Fichero de configuración general:
/etc/apache2/apache2.conf
VirtualHost por defecto:
/etc/apache2/sites-available/default
Puertos de escucha:
/etc/apache2/ports.conf
15. Configuración (2/2)
Directivas de configuración
Fichero de configuración de directivas
/etc/apache2/httpd.conf
Conectar Apache con Tomcat
16. AWSTATS (1/3)
Conceptos básicos
Herramienta open source para la generación de
estadísticas de manera gráfica.
Script en perl que lee nuestros logs y genera
gráficas de accesos.
Entre la información que se muestra está:
• Visitas por día, mes, semana...
• Ips de origen, navegador y sistema operativo
• URL y país de origen desde la que nos visitan
• Documentos más vistos
• Palabras usadas en los motores de busqueda
18. AWSTATS (3/3)
Conceptos básicos
Instalación: sudo apt-get install awstats
El fichero de configuración se encuentra en
/etc/awstats/awstats.conf
El CGI se encuentra en /usr/lib/cgi-bin/awstats.pl
Las estadísticas se actualizan cada 10 minutos
mediante una tarea programada.
http://awstats.sourceforge.net/