Configurando Webalizer para varios VirtualHosts

Manel's picture
Configurando Webalizer para varios VirtualHosts

Después de tener varios días awstats ejecutándose en mi servidor "laika" la realidad es que es demasiado pesado para él. Laika tiene 200 Mb de RAM, va a 990Mhz y tiene arrancados varios VirtualHosts de Apache, Gregarius, Gallery2, mldonkey, algunos gotmail...así que va muy justo de memoria y el consumo de awstats que es un script en Perl lo ha superado, tarda demasiado tiempo en procesar los logs y el tiempo de mostrar en el browser las estadísticas es considerable.

Así pues me he decidido a instalar Webalizer y he podido comprobar que los tiempos han mejorado considerablemente.A continuación explico cómo lo configuré todo para obtener estadísticas de varios de mis VirtualHosts.

Índice:

00. Introducción e Instalación en Debian.
01. Configuración de Apache.
02. Configuración de Webalizer.
03. cron.
04. Viendo las estadísticas.





00. Introducción e Instalación en Debian.

Webalizer se basa en unos pasos muy similares a los de awstats:

-  lectura de unos ficheros de entrada (en este caso serán los ficheros access.log de Apache2), para ello es necesario que Apache los genere.
- A partir de los ficheros de entreda awstats genera ficheros .html estáticos.
- Cuando se hace una llamada para que nos muestre en un Navegador las estadísticas, se muestra los resultados en el HTML estático ya generado.

La instalción en Debian es:

apt-get install webalizer

(Yo uso Debian stable, y como no he probado la instalación para otros sistemas no voy a poner instrucciones, si alguien quiere aportar otros modos de instalción para otros Sistemas que no dude en enviar un comentario ;-) ).

01. Configuración de Apache.


Para tener estadísticas de varios VirtualHosts lo más conveniente es tener varios access.log de Apache, estos ficheros serán el "input" de datos de Webalizer.

Para tener varios ficheros access.log sólo es necesario añadir los CustomLog que necesitemos a cada VirtualHost, por ejemplo en mi caso:

En /etc/apache2/conf.d/drupal.conf:

<VirtualHost *>
  DocumentRoot /usr/share/drupal/
  ServerName www.nosotrosmismos.org
  ServerAlias nosotrosmismos.org
  CustomLog /var/log/www.nosotrosmismos.org/access.log combined
</VirtualHost>

<VirtualHost *>
  DocumentRoot /usr/share/drupal/
  ServerName www.libresoftware.com
  ServerAlias nosotrosmismos.org
  CustomLog /var/log/www.libresoftware.com/access.log combined
</VirtualHost>

02. Configuración de Webalizer.

Necesitaremos varios ficheros de configuración de Webalizer donde indicaremos para cada VirtualHost cuál es el fichero access.log que debe de leer (entre otras muchas opciones las cuales he dejado casi todas con lo que había por defecto).

Los ficheros que he generado han sido:

/etc/webalizer.www.nosotrosmismos.org.conf
/etc/webalizer.www.libresoftware.com.conf

Y lo único que he tenido que indicar ha sido:


/etc/webalizer.www.nosotrosmismos.org.conf

...
LogFile         /var/log/www.nosotrosmismos.org/access.log
OutputDir       /var/www/estadisticas_nosotrosmismos
ReportTitle     Estadisticas www.nosotrosmismos.org
HideSite        *laika
HideReferrer    laika/
...

/etc/webalizer.www.libresoftware.com.conf

...
LogFile         /var/log/www.nosotrosmismos.org/access.log
OutputDir       /var/www/estadisticas_libresoftware
ReportTitle     Estadisticas www.libresoftware.com
HideSite        *laika
HideReferrer    laika/
...


03. cron

Con el paso anterior ya le hemos dicho a Webalizer de dónde obtendrá los datos de entrada, ahora hay que decirle a Webalizer cada cuánto debe leer estos datos y generar sus propias estadisticas.

El modo más cómodo para esto es con cron, le diremos que cada 10 minutos lea los ficheros access y genere las estadísticas de acceso oportunas.


/etc/conr.d/webalizer

10,30,50 * * * * www-data /usr/bin/webalizer -c /etc/webalizer.www.nosotrosmismos.org.conf -N 10 -D dns_cache.db
10,30,50 * * * * www-data /usr/bin/webalizer -c /etc/webalizer.www.libresoftware.com.conf -N 10 -D dns_cache.db

OJO: es muy importante que tengamos en cuenta que el usuario www-data debe tener permisos de acceso a los ficheros de access.log

El parámetro "-c" sirve para indicar a webalizer cuál es el fichero .conf que debe de usar.


04. Viendo las estadísticas.


Para ver las estadísticas sólo será necesario apuntar el browser a la ruta que hemos indicado como out en el fichero .conf, en nuestro caso:

http://laika/estadisticas_nosotrosmismos
http://laika/estadisticas_libresoftware

Comments

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Yenin's picture

Almacena la información por más de un año

Hola,
Actualmente estoy trabajando con AWStats, me parece muy buena herramienta, pero necesito hacer comparaciones con años anteriores y AWStats no almacena datos de años anteriores,y ahora ando en busqueda de otro analizador de log, es por esto que te pregunto ¿Webalizer, puede almacenar esta información?

Espero me puedan ayudar.

Yenin

 Manel's picture

Mas de un año es posible con un parche

Es posible, hay que aplicar este parche:

http://www.isthe.com/chongo/src/webalizer-patch/README-FIRST

Yenin's picture

Almacena la información por más de un año

Hola,
Actualmente estoy trabajando con AWStats, me parece muy buena herramienta, pero necesito hacer comparaciones con años anteriores y AWStats no almacena datos de años anteriores,y ahora ando en busqueda de otro analizador de log, es por esto que te pregunto ¿Webalizer, puede almacenar esta información?

Espero me puedan ayudar.

Yenin

Agradecido's picture

Magnífico

Me he estado quebrando la cabeza un buen rato con awstats para un par de virtual hosts que tengo y al final he visto tu tutorial, y me ha rulado a la primera, así que paso de awstats

Muchas gracias

 Manel's picture

Para eso estamos

Me alegro que te funcionara, a mi también me dió muchos quebraderos de cabeza, por eso cuando me funciné lo colgué en el Blog también como recordatorio por si lo tengo que volver a hacer otra vez y no me acuerdo :-)

Anónimo's picture

Excelente articulo

El articulo me a parecido muy útil, lo he implementado en mi hosts de monedas y numismatica y oDot Internet y me funciona de forma impecable. Gracias.

Anónimo's picture

Re: awstats

Tienes razon, voy a corregirlo ahora mismo. Se me colo en el copy+paste del apartado de webalizer a awstats.

Muchas gracias.

Anónimo's picture

awstats

Hola, muy interesante el artículo, que aun no he podido probar. Sólo decirte que creo que en algunas ocasiones cuando pones awstats quieres decir webalizer...
en el punto 2: configuración de awstats y en el nombre de fichero de cron

Saludos y gracias por el artículo.

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

Enviar un comentario nuevo

Security question, designed to stop automated spam bots
El contenido de este campo se mantiene como privado y no se muestra públicamente.
  • Etiquetas HTML permitidas: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Saltos automáticos de líneas y de párrafos.

Más información sobre opciones de formato