La fotografía, como sabemos, no es algo verdadero. Es una ilusión de la realidad con la cual creamos nuestro propio mundo privado. - "Arnold Newman"
cp awstats-6.4.tgz /usr/local
cd /usr/local
tar xzvf awstats-6.4.tgz
mv awstats-6.4 awstats
Una vez hecho esto hay que entrar en la carpeta y acceder al directorio tools. Dentro de la carpeta hay que ejecutar el archivo "awstats_configure.pl". Al ejecutarlo realiza una serie de preguntas para instalar y configurar AWStats. Las preguntas que realiza son:Indicar donde se encuentra el archivo de configuracion del Apache. En mi caso se encuentr en /etc/apache/httpd.conf
Pregunta si se quiere crear un nuevo perfil. Si es la primera vez hay que darle que si y si tenemos ya uno creado y queremos que lo use pues no
Luego hay que ponerle un nombre al perfil, por ejemplo localhost.
ahora hay que ponerle el path que le indique donde queremos que se deje el fichero de configuracion. Por
defecto es /etc/awstats, si le damos al intro sin mas nos lo creara en el lugar por defecto
Lo siguiente que pone es que este script no puede añadir lineas al cron y nos pone la manera de hacerlo. La
línea que pone que habría que añadir al cron es la siguiente:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=localhost
Esa línea es para un solo perfil pero si tuviesemos más de uno habría que poner:
/usr/local/awstats/tools/awstats_updateall.pl now
Por último pone que ha creado el archivo de configuración /etc/awstats/awstats.localhost.conf y que se puede
editar para configurarlo a nuestro gusto. En esta última pantalla pone también que para actualizar las
estadisticas manualmente hay que poner:
perl awstats.pl -update -config=localhost
También pone que para ver las estadísticas hay que poner en el navegador lo siguiente:
http://localhost/awstats/awstats.pl?config=localhost
Esta configuración esta hecha para mi servidor local.
Ahora hay que configurar algunas cosas de forma manual en el archivo de configuracion de awstats. Para ello vamos al directorio en el que le hemos dicho que guarde el archivo de configuración y lo editamos. En mi caso sería vi /etc/awstats/awstats.localhost.conf y habría que mirar las siguientes líneas:
LogFile ___ Aquí hay que ponerle donde se encuentra el archivo de log del Apache. En mi caso sería /var/log/apache/access.log.
LogType ___ Hay que indicarle que queremos que analiza: W --- para servidores web S --- para un servidor de streaming M --- para un servidor de correo F --- para un servidor de ftp Para este caso que queremos analizar el log de un servidor web hay que poner W.
LogFormat ___ Para esta opción hay que poner el formato va a tener el log que se va a analizar. Para este caso 1 ya que se trata de un servidor Apache. También se le puede poner un log con formato personlizado.
SiteDomain __ Hay que ponerle el nombre del dominio para el que se quiere hacer el analisis. En mi caso sería localhost.
CreateDirDataIfNotExits ___ Esta directiva lo que hace es crear el directorio donde se van a guardar las estadísticas de awstats si no existe. Si se le pone un 1 lo creo y si esta a 0 no. Yo le he puesto un 1 para que lo cree porque si no a la hora de generara las estadísticas la primera vez no encuentra el directorio y da error. Si se le indica un directorio que existe no hace falta ponerle de valor 1. El directorio donde se guardan se indica en la directiva DirData.
Una vez hechos los cambios se guardan y se sale del editor y se ejecuta la siguiente orden:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -config=localhost update
Esto actualiza las estadísticas del servidor web. Antes de ver las estadísticas en el navegador hay que ver que permisos tiene la carpeta donde se guardan los logs.
ls -ld /var/lib/awstats
En mi caso los permisos son drwxr--r-- Con estos permisos cualquier otro usuario que no sea root tendrá problemas para acceder al directorio así que decido cambiarlos de la siguiente forma:
chmod 755 /var/lib/awstats
Ahora voy a mi navegador y pongo la siguiente url en el navegador para ver si se muestran las estadísticas:
http://localhost/awstats/awstats.pl?config=localhost
Si todo a sido correcto se verá una página con las estadísticas : )
Ahora si queremos que se actualizen las estadísticas cada hora usando en crontab habría que editar el archivo crontab y ponerle lo siguiente:
0 * * * * root /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=localhost
Con esto a cada hora se actualizarían las estadísticas.
AWStats tiene muchas directivas para configurar por lo que es interesante ver la documentación que viene con el programa en el directorio docs para ajustarlo a nuestras necesidades.
Habría que tener en cuenta que el formato del log ha de ser "combined". Este formato es un formato que viene definido dentro del fichero de configuración del Apache. La directiva que tiene esto es la que se llama LogFormat y encontraremos una línea por cada formato. Por defecto viene varias aunque se le pueden definir las que se quieran. El formato se define entre comillas y al final se pone el nombre que se le asigna a ese formato de log. AWStats entiende los logs que tienen el formato combined. En el caso de mi Apache vienen las siguientes definiciones:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\" %T %v" full
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\" %P %T" debug
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" \"%{forensic-id}n\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{forensic-id}n\"" forensic
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
Si resulta que el fichero de log no tiene ese formato entonces lo que hay que hacer es salvar el viejo y modificar el httpd.conf y en la sección de cada dominio virtual poner combined al fichero de log que se quiere que analize AWStats. En mi caso ha quedado de la siguiente forma:
<VirtualHost 127.0.0.1>
ServerAdmin webmaster@host.some_domain.com
DocumentRoot /var/www/lostscene
ServerName www.lostscene.com
ErrorLog /var/log/apache/www.lostscene.com-error.log
CustomLog /var/log/apache/www.lostscene.com-access.log combined
</VirtualHost>
<VirtualHost 127.0.0.1>
ServerAdmin webmaster@host.some_domain.com
DocumentRoot /var/www/localhost
ServerName localhost
ErrorLog /var/log/apache/localhost-error.log
CustomLog /var/log/apache/localhost-access.log combined
</VirtualHost>
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=localhost -> Para las estadísticas
del dominio localhost
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=lostscene -> Para las estadísticas
del dominio lostscene
/usr/local/awstats/tools/awstats_updateall.pl now
Ahora para ver las estadísticas de cada dominio virtual se pondría en el navegador:
http://localhost/awstats/awstats.pl?config=localhost -> Para locahost
http://localhost/awstats/awstats.pl?config=lostscene -> Para www.lostscene.com
Añadido como usar AWStats con VirtualHosts en Apache 1.3
26 de junio del 2005
Subida la primera versión del manual.