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
"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 reportes 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 Reportes (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 reportes 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, 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:
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.
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".
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
"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 reportes 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 Reportes (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 reportes 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, 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:
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.
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".