Gravatar de Armonth

Parcheando Webalizer para mejorarlo

Actualización: Macklus me envía por email un script de su propia cosecha llamado webalizer expert que realiza todos los pasos necesarios de forma automatizada, solamente hace falta descomprimirlo, darle permisos de ejecución y ejecutarlo.

Webalizer es un programa que crea estadísticas de tu sitio usando para ello los registros (logs) que genera el servidor. Existen algunas “pegas” que no se han corregido principalmente por una razón: El programa ha sido “descontinuado” y la última actualización fue en el 2004.

Aun con un desarrollo actual prácticamente nulo tiene indudables ventajas:

  • Ofrece unas estadísticas suficientes para la gran mayoría de usuarios (Visitas, páginas vistas, que webs generan más tráfico entrante, por donde entran, por donde salen, códigos de respuesta del servidor, referidos, desde que búsquedas llega la gente, etc.).
  • Es muy muy rápido en generarlas, (según su autor, en un ordenador con una CPU de 200MHZ puede con 10.000 registros en 1 segundo) cuando tienes que preocuparte del gasto de CPU de un servidor esto se agradece sobremanera. Yo ejecuto un cron varias veces al día para la web y el planet (los cuales no tienen pocas visitas para lo jóvenes que son) y no llega al segundo de CPU consumida.

Pero existen algunas limitaciones como por ejemplo que no muestra más de 12 meses por lo que si tu web tiene más empezarás a perder las estadísticas antiguas (las cuales pueden ser muy interesantes).

La solución pasa por aplicar (bajo tu propia responsabilidad) una serie de parches publicados en la página del proyecto en Freshmeat. Vamos a explicarlo paso a paso y para ello recomiendo utilizar un GNU/Linux ya que vamos a necesitar aplicar parches y compilar. Otra opción es si vuestro hosting os lo permite tener un cliente SSH, conectar con vuestro servidor, aplicar los parches y compilar todo ahí.

  1. Nos bajamos el código fuente del webalizer.
  2. Lo descomprimidos con tar -xvzf webalizer-2.01-10-src.tgz.
  3. Descargamos los 3 parches: 0.basic.patch, 1.64bit.patch y 2.hist.patch.
  4. Entramos en el directorio y aplicamos el primer parche: cd webalizer-2.01-10/ && patch -p1 < ../0.basic.patch. Reviamos que no de errores.
  5. Aplicamos el segundo (patch -p1 < ../1.64bit.patch) y el tercero (patch -p1 < ../2.hist.patch) siempre con el mismo orden.
  6. Ejecutamos el configure y ya que estamos ponemos el webalizer en castellano: ./configure --with-language=spanish && echo PERFECTO el && echo PERFECTO es para que muestre por pantalla “PERFECTO” si no saca ningún error, es una buena práctica sobretodo si no sabes distinguir los distintos mensajes de advertencia/información/error-que-te-cagas que salen.
  7. Compilamos: make && echo PERFECTO y ya solamente queda sustituir los ficheros antiguos (webalizer, webalizer.1, webalizer.LSM) por los nuevos, el fichero de configuración funciona igual.

Los parches añaden muchas novedades, la más importante para mi es que todas las estadísticas anteriores a un año se guardan en un directorio “history” pero hay más:

  • Permiten a webalizer en sistemas — como GNU/Linux — procesar registros muy grandes (de más de 2GB).
  • Modifica la lista de países basándose en los de .arpa ya que de la lista original no todos son países. También incluyen varios TLD’s que faltaban.
  • Mejoras en el cache de DNS, cuando ejecutamos el script a diario debería notarse una menor carga.
  • Quita los atributos <a href="" de el “Top N referrers” es decir quita los enlaces de la sección de referidos dejándolos como texto plano para evitar que spammers y otros tipos de formas inferiores (tal cual lo pone en los comentarios) no se aprovechen de tus estadísticas para intentar escalar puestos en los buscadores.
  • Medidas contra urls o búsquedas demasiado largas (+256 caracteres).
  • Los “counters” (¿contadores? ¿es una T. literal?) son de 32 bits, para sitios con mucha carga o un sitio que no se ha actualizado en MUCHO tiempo puede provocar desbordamientos (overflows) por ello se utilizan 64 bits.
  • La ya anunciada novedad de poder conservar las estadísticas mensuales anteriores a un año.

2 Comentarios (feed)

  1. Gravatar de Rodolfo Rodolfo nos comenta:

    Hola, no me manejo con terminos tecnicos, asi que estoy tratando de instalar webalizer en el servidor de mi web, pero me es imposible con tanto codigo. Lo descomprimi con rar y no se que hacer con todo. ¿Acaso no hay una guia paso a paso para aquellos que no sabemos nada de programación? y que indique donde y como meterse y a traves de que programa. Agradecería información Atentamente, Rodolfo.

    Miércoles, 31 de Enero/2007 @ 21:22

  2. Gravatar de Armonth Armonth nos comenta:

    En principio, bajarte el webalizer-expert.tar.gz, descomprimirlo (tar -vxf webalizer-expert.tar.gz) y ejecutarlo con “./webalizer”)…

    Yo no sé de programación y esas son las instrucciones, no hay “que meterse” en ningún programa: hay que saber usar conexiones ssh + acceso a una terminal bash y eso es mil veces más difícil de explicar que de hacer…

    Miércoles, 31 de Enero/2007 @ 21:41

Comentarios cerrados