Como ya comenté, estoy probando Google Analytics, pero no me acaba de convencer, me pierdo entre tantos listados y no me resulta nada comodo, así que estuve buscando sistemas de estadisticas para instalar en mi servidor.
Estuve probando Webalizer, pero la presentación no me convence en absoluto, y sobretodo, no conseguí configurarlo por separado para cada dominio virtual, con lo que las estadisticas son un cristo. Con la experiencia adquirida configurando awstats para los distintos dominios tengo una leve idea de como hacerlo, quizá algún día lo pruebe y lo comente por aquí, pero awstats me ha convencido.
Las estadísticas que ofrece Awstats me parecen excelentes, da mucha información y presentada de forma clara.
Para configurarlo en distintos dominios virtuales, lo primero es asegurarnos de que apache nos genera un log distinto para cada dominio configurado. Esto podemos conseguirlo incluyendo en cada uno de los dominios virtuales del httpd.conf la siguiente línea.
CustomLog /var/log/apache/dominio-access.log combined
Donde especificamos la ruta y el nombre del archivo de log y el formato, en nuestro caso usaremos el formato combined que nos muestra bastante información.
En segundo lugar debemos instalar awstats, en debian tan facil como
apt-get install awstats
Una vez instalado, tendremos que crear unos alias en el apache para que el directorio de las estadisticas sea accesible. Añadiremos al archivo httpd.conf las siguientes líneas.
### AWSTATS ##########
<directory /var/lib/awstats>
Options None
AllowOverride None
Order allow,deny
Allow from all
</directory>
# This provides worldwide access to everything below the directory
# Security concerns: none known
<directory /usr/share/awstats/icon>
Options None
AllowOverride None
Order allow,deny
Allow from all
</directory>
# This provides worldwide access to everything in the directory
# Security concerns: none known
Alias /awstats-icon/ /usr/share/awstats/icon/
# This (hopefully) enables _all_ CGI scripts in the default directory
# Security concerns: Are you sure _all_ CGI scripts are safe?
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
A continuación crearemos un fichero de configuración de awstats para cada dominio alojado, para ello partiremos de el ejemplo awstats.conf
cp /etc/awstats/awstats.conf /etc/awstats/awstats.dominio.com.conf
y editaremos las líneas referentes al dominio y al archivo de log
LogFile="/var/log/apache/dominio.com-access.log"
LogFormat=1
SiteDomain="dominio.com"
Una vez generado un fichero de configuración para cada dominio monitorizado, solo nos falta crear un script que actualice las estadísticas con el siguiente formato, añadiendo una línea para cada uno de los dominios. En mi caso he creado el archivo /bin/awstats.sh
/usr/lib/cgi-bin/awstats.pl -config=dominio.com -update
y meterlo en un cron para actualizar automáticamente las estadísticas cada cierto tiempo, en mi caso lo he puesto para que se actualice cada hora, y lo he puesto en el crontab así
00 * * * * root /bin/awstats.sh
A partir de ahora podremos acceder a las estadisticas accediendo a la siguiente dirección del dominio principal (el raiz del apache).
http://dominio-preincipal.com/cgi-bin/awstats.pl?config=dominio.com
donde se pasa a la variable config.php el dominio a monitorizar en el mismo formato que en el nombre del su archivo de configuracion de awstas.
Así tendremos unas estadisticas propias para cada dominio que se actualizarán en mi caso cada hora.