Instalando y usando Webalizer

La manera mas sencilla de ver las estadísticas de tu página web
Alejandro Garrido Mota, <garridomota@gmail.com>


  1. ¿Qué es Webalizer?
  2. ¿Cómo funciona Webalizer?
  3. Instalándolo Webalizer
  4. Configurando Webalizer
  5. Generando los Reportes
  6. TIPS y FAQ
  7. Copyrigth y licencia


1. ¿Qué es Webalizer?

Webalizer es un pequeño programa hecho en C el cual nos permite generar reportes de alguna página web. Gracias a esos reportes, podemos observar el número de personas que han entrado en la web donde se vaya a instalar(o ejecutar) el webalizer y muchas otras cosas que más adelante les detallaré. Este programa no sólo nos da los reportes cuantitativos, si no que también nos da repostes gráficos, lo que hace mas elegante y sencillo de observar las estadísticas de nuestra página web. Entre otras cosas webalizar es sumamente útil para saber que archivos son los que poseen más número de descargas en nuestra página web.

2. ¿Cómo funciona Webalizer?

Es muy sencillo de entender como funciona el webalizer por lo que nos resultará trivial de aprender. Vamos a empezar con algunos conceptos básicos que deberíamos de tener claro.

Cuando poseemos una página web y cualquier persona de la internet accede a esta eso siempre queda registrado en una bitácora, que comúnmente se le denomina "logs". Por ejemplo, al yo entrar al www.mogaal.com desde cualquier navegador en cualquier computadora del mundo, el servidor web registra mi ingreso a dicha página web, este ingreso lo registra o guarda en un archivo(una "bitácora" o "logs") que en la mayoría de los servidores web (específicamente en apache) es un archivo llamado access.log.

Una vez que esas bitácoras del sistema quedan registradas en una archivo llamado access.log, el programa Webalizer analiza esos logs y genera unas gráficas en formato HTML para que puedan ser observadas desde el navegador. Específicamente el lo que hace es leer el formato del archivo de bitácoras(access.log), todos esos datos los analiza y seguidamente genera un archivo .html (archivo que es interpretado por el navegador) que va a poder ser accesible desde la web. Este archivo HTML, tiene reportes con gráficas de todos lo que ha sido el número de visitas, tráfico, archivos ofrecidos, el tipo de navegadores web que mas visita nuestra página, etc.

3. Instalándolo Webalizer

Tenemos tres maneras de hacer funcionar el webalizer, la primera es descargándonos el código fuente de la página web oficial de webalizer y compilándolo. La segunda manera es descargando los binarios y ejecutándolos. La tercera manera es para las personas que poseen un sistema operativo como Debian o derivados de este, donde es posible instalar en paquete llamado webalizer que se encuentra en los repositorios oficiales de Debian. Nosotros nos vamos a guiar por la tercera opción por cuestiones de simplicidad, si deseas compilarlo descarga el código fuente y sigue las instrucciones del fichero INSTALL.

Para instalar webalizer en Debian lo único que debemos hacer es ejecutar:

# aptitude install webalizer

Una vez ejecutado ese comando el aptitude( o apt-get) hace todo por nosotros, es decir, lo descarga, instala y configura(configuración que editaremos posteriormente). Cuando se termina de instalar el gestor de paquetes aptitude nos hará unas preguntas, yo recomiendo que las obvies, ya que nosotros analizaremos y explicaremos como configurar el webalizer posteriormente. Entonces si mientras se instala el webalizer te empieza a hacer preguntas tu sólo trata de presionar enter obviando las preguntas. Si deseas responderlas puedes hacerlo y el generará un archivo de configuración en base a las preguntas que has respondido.

¿Cómo verifico que la instalación fue correcta? Una manera es verificar que exista el comando webalizer. En una consola escribe webalizer y si obtienes un mensaje tipo command not found es que no se instaló correctamente por lo que debes verificar si hubo algún fallo.

4. Configurando Webalizer

Si estás en Debian el archivo de configuración de webalizer está en el directorio /etc, si no estás en Debian, el archivo de configuración está en el directorio donde lo compilaste, es un archivo de ejemplo, pero es muy factible adaptarlo para usarlo como guía a la hora de generar el nuestro. El archivo de configuración lo puedes editar con cualquier editor de archivos. El nombre de este archivo es webalizer.conf.

Nuestro archivo debe lucir algo parecido al siguiente:

ARCHIVO DE CONFIGURACIÓN. Has Click AQUÍ para descargarlo


  LogFile         /var/log/apache2/access.log
  
  OutputDir       /var/www/webalizer
  
  Incremental     yes
  
  ReportTitle     Estidísticas de PAGINAWEB_NOMBRE
  
  Hostname URL_PAGINA
  
  IgnoreSite      localhost

¿Son estas las únicas opciones que tiene que llevar el archivo de Webalizer? No, de hecho son las mínimas que considero que debería de llevar. Estamos ignorando algunas de las opciones básicas que debe de llevar, como por ejemplo(recomiendo colocarlas):

-HideURL *.gif

-HideURL *.GIF

-HideURL *.jpg

-HideURL *.JPG

-HideURL *.ra

Si se fijan aquí lo que le estamos indicando en el archivo de configuración de webalizer es que no tome en cuenta las imágenes con extensión GIF y JPG. Lo que pasa en realidad es que Webalizer en su interfaz nos muestra todas las páginas ofrecidas, y muchas veces tenemos imágenes en nuestro servidor web que no quisiéramos mostrar o no quisiéramos que nadie se entere de que están ahí.

Recomiendo que para aprender mas acerca de que cosas que puedes incluir en el archivo de configuración de webalizer leas la documentación oficial.

5. Generando los Reportes

Ya hemos analizado algunas de las opciones que permite hacer trabajar correctamente al programa. Como ya mensionamos webalizer genera los reportes en u formato HTML que podemos observar en un navegador, pero el sólo genera estos reportes las veces que ejecutemos el programa. Por lo tanto tendríamos que estar ejecutando el programa cada vez que queramos que generar o actualizar los reportes ya existentes. ¿Resulta esto muy tedioso no? En Linux y en los todos los sistemas derivados de Unix existe una herramienta llamada cron, que nos saca la pata del barro como en casos como estos. El cron lo que hace es ejecutar tareas en intervalos de tiempo especificados por el usuario.

En nuestra situación utilizaríamos el cron para ejecutar el comando que genera los registros o reportes HTML, de manera que estaríamos actualizando los reportes en un intervalo de tiempo especificado por nosotros, y todo esto gracias a cron.

Para nosotros poder generar los registros tenemos que usar el comando webalizer(el programa como tal). El comando con sus opciones y argumentos es el siguiente:


Comando:

$ webalizer -c /etc/webalizer.conf -d


Primeramente llamamos al programa que hará los reportes, lógicamente es webalizer, la opción -c le indica al webalizer que tome el archivo de configuración que se encuentra en /etc/webalizer.conf, y la opción -d le indica que haga debugging mientras genera los reportes, es decir, que nos indique si hubo algún error o si todo salió bien.

¿Cómo le indicamos al webalizer donde generar los archivos HTML? Si observas detenidamente le estamos indicando con la opción -c que elija un archivo de configuración ubicado en /etc/webalizer.conf, y es en ese archivo es el que nosotros editamos y modificamos, es decir, donde fuimos especificando toda esa serie de parámetros y entre ellos el lugar donde se generarán los reportes HTML.

Ya con esté comando ejecutado podríamos entrar a una navegador y ver esas estadísticas, pero resulta incómodo estar ejecutando ese comando cada vez que queramos actualizar los reportes, y es aquí donde esta a ayudarnos el cron.

Lo que tenemos que hacer para poder utilizar el cron es editar el su archivo de configuración(/etc/crontab) y agregar la siguiente linea:

0 0 * * * /usr/bin/webalizer -c /etc/webalizer.conf -d

Aquí lo que le estamos diciendo es que ejecute ese comando todos los días a la media noche. Por lo que deducimos que los reportes se estarán actualizando todos los días del año a la media noche

6. TIPS y FAQ

Unos de los típicos problemas que se presentan son:

7. Copyrigth y licencia

Copyright (c) 2006 Alejandro Garrido Mota.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License".