AWStats es una herramienta open source de análisis de tráfico web. Saca los datos de los logs de apache y a partir de esos datos genera los informes.
Awstats puede ser un complemento perfecto a otras herramientas como Google Analytics. Además de las visitas, podremos consultar el tráfico real generado, tamaño de ficheros, tráfico por MIME Type, etc.
Vamos a instalar awstats en un servidor debian que ya tiene un apache funcionando desde hace algún tiempo y vamos a sacar las gráficas del dominio albumdata.com
Comenzamos instalando el paquete awstats
apt-get install awstats
Nos genera una configuración standard en /etc/awstats. Vamos a hacer una copia del fichero y a personalizarlo para nuestro dominio
cd /etc/awstats
cp awstats.conf awstats.albumdata.com.conf
Editamos el fichero awstats.albumdata.com.conf y modificamos solamente estos tres valores:
El fichero de log de apache para el sitio que queremos analizar
LogFile="/var/log/apache2/albumdata_access.log"
El nombre de dominio
SiteDomain="albumdata.com"
El/los posibles alias. en mi caso, las llamadas a www.
HostAliases="www.albumdata.com"
Por último vamos a configurar el acceso en el virtualhost que queramos. Yo añado al sitio por defecto (el que muestro cuando hago una peticion por ip http://xx.xx.xx.xx)
editamos /etc/apache2/sites-enabled/000-default
y añadimos:
Alias /awstats-icon/ /usr/share/awstats/icon/
ScriptAlias /awstats/ /usr/lib/cgi-bin/
De esta forma, si llamamos al sitio http://xx.xx.xx.xx/awstats/awstats.pl?config=albumdata.com , veremos las gráficas.
La primera vez que visitemos el sitio las gráficas estarán vacias puesto que aun no hemos recopilado los datos de los logs.
El funcionamiento de awstats se basa en la ejecucion del comando /usr/lib/cgi-bin/awstats.pl, indicandole el dominio que del que queremos extraer las gráficas.
Para ello, lo más práctico es fijar un cron con la frecuencia que deseemos (en mi caso cada hora).
La primera ejecucion la haremos a mano:
# /usr/lib/cgi-bin/awstats.pl -config=albumdata.com -update
Create/Update database for config "/etc/awstats/awstats.albumdata.com.conf" by AWStats version 6.95 (build 1.943)
From data in log file "/var/log/apache2/albumdata_access.log"...
Phase 1 : First bypass old records, searching new record...
Direct access to last remembered record has fallen on another record.
So searching new records from beginning of log file...
Phase 2 : Now process new records (Flush history on disk after 20000 hosts)...
Flush history file on disk (unique url reach flush limit of 5000)
Flush history file on disk (unique url reach flush limit of 5000)
Flush history file on disk (unique url reach flush limit of 5000)
Flush history file on disk (unique url reach flush limit of 5000)
Jumped lines in file: 0
Parsed lines in file: 98320
Found 0 dropped records,
Found 16 corrupted records,
Found 0 old records,
Found 98304 new qualified records.
Por último, vamos a securizar un poco awstats, configurando un htaccess para que al ver las gráficas nos pida un user y password.
En el fichero del virtualhost de apache donde vayamos a colocar el acceso a awstats (en mi caso 000-default), justo debajo de las lineas que pusimos antes, ponemos estas
<Directory /usr/lib/cgi-bin/>
AuthName "Acceso restringido a Estadísticas"
AuthType basic
AuthUserFile /etc/awstats/.htpasswd
require valid-user
</Directory>
Ahora generamos el fichero .htpassword para el usuario “user”
htpasswd -c /etc/awstats/.htpasswd user
Reiniciamos apache, y ahora al acceder a las graficas nos pedira un user y password, que se correspondera con el que acabamos de crear.
Hecho todo esto, obtenemos unas estadísticas muy completas, algo parecido a esto.
Saludos.
MiJacK
Los comentarios están cerrados.