Como instalar AWStats en un servidor con Windows y Apache

Ya son varias las veces que he oido hablar de AWStats, unas estadísticas para servidores web bastante completas, que recopilan información como el ancho de banda empleado, navegadores que usan los visitantes, etc.

Ayer, inmerso en un aburrimiento espantoso, me dio por colocarlas en mi servidor, para trastear, como suele ser común en mí..

¿Que necesitaremos?

  • Descargar AWStats, nada complicado.
  • Tener un servidor con Apache. Olvídate de servidores gratuitos porque necesitaremos echar mano del access.log que crea Apache, y da por hecho que en los servidores gratuitos no lo vas a encontrar. Se recomienda o el propio PC, o un servidor dedicado. (Con Windows, ya que lo que aquí explico es para Windows, aunque esto mismo te puede servir de referencia para Linux)
  • Tener Perl instalado y funcionando correctamente con Apache.
  • Dependiendo si eres o no un manitas, pues aprox. unos 30 minutos de tiempo.

Empecemos..

Bien, lo primero será descargar el Zip de la web de AWStats. Recomiendo el Zip ya que así tendremos libre movilidad con los archivos.

Descomprimimos, y veremos una carpeta llamada wwwroot, copiaremos las carpetas de dentro css, js, icon y classes a la raiz del servidor de nuestro Apache. Si usas Wamp y lo instalaste por defecto, sería en C:/wamp/www/.

Vale, ya tenemos un 20% del trabajo hecho. Ahora nos falta la carpeta «cgi-bin» que hemos podido ver al descomprimir el Zip. Para que las estadísticas funcionen, como ya dije más arriba, es necesario tener Perl instalado y configurado con Apache para que éste nos lea los archivos con extensión .pl y .cgi.

Instalando Perl..

Para instalar Perl en Windows necesitaremos ActivePerl. Al descomprimirlo encontraremos unas dos carpetas, y archivos. Los archivos puedes borrarlos, porque no los necesitaremos. Solo nos quedaremos con la carpeta «Perl», la cual es recomendable pegarla junto con las carpetas de nuestro Apache, PHP, etc..

Siguiendo el ejemplo de antes, teniendo Wamp, lo recomendable sería pegarla en C:/wamp/, quedandonos algo como C:/wamp/Perl .

Bien, Perl todavía no está configurado para que interactue con Apache, por lo tanto, abriremos el archivo de configuración de Apache para, evidentemente, configurarlo. 🙂

Normalmente, por no decir siempre, el archivo se llamará «httpd.conf», exceptuando en algunas versiones de Linux, que es «apache2.conf», pero como este tutorial trata de hacerlo en Windows, no explicaré más.

Y otra vez lo mismo, si usas Wamp, el archivo de configuración de Apache lo encontrarás en C:/wamp/Apache2/conf/httpd.conf

Buscaremos la siguiente linea, la cual deberemos tener de forma parecida en nuestra configuración:

ScriptAlias /cgi-bin/ «C:/wamp/Apache2/cgi-bin/»

La descomentamos (#) si la teniamos comentada, y miramos unas lineas más abajo..:

<Directory «C:/wamp/apache2/cgi-bin»>
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>

Deberemos tenerlo más o menos así, lo único que puede variar es la dirección entre comillas, que será la dirección virtual que desees tener en tu PC. El que he pegado aquí sería la que viene por defecto con Wamp, como siempre. 🙂

También deberemos buscar la linea:

AddHandler cgi-script .cgi .pl

La cual, deberás tener tal como la he pegado yo. Que aunque para AWStats solo necesites archivos .pl, es recomendable añadir también .cgi, para un futuro.

Ahora solo queda guardar los cambios, y reiniciar Apache. No debería dar error y funcionar a la perfección.

Configurando finalmente AWStats..

Ahora que ya tenemos Perl y Apache funcionando, es hora de ir poniendo a punto AWSTats. ¿Como? Bien sencillo..:

Nos dirigimos a la carpeta «cgi-bin» que descomprimimos anteriormente, y pegamos todo su contenido dentro de la carpeta «cgi-bin» de Apache. Siguiendo el ejemplo, lo pegaríamos todo en C:/wamp/Apache2/cgi-bin/awstats .

Evidentemente, la carpeta «awstats» la tendrás que crear tú a mano, y allí será donde metas todos los archivos de la carpeta cgi-bin, como awstats.pl, awredir.pl…etc.

Bien, entraremos a dicha carpeta, y veremos que hay un archivo llamado «awstats.model.conf«, lo renombraremos a «awstats.conf» y procederemos a abrirlo para editarlo. Recomiendo Notepad++ 🙂

Igualmente abriremos con el editor de texto»awstats.pl» y «awredir.pl» y en la primera linea, modificaremos «#!/usr/bin/perl» por «#!c:/wamp/perl/bin/perl.exe«.

Bueno, volviendo al awstats.conf, buscaremos la linea 51, donde dice algo como LogFile=»blabalbalba». Le cambiaremos el blabalbalba por nuestra dirección completa del log de Apache, que con Wamp (Como siempre…) lo encontraremos fácilmente en C:/wamp/logs/access.log. Por lo tanto editaremos la linea y la dejaremos así: LogFile=»C:/wamp/logs/access.log»

Perfecto, sigamos. La siguiente parada será en la linea 122, donde pone algo como LogFormat=1. Esto dependerá del formato de log que te cree Apache. Si usas Wamp, tendrás que cambiar ese «1» por un «4», quedando algo como «LogFormat=4«. Más adelante explicaré como cambiar la forma en que nos cree el log, para que las estadísticas sean más concretas, como por ejemplo, que nos diga que navegador usan nuestros visitantes y todo eso. De momento con el «4» nos conformamos, luego si nos gusta, lo cambiamos. 🙂

Siguiente linea, la 153. SiteDomain=»». Añadiremos entre las comillas el nombre del dominio del que vas a hacer las stats. Puedes usar el que quieras, aunque lo normal es usar el dominio que uses para la web a la que vas a hacer las stats, así queda más bonito. Algo como SiteDomain=»blog.eth1.es». Solo cambias «blog.eth1.es» por tu dominio.

Continuemos con la última a editar, línea 212. DirCgi=»/cgi-bin». Cambiaremos esta linea por la dirección parcial del «cgi-bin». Siquiendo tal como lo hemos hecho más arriba, éste deberá quedar así: DirCgi=»/cgi-bin/awstats«.

Las demás lineas las podeis ojear, por si necesitáis cambiar alguna configuración más, pero eso ya no lo explicaré aquí.

Guardamos los cambios y cerramos.

Y para acabar..

Para acabar, lo único que deberemos hacer es abrir una consola (Inicio -> Ejecutar -> cmd) y teclearemos lo siguiente, siguiendo el ejemplo del tutorial..: «perl C:/wamp/perl/bin/perl.exe C:/wamp/Apache2/cgi-bin/awstats/awstats.pl -config=blog.eth1.es -update»

De lo único que modificaríamos sería donde pone «-config=blog.eth1.es» que vosotros debereis poner vuestro nombre de dominio, el mismo que pusisteis en la línea 153 del archivo de configuración.

Si todo a ido bien, nos devolverá algo como:

Create/Update database for config «C:/wamp/Apache2/cgi-bin/awstats/awstats.conf» by AWStats version 6.8 (build 1.910)
From data in log file «C:/wamp/logs/access.log»…
Phase 1 : First bypass old records, searching new record…
Direct access after last parsed record (after line 1051789)
Jumped lines in file: 1051789
Found 1051789 already parsed records.
Parsed lines in file: 815
Found 0 dropped records,
Found 0 corrupted records,
Found 0 old records,
Found 815 new qualified records.

Y volverá a la linea de comandos. Este proceso dependerá del tamaño del archivo de log. El mio tardó unos 3 minutos aproximadamente para leer un porrón de lineas, unos casi 200 MB de log.

Bien, ya tenemos las estadísticas. Para acceder a ellas tansolo deberéis teclear en vuestro navegador: «http://vuestrodominio.com/cgi-bin/awstats/awstats.pl» cambiando «vuestrodominio.com» por la dirección de vuestra página web.

Y eso es todo. Si tienes alguna duda, manda un comentario y cuando pueda te hecho una mano. 😉

Se me olvidaba! Si quereis que Apache os haga un log más extenso para que las estadísticas contengan más información, tansolo debereis abrir el httpd.conf de Apache, tal como hicimos antes, y buscar la linea donde ponga «CustomLog ../logs/access.log common» y cambiar el «common» por «combined». Luego modificais el «4» por el «1» en la configuración de AWSTats, en la linea 122, y refrescais las estadísticas.

Saludos!