Webalizer

Webalizer


Sitio Web:
[[1]]


Webalizer. es un pequeño programa hecho en C que nos permite generar reportes de nuestra página web. También nos permite observar el número de personas que han entrado en la web donde se vaya a instalar o ejecutar el webalizer y un sin número de cosas más que mas 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 fácil de observar esos reportes o estadísticas de nuestra página web.

Cómo funciona Webalizer

Es muy trivial de entender como funciona el webalizer por lo que nos resultará sencillo aprender muchas cosas de el. Vamos a empezar con algunos conceptos básicos. Deberíamos de tener claro y entender que cuando tenemos una página web y cualquier persona de la internet accede a ella eso 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 apache2) 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.

Instalándolo

Bien, hemos llegado al paso importante, la instalación, vale destacar que 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 instalarlo en Debian, es decir, instalar los .deb. Nosotros nos vamos a guiar por la tercera opción por cuestiones de comodidad, 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 lo que normalmente hacemos para instalar algo en cualquier linux Debian, es decir:

aptitude install webalizer

Eso es todo, una vez ejecutado ese comando el aptitude( o apt-get) hace todo por nosotros, es decir, lo descarga he instala. Cuando se termina de instalar el nos va a hacer unas preguntas, esas preguntas yo recomiendo que las obvies, ya que nosotros analizaremos y explicares todo sobre su archivo de configuración donde podrás tener mejor control de los registros que se generarán. Entonces si mientras se instala el webalizer te empieza a hacer preguntas tu sólo trata de presionar enter lo mas rápido que puedas a ver si rompes tu marca de tiempo, y obviar las preguntas claro.

¿Cómo verifico que la instalación fue correcta? Sencillo, verifica que exista el comando webalizer. En una consola escribe 'webalizer' y si te dice 'command not found' es que no se instaló y debes verificar si hubo algún fallo.

El archivo de configuración

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 y fácil adaptarlo para usarlo. Puedes editar ese archivo de configuración con el editor de textos que prefieras, el archivo se llama 'webalizer.conf'. Bien, sin perder mas tiempo ahora vamos a empezar analizando alguna de las opciones básicas que tiene el archivo de configuración.

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

"LogFile /var/log/apache2/access.log". Aquí es donde especificamos el lugar donde se encuentran las bitácoras de las personas que acceden a nuestra web, esas bitácoras las guarda nuestro servidor web. Si usamos apache normalmente esas están ubicadas en el directorio '/var/log/apache2' y el nombre del fichero que las guarda es access.log. El Webalizer necesita saber dónde están esas bitácoras para saber quienes han entrado, con que navegadores y muchas otras cosas mas.

"OutputDir /var/www/webalizer" : Es obvio que tengamos que especificar el directorio donde se generaran los archivos HTML que contendrán las estadísticas y informes de nuestra página web, lo más lógico es que sea en un lugar accesible desde la web. Como la mayoría de los contenidos web se colocan en '/var/www' por lo que he creado un directorio ahí llamado webalizer, ahí es donde se generarán los registros HTML.

"Incremental yes" : Esta opción nos permite que webalizer analice todo por separado. Para hacerlo mas entendible hay que comprender que algunos servidores web (por ejemplo apache) parten sus bitácoras, por ejemplo, mensualmente crean un nuevo archivo de bitácoras y renombran el otro con un nombre nuevo. Si usas apache es normal que por ejemplo cada mes o cada cierto tiempo tu access.log lo renombren a access.log.1 y se cree un nuevo access.log vacío donde se guardarán los próximos nuevos registros. Bueno está opción que nos ofrece Webalizer es que el va a seguir tomando en cuenta los archivos ya renombrados, como también los nuevos archivos.

"ReportTitle Estadísticas de PAGINAWEB_NOMBRE" : Creo que está opción no hay mucho que explicarla, es evidente que se trata del título que quieres que lleve las páginas HTML que se generarán.

"HostName URL_PAGINA" : Aquí se coloca el Nombre o URL del servidor donde está el webalizer. Este Nombre normalmente aparece al lado del título de informes (ReportTitle). En pocas palabras concatenan ReportTitle y HostName. También se usa para los enlaces desde Webalizer a las páginas ofrecidas. Mas adelante podrás observar mejor esto.

"IgnoreSite localhost" : Esto lo que hace es ignorar o no tomar en cuenta los registros que vengan de la computadora local. Si no colocamos está opción cada vez que nosotros mismos desde la máquina en que está el servidor web visitáramos la página se registraría ese acceso y muchas veces no queremos esto. ¿Por qué? Porque normalmente hacemos prácticas de diseño o modificación de la página web lo que ocasiona que estamos entrando a la página web y si obviamos esta opción estaríamos haciendo informes o estadísticas de _cuantas veces_ nosotros mismos estamos entramos a la página(lo cual no queremos eso).

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

-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 puedes y no puedes hacer con webalizer leas su Documentación.

Generando los informes Bien, ya hemos analizado algunas de sus opciones básicas y lo mínimo que debería de tener su archivo de configuración para que pueda funcionar correctamente el webalizer. Vale destacar que webalizer no va actualizando esos archivos HTML que genera, nosotros debemos de ir ejecutando un comando que le indique cada vez que queramos actualizar los registros e informes de la página web, ¿Resulta muy tedioso esto no? Bueno, en Linux y en los todos los Unix en general existe algo llamado cron, que nos saca la pata del barro como en estos casos. El cron lo que hace es ejecutar tareas en intervalos de tiempo, que por supuesto nosotros le especificamos. En nuestro caso utilizaríamos el cron para ejecutar el comando que genera los registros o informes HTML actualizados. Voy a explicar como hacer esto del cron luego de que les muestre y explique el comando que hay que ejecutar para que genere esos registros.

Para nosotros poder generar los registros tenemos que usar el comando webalizer. El comando con sus opciones es el siguiente:

Comando: personal @ root -> /var/www # webalizer -c /etc/webalizer.conf -d

Aquí lo que estamos haciendo es llamando al programa 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 informes, es decir, que nos indique si hubo algún error o si todo salió bien, etc.

¿Cómo el webalizer sabe en dónde va a generar los archivos HTML o el lugar dónde se encuentra las bitácoras generadas por el servidor web? Muy sencillo, si te fijas bien le estamos diciendo 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.

Ya con esté comando ejecutado podríamos entrar a una navegador y ver esas estadísticas, pero resulta tedioso estar ejecutando ese comando cada vez que queramos actualizar los informes, por lo que utilizaremos cron.

Lo que tenemos que hacer para poder utilizar el cron es editar el /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 las 12 de la noche. Por lo que todos los días a esa hora se ejecutará ese comando y se generarán nuevos informes

TIPS y FAQ

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

Problema: "Poseo un gran número páginas web y el webalizer me hace las estadísticas de todas ellas ya que analiza un único archivo de bitácora del sistema" Respuesta: Aquí lo que debes de hacer es configurar tu servidor web para que genere varios archivos de bitácoras, es decir, que me genere un logfile(access.log) por cada página web.

Problema: "Cuando son necesarios los Binarios y cuando es necesario compilarlo". Respuesta: El compilar un programa hace que sea un poco mas rápido, pero es solo _un poco_. Pero la principal razón para elegir entre binarios y descargar el código fuente para compilarlo es cuando estamos en un servidor compartido, es decir no tenemos total control del sistema. Si nosotros queremos compilar he instalar un programa necesitamos ser el administrador del sistema (usuario root) y no todos tenemos esa ventaja de tener acceso como usuario administrador.

Por ejemplo en mi caso, tengo acceso a un servidor compartido pero no tengo cuenta de usuarios root ni tampoco está instalado webalizer. En este caso es conveniente descargarse los binarios y ejecutarlos _en vez_ de compilarlo he instalarlo.

3- 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".

Fuentes

Joven Club de Computación y Electrónica.

Joven Club de Computación y Electrónica Ciego de Ávila

Enlaces Externos