SlideShare una empresa de Scribd logo
Servidor Web Apache 2.0
José Domingo Muñoz Rodrı́guez <josedom24@gmail.com>
Alberto Molina Coballes <alberto.molina@hispalinux.es>
15 de septiembre de 2006
Resumen
En este documento vamos a explicar los pasos para instalar, configurar
y poner en funcionamiento el servidor web Apache 2.0 en el servidor de la
DMZ. Vamos a utilizar la técnica de Virtual Hosting para tener dos sitios web
en el mismo servidor. Además vamos a poner en funcionamiento awstats
y webalizer que son dos programas que nos permiten generar estadı́sticas
analizando los ficheros logs de accesos a los sitios.
c José Domingo Muñoz Rodrı́guez y Alberto Molina Coballes. Algunos De-
rechos reservados.
Esta obra está bajo una licencia Attribution-ShareAlike 2.5 de Creative Com-
mons. Para ver una copia de esta licencia, visite:
http://creativecommons.org/licenses/by-sa/2.5/
1
1. Introducción a Apache 2.0
Un servidor Web es un programa que corre sobre el servidor que escucha las
peticiones HTTP que le llegan y las satisface. Dependiendo del tipo de la peti-
ción, el servidor Web buscará una página Web o bien ejecutará un programa en el
servidor. De cualquier modo, siempre devolverá algún tipo de resultado HTML
al cliente o navegador que realizó la petición.
El servidor HTTP Apache es un servidor HTTP de código abierto para plata-
formas Unix (BSD, GNU/Linux, etcétera), Windows y otras, que implementa el
protocolo HTTP/1.1 (RFC 2616) y la noción de sitio virtual.
La versión 2.x de Apache tiene varias mejoras clave sobre el núcleo de Apache
1.x. Estas mejoras incluyen threads de UNIX, mejor soporte para plataformas no
Unix (como Windows), un nuevo API, y soporte de IPv6.
2. Instalación del servidor web Apache 2.0
Vamos a instalar el servidor Web Apache 2.0 en Debian, para ello necesitamos
una conexión a internet y utilizaremos el comando apt-get para bajar e instalar
los paquete necesarios. De esta manera el comando que debemos escribir para la
instalación es el siguiente, teniendo en cunta que lo debemos hacer como root:
apt-get install apache2
Además del paquete apache2, se instalarán los siguientes paquetes:
Se instalarán los siguientes paquetes extras:
apache2-common apache2-mpm-worker apache2-utils libapr0 ssl-cert
3. Configuración del servidor web Apache 2.0
En Debian los ficheros de configuración los tenemos en /etc/apache2 siendo
apache2.conf el fichero principal. El promer problema que nos encontramos lo
observamos al reiniciar el servicio con la siguiente instucción:
/etc/init.d/apache2 restart
El aviso que nos da al volver a inciar el sevidor es el siguiente:
apache2: Could not determine the server’s fully qualified
domain name, using 127.0.1.1 for ServerName
Es decir, Apache2 no es capaz de determinar cual es el nombre de dominio to-
talmente qualificado1
con el que va a trabajar. Para solucionar esto tenemos que
poner la directiva ServerName en el fichero /etc/apache2/apache2.conf con el
nombre del dominio que vamos a utilizar2
.
1
El FQDN es el nombre completo de un sistema, incluyendo el ’nombre propio’ del sistema.
Por ejemplo, ati es un nombre de sistema y ati.es es un FQDN.
2
Este nombre de dominio no tiene porque estar registrado, podemos coger cualquier nombre
de dominio de ejemplo. En un próximo cápitulo estudiaremos como registrar un dominio para po-
der acceder desde internet a nuestra página. En este documento vamos a escoger midominio.com
como ejemplo de nombre de dominio.
2
Después de cualquier cambio en la configuración debemos volver a iniciar el
servicio:
/etc/init.d/apache2 restart
Bueno, continuando con la configuración de Apache2 veamos los ficheros y
directorios que nosotros vamos a utilizar para la configuración del servidor con
Virtual Hosting:
/etc/apache2/apache2.conf: Como hemos visto anteriormente es el fiche-
ro de configuracion principal del servidor. Por medio de directivas incluye
en este fichero los módulos necesrios y el resto de la configuración de los
restantes ficheros de configuración.
/etc/apache2/httpd.conf: Este fichero se mantiene por razones de compa-
tibilidad con la primera versión de Apache. Además se recomienda que la
configuración de los módulos de terceros vayan en este fichero.
/etc/apache2/sites-available: Es el directorio donde se tienen los ficheros
de configuración de los diferentes sitios virtuales. El fichero default contiene
la configuración del sitio por defecto.
/etc/apache2/sites-enabled: Es un directorio donde existe enlaces simbóli-
cos a los ficheros de configuración de los sitios virtuales (en el directorio
/etc/apache2/sites-available) que están activos.
/etc/apache2/ports.conf: Es el fichero de configuración donde se indica el
puerto por el que escucha el servidor, por defecto el 80.
/etc/apache2/mods-avalaible y /etc/apache2/mods-enabled: Ficheros de
configuración de los módulos de apache. Estos ficheros lo veremos más de-
tenidamente cuando instalemos PHP.
En los ficheros de configuración las lı́neas que comienzan con el sı́mbolo # son
comentarios y el servidor no las tiene en cuenta.
La configuración del servidor por defecto define un host virtual default cu-
yo directorio de trabajo es /var/www, por lo tanto para probar que el servidor
está instalado podemos poner en un navegador http://localhost, con lo que se vi-
sualizará la página web guardada en el directorio /var/www/apache2-default3
:
4. Virtual Hosting en Apache 2.0
4.1. ¿Qué son los hosts virtuales?
El término Virtual Hosting se refiere a hacer funcionar más de un sitio web
(tales como www.company1.com y www.company2.com) en una sola máquina.
Los sitios web virtuales pueden estar “basados en direcciones IP”, lo que significa
3
Este es el directorio por defecto configurado en el fichero /etc/apache2/sites-
available/default, que contiene la página web principal, si quieres cambiar este directorio
o simplemente no te sale la página de prueba comprueba la directiva RedirectMatch en el fichero
de configuración.
3
Figura 1: Página inicial de Apache2 tras instalarlo.
que cada sitio web tiene una dirección IP diferente, o “basados en nombres dife-
rentes”, lo que significa que con una sola dirección IP están funcionando sitios
web con diferentes nombres (de dominio). El hecho de que estén funcionando en
la misma máquina fı́sica pasa completamente desapercibido para el usuario que
visita esos sitios web.
4.2. Ejemplo de virtual hosting
Para explicar la técnica de Virtual Hosting vamos a trabajar con un ejemplo.
Este ejemplo nos va a ayudar a compreder la configuración de Apache 2.0 para
trabajar con diferentes sitios web virtuales basados en nombres diferentes, pos-
teriormente este mismo ejemplo lo vamos a utilizar para explicar como acceder
a estos sitios webs desde un servidor FTP con usuarios virtuales y además va-
mos a instalar dos CMS4
en cada uno de los sitios webs: joomla, que nos permite
montar un portal y moodle que nos permite configurar una plataforma educativa.
El ejemplo que vamos a implementar es el siguiente:
Vamos a definir por virtual hosting dos sitios webs, www.pagina1.com y
www.pagina2.com que van a ser servida por el mismo servidor web.
Como hemos dicho anteriormente el directorio por defecto donde se en-
cuentran las páginas web es /var/www. Nosotros no vamos a utilizar el
directorio /var, vamos usar el directorio /srv5
, donde crearemos la siguien-
te estructura de directorio:
• /srv/www/pagina1: Donde se encontrarán los ficheros del sitio web
correspondiente a www.pagina1.com.
• /srv/www/pagina2: Donde se encontrarán los ficheros del sitio web
correspondiente a www.pagina2.com.
4
Un Sistema de gestión de contenido (Content Management System, en inglés, abreviado
CMS) permite la creación y administración de contenidos principalmente en páginas web.
5
Según el Estándar Jerarquı́a de Sistemas de Ficheros, donde se define los principales directo-
rios y sus contenidos en GNU/Linux y otros sistemas operativos similares a Unix, el directorio
/srv contiene los datos especı́ficos de sitio servidos por el sistema.
4
En este primer paso vamos a hacer que el propietario de estos directorios
sea el usuario definido por Apache2 www-data. Posteriormente, cuando
configuremos el servidor FTP para acceder a estos directorios crearemos
dos usuarios virtuales que gestionarán cada una de las páginas, y por tanto,
serán los porpietariosd e cada uno de los directorios.
4.3. Configuración y puesta en marcha de los sitios virtuales
Lo primero que vamos a construir es la estructura de directorios donde vamos
a almacenar los siotios web. Para ello, y como root nos dirgimos al directorio /srv:
cd /srv
A continuación creamos el directorio www, cuyos subdirectorios (pagina1 y pa-
gina2) almacenarán los ficheros de los dos sitios web:
mkdir www
cd www
mkdir pagina1
mkdir pagina2
cd ..
Por último hacemos propietario del directorio www y todos sus subdirectorios al
usuario www-data que pertenece al grupo www-data:
chown -R www-data:www-data www
Veamos ahora la configuración de Apache2 para implementar los dos sitios vir-
tuales. Nos colocamos en el directorio /etc/apache2/sites-available, hacemos una
copia del fichero de configuración default que nos sirva como módelo para reali-
zar la configuración del primer sitio virtual:
cd /etc/apache/sites-available
cp default pagina1
nano pagina1
Los cambios que hay que realizar en este fichero son los siguientes:
1. La primera lı́nea NameVirtualHost * hay que eliminarla, ya que el nombre
del host virtual sólo debe aparecer en un fichero de configuración.
2. En la directiva ServerAdmin ponemos el usuario que administra dicha pági-
na. En nuestr caso será usuario1@pagina1.com.
3. En la directiva ServerName ponemos el nombre del dominio, en nuestro
caso www.pagina1.com
4. En la directiva DocumentRoot ponemos el directorio donde se almacena
este sitio web, en nuestro caso /srv/www/pagina1
5. En la segunda etiqueta Directory vamos a definir la configuración de nues-
tro directorio por lo tanto escribimos <Directory /srv/www/pagina1/>, la
directiva RedirecMatch la podemos comentar para que no redirija la llama-
da a otro directorio.
5
El resto del fichero no es necesario modificarlo, por loq ue el principio del fichero
de configuración de la pagı́na1 quedarı́a:
<VirtualHost *>
ServerAdmin usuarios1@pagina1.com
ServerName www.pagina1.com
DocumentRoot /srv/www/pagina1
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/www/pagina1>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2’s
# default start page (in /apache2-default) when you go to
#RedirectMatch ˆ/$ /apache2-default/
</Directory>
Una vez realizado los cambios nos quedar hacer dos cosas para que funcione el
nuevo sitio virtual. Primero, crear un enlace dentro del directorio /etc/apache2/sites-
enabled, que apunte al fichero de configuración que acabamos de crear:
cd /etc/apache2/sites-enabled
ln -s /etc/apache2/sites-available/pagina1 pagina1
A continuación volvemos a iniciar el servidor web:
/etc/init.d/apache2 restart
Antes de probar si funciona el sitio que acabamos de definir vamos a crear una
pequeña página web de prueba dentro del directorio /srv/www/pagina1, esta
página se debe llamar index.html:
<html>
<body>
<h1> Página www.pagina1.com </h1>
</body>
</html>
Como todavı́a no tenemos instalado ningún servidor DNS para hacer la resolu-
ción de nombres de dominio a dirección IP, lo tendremos que hacer en modo local,
por lo que habrá que incluir en el fichero /etc/hosts la siguiente lı́nea:
127.0.0.1 www.pagina1.com
Ya lo único que queda es probar nuestro sitio escribiendo en cualquier navegador
http://www.pagina1.com. Habrá que repetir el proceso para configurar el
dominio www.pagina2.com.
6
5. Analizadores de registros
5.1. Awstats
AWStats (Advanced Web Statistics) es un visualizador avanzado de logs, que
genera estadı́sticas gráficas a partir de los logs del sistema. Es software libre que
se distribuye bajo la licencia GNU GPL (General Public License) y su mantenedor
es Jonas Smedegaard.
Y digo, logs en general, porque AWStat es capaz de visualizar logs generados
por distintos servidores, entre los que merece la pena destacar:
Web: Apache, Tomcat, IIS
FTP: ProFTP
Correo SMTP: Postfix, Sendmail
Proxy Web: Squid
AWStats soporta cualquier sistema operativo, debido a que está escrito integra-
mente en Perl, y por ello es suficiente con que el servidor que lo va a interpretar
tenga el módulo correspondiente instalado. Siendo ası́, las estadı́sticas de los logs
se pueden generar tanto desde la lı́nea de comandos, como un CGI y mostrar la
información en una o varias páginas Web.
La pagı́na oficial es http://awstats.sourceforge.net/
5.1.1. Instalación de awstats
Para instalar awstats utilizamos el comando apt-get de la siguiente manera:
debian:˜# apt-get install awstats
Entre los archivos instalados, vamos a destacar los siguientes:
/usr/share/doc/awstats: Directorio donde se guardan archivos de ejemplo
y ayuda.
/usr/share/awstats/lang/awstats-es.txt: Archivo de idioma castellano. Como
podemos ver es un simple archivo de texto.
/usr/share/awstats/plugins: Directorio en el que se instalan los plugins
que viene por defecto con el paquete.
/usr/share/awstats/icon: Directorio donde se instalan los iconos (imáge-
nes), que se van a utilizar para mostrar las estadı́sticas.
/usr/lib/cgi-bin/awstats.pl: Es el archivo que va a generar las estadı́sticas
a partir de los logs del sistema. Escrito en Perl.
/etc/cron.d/awstats: Entrada de cron para actualizar las estadı́sticas pe-
riódicamente.
/etc/awstats/awstats.conf: Archivo de configuración de AWStats.
7
5.1.2. Configuración de awstats
Nosotros vamos a realizar una configuración para poder generar estadı́sticas
para nuestro servidor Apache.
Lo primero que vamos a configurar es el idioma. AWStats viene preconfigu-
rado para mostrar los logs y estadı́sticas en ingles, aunque bien es cierto que trae
un montón de archivos de idioma. Cambiarlo es muy fácil, ası́ que vamos a ello.
Los archivos de idioma han sido instalados en el directorio /usr/share/awstats/lang/.
Antes de nada, comprobaremos que el archivo de configuración de AWStats (nor-
malmente en /etc/awstats/awstats.conf) conoce que esa es la ruta en donde debe
de buscar los archivos de idioma.
DirLang="/usr/share/awstats/lang"
Para que el idioma por defecto sea el castellano, tenemos que sustituir el valor de
la directiva Lang ’en’ por ’es’ (también en /etc/awstats/awstats.conf).
Lang="es"
La página que se genera nos muestra en la parte superior izquierda unas banderas
con las que podemos elegir en cualquier momento el idioma que queramos que
muestre la página. Si queremos modificar los idiomas que aparecen, su orden, etc.
utilizaremos la directiva ShowFlagLinks, con los identificativos de los idiomas
que queramos que aparezcan separados por un espacio. Veamos un ejemplo:
ShowFlagLinks="en es es_cat"
Para que las imágenes que contiene la página que se va a generar se vean correcta-
mente, hay que indicarle a AWStats donde las ubicamos. Para ello disponemos de
la directiva DirIcons en el archivo de configuración (/etc/awstats/awstats.conf).
Esta directiva se caracteriza porque la ruta que indiquemos va a resulta relativa a
la ubicación de la página web.
Por ello NO podemos poner:
DirIcons="/usr/share/awstats/icon/"
Porque estarı́a intentando acceder a:
http://my.doma.in/usr/share/awstats/icon/icon_name.png
La solución a este inconveniente es bien sencilla. Utilizar los alias de nuestro ser-
vidor Apache. Solamente tenemos que añadir la siguiente lı́nea al archivo de con-
figuración del apache (/etc/apache2/httpd.conf):
Alias /awstats-icon/ /usr/share/awstats/icon/
De modo que el valor que tiene que tomar la directiva es ’awstats-icon’, nombre
del alias que acabamos de crear:
DirIcons="/awstats-icon"
8
Como en un mismo host pueden cohabitar distintos dominios, SiteDomain es la
directiva que indica a cual de esos dominios nos estamos refiriendo. En caso de
tener varios dominios en un mismo host (virtual host) es recomendable generar
logs independientes, es decir, uno para cada dominio. En mi caso:
SiteDomain="pagina1.com"
Por último hay que indicar donde se encuentra el log de Apache2, para ello mo-
dificamos la siguiente directiva:
LogFile="/var/log/apache2/access.log"
5.1.3. Puesta en marcha de awstats
Una vez llegado a este punto, deberı́amos de ser capaces de visualizar la pági-
na web por medio del enlace http://sitedomain/cgi-bin/awstats.pl
Enseguida te darás cuenta de que las estadı́sticas están vacı́as. Eso es porque
el archivo no lee los datos de los logs directamente sino que genera un archivo de
texto y muestra los datos a partir de dicho texto. Los archivos de texto generados
se encuentran en:
/var/lib/awstats
Para generar estos archivos por primera vez o actualizarlos manualmente, ejecu-
tamos el archivo awstats.pl con los siguientes parámetros:
/usr/lib/cgi-bin/awstats.pl -config=myvirtualhostname -update
para hacer esto automaticamente cuando se intala awstats se crea un tarea cron en
/etc/cron.d/awstats. Esta tarea hay que modificarla para indicar la ruta correcta
de los log de Apache:
0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl
-a -f /etc/awstats/awstats.conf -a -r /var/log/apache2/access.log ]
&& /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null
Es decir cada 10 minutos se va actualizar la estadı́stica utilizando el log de apache
y el fichero de configuración de awstats.
5.2. Webalizer
The Webalizer es una herramienta de análisis de servidores rápida, fiable y
fácil de usar. Genera informes con información detallada sobre todos los movi-
mientos que se producen en un servidor web.
Estos informes están en formato HTML, por lo que se pueden visualizar con
cualquier navegador web, y son sencillos de configurar y totalmente personaliza-
bles.
5.2.1. Instalación de Webalizer
Para la instalación de webalizer utilizamos apt-get de la siguiente forma:
apt-get install webalizer
9
5.2.2. Configuración de webalizer
El fichero de configuración de webalizer es /etc/webalizer.conf, veamos los
cambios que hay que realizar para poner en marcha nuestra estadı́stica:
Fichero donde apache esta guardando sus LOGS.
LogFile /var/log/apache2/access.log
Directorio donde se van a generar los ficheros html que muestran la es-
tadı́stica6
.
OutputDir /srv/www/pagina1/webalizer
Indicar el nombre de dominio.
HostName www.pagina1.com
5.2.3. Puesta en marcha de webalizer
Para generar las estadı́sticas sólo es necesario ejecutar el comando:
webalizer
Para ver las estadı́sticas sólo hay que indicar como dirección URL:
http://www.pagina1.com/webalizer
Para automatizar esta tarea, podemos crear una tarea crontab que ejecute el coman-
do periodicamente cada cierto tiempo, para ello editamos el crontab del root con
la instrucción crontab -e y añadimos la siguiente lı́nea:
0,10,20,30,40,50 * * * * webalizer > /dev/null
5.2.4. Configuración de webalizer para dominios virtuales
Lo que hemos explicado hasta ahora es la configuración de webalizer para un
sólo dominio. En el ejemplo que estamos siguiendo tenemos dos hosts virtuales.
Vamos a explicar la forma para que tengamos una estadistı́ca para cada dominio.
Lo primero que hay que hacer es guardar en fichero de logs distintos cada
uno de los accesos a los distintos sitios virtuales, para ello hay que modificar la
configuración de los sitios virtuales y añadir una nueva directiva. Por ejemplo
para pagina1.com habrı́a que añadir la siguiente lı́nea:
<VirtualHost *>
ServerAdmin usuarios1@pagina1.com
ServerName www.pagina1.com
DocumentRoot /srv/www/pagina1
CustomLog /var/log/apache/pagina1-access.log common #Lı́nea añadida
<Directory />
Options FollowSymLinks
AllowOverride None
6
El directorio donde vamos a indicar que se guarde la estádistica ha de ser creado con anterio-
ridad.
10
</Directory>
<Directory /srv/www/pagina1>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
# Uncomment this directive is you want to see apache2’s
# default start page (in /apache2-default) when you go to /
#RedirectMatch ˆ/$ /apache2-default/
</Directory>
Este cambio hay que hacerlo tembién con el host virtual pagina2.com, y poste-
riormente reiniciar el servidor web.
A continuación vamos a crear un directorio donde vamos a guardar los fiche-
ros de configuración de webalizer para cada uno de los dominios:
mkdir /srv/www/estadistica/
Del mismo modo creamos los directorios donde vamos aguardar los ficheros html
generados que muestran las estadı́sticas:
mkdir /srv/www/pagina1/webalizer
mkdir /srv/www/pagina2/webalizer
A continuación copiamos el fichero de configuración de webalizer en el directorio
que hemos creado anteriormente pero con nombre distintos para cada uno de los
dominios:
cp /etc/webalizer.conf /srv/www/estadistica/pagina1.conf
cp /etc/webalizer.conf /srv/www/estadistica/pagina2.conf
Dentro de cada uno de ellos se deben hacer los siguientes cambios:
LogFile /var/log/apache2/<FICHERO LOG>
OutputDir /srv/www/<DOMINIO>/webalizer
HostName <DOMINIO>
Por ejemplo para el dominio pagina1.com, los cambios serı́an los siguientes:
LogFile /var/log/apache2/pagina1-access.log
OutputDir /srv/www/pagina1/webalizer
HostName pagina1.com
Para ejecutar webalizer con cada una de las configuraciones lo más facil es hacer
un script estadistica.sh:
#!/bin/bash
webalizer textrm{-}c /srv/www/estadistica/pagina1.conf
webalizer textrm{-}c /srv/www/estadistica/pagina2.conf
Por último, para ejecutar eeste script lo podemos meter en el crontab:
0,10,20,30,40,50 * * * * estadistica.sh > /dev/null
Utilizando los conceptos que hemos aprendido en este último punto podemos
hacer un paralelismo y configurar awstats para varios virtual hosts.
11
6. Conclusión
En este capitulo hemos explicado la instalación y configuración del servidor
web Apache2, fijándonos sobre todo en la configuración y puesta de marcha de
sitios web virtuales mediante Virutal Hosting. En los dos últimos paratados he-
mos visto la instalación, configuración y puesta en marcha de los analizadores de
registros más utilizados: awstats y webalizer.
Referencias
[1] Seminario de configuración de Apache 2:
www.informatica.us.es/˜ramon/articulos/SeminarioApache2.pdf
[2] Guı́a de Apache 2:
http://www.osmosislatina.com/apache2/index.htm
[3] Documentación sobre Hosting Virtual en Apache:
http://httpd.apache.org/docs/2.0/es/vhosts/
[4] Configurando hosts virtuales o como tener http://bulma.midominio.com:
http://bulma.net/body.phtml?nIdNoticia=644
[5] AWStats:
http://fermat.movimage.com/docs/awstats.html
[6] Estadı́sticas web con webalizer:
http://observatorio.cnice.mec.es/modules.php?op=modload&name=
News&file=article&sid=196
12

Más contenido relacionado

PDF
Laboratorio Nº 9.1.pdf
DOCX
Web apache en ubuntu 12,04
PDF
Servidor web Apache
PDF
Servidor apache
PDF
Servidorweb casero
PDF
Apache: instalación y configuración en Ubuntu Server y Windows Server
PDF
Servidor HTTP Apache
PDF
practica 1 apache
Laboratorio Nº 9.1.pdf
Web apache en ubuntu 12,04
Servidor web Apache
Servidor apache
Servidorweb casero
Apache: instalación y configuración en Ubuntu Server y Windows Server
Servidor HTTP Apache
practica 1 apache

Similar a Servidor web apache para centro de computos.pdf (20)

PDF
01intalacion de apache
PDF
ODP
Servidores Web en GNU/Linux
PDF
PDF
Red t3 practica1_apachecms
PDF
Servidorweb
PDF
Servicio HTTP en Ubuntu (Apache)
PDF
Daw02 tarea
PDF
Instalación de 2 CMS: Wordpress y Drupal
DOC
Gestion de nubes de servidores
DOC
Gestion de nubes d
PDF
Apli t1 practicas_apache
DOCX
Instalacion servicio web en debian
PDF
12 servicios webftp_windowsasoitson
PDF
12 servidor webwindows2003
PPTX
Instalación de cms en un servidor
PDF
Vps local virtualbox
PDF
Guia basica-securizacion-apache
PDF
Apache
01intalacion de apache
Servidores Web en GNU/Linux
Red t3 practica1_apachecms
Servidorweb
Servicio HTTP en Ubuntu (Apache)
Daw02 tarea
Instalación de 2 CMS: Wordpress y Drupal
Gestion de nubes de servidores
Gestion de nubes d
Apli t1 practicas_apache
Instalacion servicio web en debian
12 servicios webftp_windowsasoitson
12 servidor webwindows2003
Instalación de cms en un servidor
Vps local virtualbox
Guia basica-securizacion-apache
Apache
Publicidad

Más de dfjar1 (9)

PDF
elastik search elk conmutador de telefonia.pdf
PDF
Cisco Firewall Services Module para seguridad de reds.pdf
PDF
Autenticacion ldap protocolo de usado por ad.pdf
PDF
Distribucion y configuracion de correo-e.pdf
PDF
El uso ASA del atributo LDAP asocia el ejemplo de configuración.pdf
PDF
Desarrollo de servidores para web_dinamica2.pdf
PDF
Servidor proxy squid para utilizar como proxy server.pdf
PDF
Protocolo de autenticacion_ldap para directorio activo.pdf
PDF
Presentacion apache web para servidores pres_apache.pdf
elastik search elk conmutador de telefonia.pdf
Cisco Firewall Services Module para seguridad de reds.pdf
Autenticacion ldap protocolo de usado por ad.pdf
Distribucion y configuracion de correo-e.pdf
El uso ASA del atributo LDAP asocia el ejemplo de configuración.pdf
Desarrollo de servidores para web_dinamica2.pdf
Servidor proxy squid para utilizar como proxy server.pdf
Protocolo de autenticacion_ldap para directorio activo.pdf
Presentacion apache web para servidores pres_apache.pdf
Publicidad

Último (20)

PDF
prg2_t01_p01_Fundamentos POO - parte1.pdf
PDF
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
PDF
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
DOCX
Cumplimiento normativo y realidad laboral
DOCX
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
PPTX
Manual ISO9001_2015_IATF_16949_2016.pptx
PDF
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
PPT
357161027-seguridad-industrial-diapositivas-ppt.ppt
PPTX
Contexto Normativo NSR10, presentacion 2025
PDF
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
PPT
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
PDF
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
PDF
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
PPTX
clase MICROCONTROLADORES ago-dic 2019.pptx
PDF
1132-2018 espectrofotometro uv visible.pdf
PDF
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
PDF
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
DOC
informacion acerca de la crianza tecnificada de cerdos
PDF
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
PPTX
MARITIMO Y LESGILACION DEL MACO TRANSPORTE
prg2_t01_p01_Fundamentos POO - parte1.pdf
Sustitucion_del_maiz_por_harina_integral_de_zapall.pdf
Oficio SEC de formulación de cargos por el apagón del 25F en contra del CEN
Cumplimiento normativo y realidad laboral
CONCEPTOS BASICOS DE LA PROGRAMACION STEP
Manual ISO9001_2015_IATF_16949_2016.pptx
Informe Comision Investigadora Final distribución electrica años 2024 y 2025
357161027-seguridad-industrial-diapositivas-ppt.ppt
Contexto Normativo NSR10, presentacion 2025
Copia de Presentación Propuesta de Marketing Corporativo Blanco y Negro.pdf
tema DISEÑO ORGANIZACIONAL UNIDAD 1 A.ppt
Sugerencias Didacticas 2023_Diseño de Estructuras Metalicas_digital.pdf
fulguracion-medicina-legal-418035-downloable-2634665.pdf lesiones por descarg...
clase MICROCONTROLADORES ago-dic 2019.pptx
1132-2018 espectrofotometro uv visible.pdf
FIJA NUEVO TEXTO DE LA ORDENANZA GENERAL DE LA LEY GENERAL DE URBANISMO Y CON...
NORMATIVA Y DESCRIPCION ALCANTARILLADO PLUVIAL.pdf
informacion acerca de la crianza tecnificada de cerdos
5 Presentación de PowerPointGENERACIÓN DESECHOS UIS 18-02-2023 (1).pdf
MARITIMO Y LESGILACION DEL MACO TRANSPORTE

Servidor web apache para centro de computos.pdf

  • 1. Servidor Web Apache 2.0 José Domingo Muñoz Rodrı́guez <josedom24@gmail.com> Alberto Molina Coballes <alberto.molina@hispalinux.es> 15 de septiembre de 2006 Resumen En este documento vamos a explicar los pasos para instalar, configurar y poner en funcionamiento el servidor web Apache 2.0 en el servidor de la DMZ. Vamos a utilizar la técnica de Virtual Hosting para tener dos sitios web en el mismo servidor. Además vamos a poner en funcionamiento awstats y webalizer que son dos programas que nos permiten generar estadı́sticas analizando los ficheros logs de accesos a los sitios. c José Domingo Muñoz Rodrı́guez y Alberto Molina Coballes. Algunos De- rechos reservados. Esta obra está bajo una licencia Attribution-ShareAlike 2.5 de Creative Com- mons. Para ver una copia de esta licencia, visite: http://creativecommons.org/licenses/by-sa/2.5/ 1
  • 2. 1. Introducción a Apache 2.0 Un servidor Web es un programa que corre sobre el servidor que escucha las peticiones HTTP que le llegan y las satisface. Dependiendo del tipo de la peti- ción, el servidor Web buscará una página Web o bien ejecutará un programa en el servidor. De cualquier modo, siempre devolverá algún tipo de resultado HTML al cliente o navegador que realizó la petición. El servidor HTTP Apache es un servidor HTTP de código abierto para plata- formas Unix (BSD, GNU/Linux, etcétera), Windows y otras, que implementa el protocolo HTTP/1.1 (RFC 2616) y la noción de sitio virtual. La versión 2.x de Apache tiene varias mejoras clave sobre el núcleo de Apache 1.x. Estas mejoras incluyen threads de UNIX, mejor soporte para plataformas no Unix (como Windows), un nuevo API, y soporte de IPv6. 2. Instalación del servidor web Apache 2.0 Vamos a instalar el servidor Web Apache 2.0 en Debian, para ello necesitamos una conexión a internet y utilizaremos el comando apt-get para bajar e instalar los paquete necesarios. De esta manera el comando que debemos escribir para la instalación es el siguiente, teniendo en cunta que lo debemos hacer como root: apt-get install apache2 Además del paquete apache2, se instalarán los siguientes paquetes: Se instalarán los siguientes paquetes extras: apache2-common apache2-mpm-worker apache2-utils libapr0 ssl-cert 3. Configuración del servidor web Apache 2.0 En Debian los ficheros de configuración los tenemos en /etc/apache2 siendo apache2.conf el fichero principal. El promer problema que nos encontramos lo observamos al reiniciar el servicio con la siguiente instucción: /etc/init.d/apache2 restart El aviso que nos da al volver a inciar el sevidor es el siguiente: apache2: Could not determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName Es decir, Apache2 no es capaz de determinar cual es el nombre de dominio to- talmente qualificado1 con el que va a trabajar. Para solucionar esto tenemos que poner la directiva ServerName en el fichero /etc/apache2/apache2.conf con el nombre del dominio que vamos a utilizar2 . 1 El FQDN es el nombre completo de un sistema, incluyendo el ’nombre propio’ del sistema. Por ejemplo, ati es un nombre de sistema y ati.es es un FQDN. 2 Este nombre de dominio no tiene porque estar registrado, podemos coger cualquier nombre de dominio de ejemplo. En un próximo cápitulo estudiaremos como registrar un dominio para po- der acceder desde internet a nuestra página. En este documento vamos a escoger midominio.com como ejemplo de nombre de dominio. 2
  • 3. Después de cualquier cambio en la configuración debemos volver a iniciar el servicio: /etc/init.d/apache2 restart Bueno, continuando con la configuración de Apache2 veamos los ficheros y directorios que nosotros vamos a utilizar para la configuración del servidor con Virtual Hosting: /etc/apache2/apache2.conf: Como hemos visto anteriormente es el fiche- ro de configuracion principal del servidor. Por medio de directivas incluye en este fichero los módulos necesrios y el resto de la configuración de los restantes ficheros de configuración. /etc/apache2/httpd.conf: Este fichero se mantiene por razones de compa- tibilidad con la primera versión de Apache. Además se recomienda que la configuración de los módulos de terceros vayan en este fichero. /etc/apache2/sites-available: Es el directorio donde se tienen los ficheros de configuración de los diferentes sitios virtuales. El fichero default contiene la configuración del sitio por defecto. /etc/apache2/sites-enabled: Es un directorio donde existe enlaces simbóli- cos a los ficheros de configuración de los sitios virtuales (en el directorio /etc/apache2/sites-available) que están activos. /etc/apache2/ports.conf: Es el fichero de configuración donde se indica el puerto por el que escucha el servidor, por defecto el 80. /etc/apache2/mods-avalaible y /etc/apache2/mods-enabled: Ficheros de configuración de los módulos de apache. Estos ficheros lo veremos más de- tenidamente cuando instalemos PHP. En los ficheros de configuración las lı́neas que comienzan con el sı́mbolo # son comentarios y el servidor no las tiene en cuenta. La configuración del servidor por defecto define un host virtual default cu- yo directorio de trabajo es /var/www, por lo tanto para probar que el servidor está instalado podemos poner en un navegador http://localhost, con lo que se vi- sualizará la página web guardada en el directorio /var/www/apache2-default3 : 4. Virtual Hosting en Apache 2.0 4.1. ¿Qué son los hosts virtuales? El término Virtual Hosting se refiere a hacer funcionar más de un sitio web (tales como www.company1.com y www.company2.com) en una sola máquina. Los sitios web virtuales pueden estar “basados en direcciones IP”, lo que significa 3 Este es el directorio por defecto configurado en el fichero /etc/apache2/sites- available/default, que contiene la página web principal, si quieres cambiar este directorio o simplemente no te sale la página de prueba comprueba la directiva RedirectMatch en el fichero de configuración. 3
  • 4. Figura 1: Página inicial de Apache2 tras instalarlo. que cada sitio web tiene una dirección IP diferente, o “basados en nombres dife- rentes”, lo que significa que con una sola dirección IP están funcionando sitios web con diferentes nombres (de dominio). El hecho de que estén funcionando en la misma máquina fı́sica pasa completamente desapercibido para el usuario que visita esos sitios web. 4.2. Ejemplo de virtual hosting Para explicar la técnica de Virtual Hosting vamos a trabajar con un ejemplo. Este ejemplo nos va a ayudar a compreder la configuración de Apache 2.0 para trabajar con diferentes sitios web virtuales basados en nombres diferentes, pos- teriormente este mismo ejemplo lo vamos a utilizar para explicar como acceder a estos sitios webs desde un servidor FTP con usuarios virtuales y además va- mos a instalar dos CMS4 en cada uno de los sitios webs: joomla, que nos permite montar un portal y moodle que nos permite configurar una plataforma educativa. El ejemplo que vamos a implementar es el siguiente: Vamos a definir por virtual hosting dos sitios webs, www.pagina1.com y www.pagina2.com que van a ser servida por el mismo servidor web. Como hemos dicho anteriormente el directorio por defecto donde se en- cuentran las páginas web es /var/www. Nosotros no vamos a utilizar el directorio /var, vamos usar el directorio /srv5 , donde crearemos la siguien- te estructura de directorio: • /srv/www/pagina1: Donde se encontrarán los ficheros del sitio web correspondiente a www.pagina1.com. • /srv/www/pagina2: Donde se encontrarán los ficheros del sitio web correspondiente a www.pagina2.com. 4 Un Sistema de gestión de contenido (Content Management System, en inglés, abreviado CMS) permite la creación y administración de contenidos principalmente en páginas web. 5 Según el Estándar Jerarquı́a de Sistemas de Ficheros, donde se define los principales directo- rios y sus contenidos en GNU/Linux y otros sistemas operativos similares a Unix, el directorio /srv contiene los datos especı́ficos de sitio servidos por el sistema. 4
  • 5. En este primer paso vamos a hacer que el propietario de estos directorios sea el usuario definido por Apache2 www-data. Posteriormente, cuando configuremos el servidor FTP para acceder a estos directorios crearemos dos usuarios virtuales que gestionarán cada una de las páginas, y por tanto, serán los porpietariosd e cada uno de los directorios. 4.3. Configuración y puesta en marcha de los sitios virtuales Lo primero que vamos a construir es la estructura de directorios donde vamos a almacenar los siotios web. Para ello, y como root nos dirgimos al directorio /srv: cd /srv A continuación creamos el directorio www, cuyos subdirectorios (pagina1 y pa- gina2) almacenarán los ficheros de los dos sitios web: mkdir www cd www mkdir pagina1 mkdir pagina2 cd .. Por último hacemos propietario del directorio www y todos sus subdirectorios al usuario www-data que pertenece al grupo www-data: chown -R www-data:www-data www Veamos ahora la configuración de Apache2 para implementar los dos sitios vir- tuales. Nos colocamos en el directorio /etc/apache2/sites-available, hacemos una copia del fichero de configuración default que nos sirva como módelo para reali- zar la configuración del primer sitio virtual: cd /etc/apache/sites-available cp default pagina1 nano pagina1 Los cambios que hay que realizar en este fichero son los siguientes: 1. La primera lı́nea NameVirtualHost * hay que eliminarla, ya que el nombre del host virtual sólo debe aparecer en un fichero de configuración. 2. En la directiva ServerAdmin ponemos el usuario que administra dicha pági- na. En nuestr caso será usuario1@pagina1.com. 3. En la directiva ServerName ponemos el nombre del dominio, en nuestro caso www.pagina1.com 4. En la directiva DocumentRoot ponemos el directorio donde se almacena este sitio web, en nuestro caso /srv/www/pagina1 5. En la segunda etiqueta Directory vamos a definir la configuración de nues- tro directorio por lo tanto escribimos <Directory /srv/www/pagina1/>, la directiva RedirecMatch la podemos comentar para que no redirija la llama- da a otro directorio. 5
  • 6. El resto del fichero no es necesario modificarlo, por loq ue el principio del fichero de configuración de la pagı́na1 quedarı́a: <VirtualHost *> ServerAdmin usuarios1@pagina1.com ServerName www.pagina1.com DocumentRoot /srv/www/pagina1 <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /srv/www/pagina1> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # Uncomment this directive is you want to see apache2’s # default start page (in /apache2-default) when you go to #RedirectMatch ˆ/$ /apache2-default/ </Directory> Una vez realizado los cambios nos quedar hacer dos cosas para que funcione el nuevo sitio virtual. Primero, crear un enlace dentro del directorio /etc/apache2/sites- enabled, que apunte al fichero de configuración que acabamos de crear: cd /etc/apache2/sites-enabled ln -s /etc/apache2/sites-available/pagina1 pagina1 A continuación volvemos a iniciar el servidor web: /etc/init.d/apache2 restart Antes de probar si funciona el sitio que acabamos de definir vamos a crear una pequeña página web de prueba dentro del directorio /srv/www/pagina1, esta página se debe llamar index.html: <html> <body> <h1> Página www.pagina1.com </h1> </body> </html> Como todavı́a no tenemos instalado ningún servidor DNS para hacer la resolu- ción de nombres de dominio a dirección IP, lo tendremos que hacer en modo local, por lo que habrá que incluir en el fichero /etc/hosts la siguiente lı́nea: 127.0.0.1 www.pagina1.com Ya lo único que queda es probar nuestro sitio escribiendo en cualquier navegador http://www.pagina1.com. Habrá que repetir el proceso para configurar el dominio www.pagina2.com. 6
  • 7. 5. Analizadores de registros 5.1. Awstats AWStats (Advanced Web Statistics) es un visualizador avanzado de logs, que genera estadı́sticas gráficas a partir de los logs del sistema. Es software libre que se distribuye bajo la licencia GNU GPL (General Public License) y su mantenedor es Jonas Smedegaard. Y digo, logs en general, porque AWStat es capaz de visualizar logs generados por distintos servidores, entre los que merece la pena destacar: Web: Apache, Tomcat, IIS FTP: ProFTP Correo SMTP: Postfix, Sendmail Proxy Web: Squid AWStats soporta cualquier sistema operativo, debido a que está escrito integra- mente en Perl, y por ello es suficiente con que el servidor que lo va a interpretar tenga el módulo correspondiente instalado. Siendo ası́, las estadı́sticas de los logs se pueden generar tanto desde la lı́nea de comandos, como un CGI y mostrar la información en una o varias páginas Web. La pagı́na oficial es http://awstats.sourceforge.net/ 5.1.1. Instalación de awstats Para instalar awstats utilizamos el comando apt-get de la siguiente manera: debian:˜# apt-get install awstats Entre los archivos instalados, vamos a destacar los siguientes: /usr/share/doc/awstats: Directorio donde se guardan archivos de ejemplo y ayuda. /usr/share/awstats/lang/awstats-es.txt: Archivo de idioma castellano. Como podemos ver es un simple archivo de texto. /usr/share/awstats/plugins: Directorio en el que se instalan los plugins que viene por defecto con el paquete. /usr/share/awstats/icon: Directorio donde se instalan los iconos (imáge- nes), que se van a utilizar para mostrar las estadı́sticas. /usr/lib/cgi-bin/awstats.pl: Es el archivo que va a generar las estadı́sticas a partir de los logs del sistema. Escrito en Perl. /etc/cron.d/awstats: Entrada de cron para actualizar las estadı́sticas pe- riódicamente. /etc/awstats/awstats.conf: Archivo de configuración de AWStats. 7
  • 8. 5.1.2. Configuración de awstats Nosotros vamos a realizar una configuración para poder generar estadı́sticas para nuestro servidor Apache. Lo primero que vamos a configurar es el idioma. AWStats viene preconfigu- rado para mostrar los logs y estadı́sticas en ingles, aunque bien es cierto que trae un montón de archivos de idioma. Cambiarlo es muy fácil, ası́ que vamos a ello. Los archivos de idioma han sido instalados en el directorio /usr/share/awstats/lang/. Antes de nada, comprobaremos que el archivo de configuración de AWStats (nor- malmente en /etc/awstats/awstats.conf) conoce que esa es la ruta en donde debe de buscar los archivos de idioma. DirLang="/usr/share/awstats/lang" Para que el idioma por defecto sea el castellano, tenemos que sustituir el valor de la directiva Lang ’en’ por ’es’ (también en /etc/awstats/awstats.conf). Lang="es" La página que se genera nos muestra en la parte superior izquierda unas banderas con las que podemos elegir en cualquier momento el idioma que queramos que muestre la página. Si queremos modificar los idiomas que aparecen, su orden, etc. utilizaremos la directiva ShowFlagLinks, con los identificativos de los idiomas que queramos que aparezcan separados por un espacio. Veamos un ejemplo: ShowFlagLinks="en es es_cat" Para que las imágenes que contiene la página que se va a generar se vean correcta- mente, hay que indicarle a AWStats donde las ubicamos. Para ello disponemos de la directiva DirIcons en el archivo de configuración (/etc/awstats/awstats.conf). Esta directiva se caracteriza porque la ruta que indiquemos va a resulta relativa a la ubicación de la página web. Por ello NO podemos poner: DirIcons="/usr/share/awstats/icon/" Porque estarı́a intentando acceder a: http://my.doma.in/usr/share/awstats/icon/icon_name.png La solución a este inconveniente es bien sencilla. Utilizar los alias de nuestro ser- vidor Apache. Solamente tenemos que añadir la siguiente lı́nea al archivo de con- figuración del apache (/etc/apache2/httpd.conf): Alias /awstats-icon/ /usr/share/awstats/icon/ De modo que el valor que tiene que tomar la directiva es ’awstats-icon’, nombre del alias que acabamos de crear: DirIcons="/awstats-icon" 8
  • 9. Como en un mismo host pueden cohabitar distintos dominios, SiteDomain es la directiva que indica a cual de esos dominios nos estamos refiriendo. En caso de tener varios dominios en un mismo host (virtual host) es recomendable generar logs independientes, es decir, uno para cada dominio. En mi caso: SiteDomain="pagina1.com" Por último hay que indicar donde se encuentra el log de Apache2, para ello mo- dificamos la siguiente directiva: LogFile="/var/log/apache2/access.log" 5.1.3. Puesta en marcha de awstats Una vez llegado a este punto, deberı́amos de ser capaces de visualizar la pági- na web por medio del enlace http://sitedomain/cgi-bin/awstats.pl Enseguida te darás cuenta de que las estadı́sticas están vacı́as. Eso es porque el archivo no lee los datos de los logs directamente sino que genera un archivo de texto y muestra los datos a partir de dicho texto. Los archivos de texto generados se encuentran en: /var/lib/awstats Para generar estos archivos por primera vez o actualizarlos manualmente, ejecu- tamos el archivo awstats.pl con los siguientes parámetros: /usr/lib/cgi-bin/awstats.pl -config=myvirtualhostname -update para hacer esto automaticamente cuando se intala awstats se crea un tarea cron en /etc/cron.d/awstats. Esta tarea hay que modificarla para indicar la ruta correcta de los log de Apache: 0,10,20,30,40,50 * * * * www-data [ -x /usr/lib/cgi-bin/awstats.pl -a -f /etc/awstats/awstats.conf -a -r /var/log/apache2/access.log ] && /usr/lib/cgi-bin/awstats.pl -config=awstats -update >/dev/null Es decir cada 10 minutos se va actualizar la estadı́stica utilizando el log de apache y el fichero de configuración de awstats. 5.2. Webalizer The Webalizer es una herramienta de análisis de servidores rápida, fiable y fácil de usar. Genera informes con información detallada sobre todos los movi- mientos que se producen en un servidor web. Estos informes están en formato HTML, por lo que se pueden visualizar con cualquier navegador web, y son sencillos de configurar y totalmente personaliza- bles. 5.2.1. Instalación de Webalizer Para la instalación de webalizer utilizamos apt-get de la siguiente forma: apt-get install webalizer 9
  • 10. 5.2.2. Configuración de webalizer El fichero de configuración de webalizer es /etc/webalizer.conf, veamos los cambios que hay que realizar para poner en marcha nuestra estadı́stica: Fichero donde apache esta guardando sus LOGS. LogFile /var/log/apache2/access.log Directorio donde se van a generar los ficheros html que muestran la es- tadı́stica6 . OutputDir /srv/www/pagina1/webalizer Indicar el nombre de dominio. HostName www.pagina1.com 5.2.3. Puesta en marcha de webalizer Para generar las estadı́sticas sólo es necesario ejecutar el comando: webalizer Para ver las estadı́sticas sólo hay que indicar como dirección URL: http://www.pagina1.com/webalizer Para automatizar esta tarea, podemos crear una tarea crontab que ejecute el coman- do periodicamente cada cierto tiempo, para ello editamos el crontab del root con la instrucción crontab -e y añadimos la siguiente lı́nea: 0,10,20,30,40,50 * * * * webalizer > /dev/null 5.2.4. Configuración de webalizer para dominios virtuales Lo que hemos explicado hasta ahora es la configuración de webalizer para un sólo dominio. En el ejemplo que estamos siguiendo tenemos dos hosts virtuales. Vamos a explicar la forma para que tengamos una estadistı́ca para cada dominio. Lo primero que hay que hacer es guardar en fichero de logs distintos cada uno de los accesos a los distintos sitios virtuales, para ello hay que modificar la configuración de los sitios virtuales y añadir una nueva directiva. Por ejemplo para pagina1.com habrı́a que añadir la siguiente lı́nea: <VirtualHost *> ServerAdmin usuarios1@pagina1.com ServerName www.pagina1.com DocumentRoot /srv/www/pagina1 CustomLog /var/log/apache/pagina1-access.log common #Lı́nea añadida <Directory /> Options FollowSymLinks AllowOverride None 6 El directorio donde vamos a indicar que se guarde la estádistica ha de ser creado con anterio- ridad. 10
  • 11. </Directory> <Directory /srv/www/pagina1> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all # Uncomment this directive is you want to see apache2’s # default start page (in /apache2-default) when you go to / #RedirectMatch ˆ/$ /apache2-default/ </Directory> Este cambio hay que hacerlo tembién con el host virtual pagina2.com, y poste- riormente reiniciar el servidor web. A continuación vamos a crear un directorio donde vamos a guardar los fiche- ros de configuración de webalizer para cada uno de los dominios: mkdir /srv/www/estadistica/ Del mismo modo creamos los directorios donde vamos aguardar los ficheros html generados que muestran las estadı́sticas: mkdir /srv/www/pagina1/webalizer mkdir /srv/www/pagina2/webalizer A continuación copiamos el fichero de configuración de webalizer en el directorio que hemos creado anteriormente pero con nombre distintos para cada uno de los dominios: cp /etc/webalizer.conf /srv/www/estadistica/pagina1.conf cp /etc/webalizer.conf /srv/www/estadistica/pagina2.conf Dentro de cada uno de ellos se deben hacer los siguientes cambios: LogFile /var/log/apache2/<FICHERO LOG> OutputDir /srv/www/<DOMINIO>/webalizer HostName <DOMINIO> Por ejemplo para el dominio pagina1.com, los cambios serı́an los siguientes: LogFile /var/log/apache2/pagina1-access.log OutputDir /srv/www/pagina1/webalizer HostName pagina1.com Para ejecutar webalizer con cada una de las configuraciones lo más facil es hacer un script estadistica.sh: #!/bin/bash webalizer textrm{-}c /srv/www/estadistica/pagina1.conf webalizer textrm{-}c /srv/www/estadistica/pagina2.conf Por último, para ejecutar eeste script lo podemos meter en el crontab: 0,10,20,30,40,50 * * * * estadistica.sh > /dev/null Utilizando los conceptos que hemos aprendido en este último punto podemos hacer un paralelismo y configurar awstats para varios virtual hosts. 11
  • 12. 6. Conclusión En este capitulo hemos explicado la instalación y configuración del servidor web Apache2, fijándonos sobre todo en la configuración y puesta de marcha de sitios web virtuales mediante Virutal Hosting. En los dos últimos paratados he- mos visto la instalación, configuración y puesta en marcha de los analizadores de registros más utilizados: awstats y webalizer. Referencias [1] Seminario de configuración de Apache 2: www.informatica.us.es/˜ramon/articulos/SeminarioApache2.pdf [2] Guı́a de Apache 2: http://www.osmosislatina.com/apache2/index.htm [3] Documentación sobre Hosting Virtual en Apache: http://httpd.apache.org/docs/2.0/es/vhosts/ [4] Configurando hosts virtuales o como tener http://bulma.midominio.com: http://bulma.net/body.phtml?nIdNoticia=644 [5] AWStats: http://fermat.movimage.com/docs/awstats.html [6] Estadı́sticas web con webalizer: http://observatorio.cnice.mec.es/modules.php?op=modload&name= News&file=article&sid=196 12