lunes, 17 de octubre de 2016

Cómo generar Estadísticas de nuestro Sitio Web con AWStats


Aprovechando que acá en mi trabajo necesité usar el AWStats (Advanced Web Statistics) he preparado este pequeño documento en el que explicó como instalar dicha herramienta para generar Estadísticas de nuestro Sitio Web.

Para los que aún no han escuchado hablar de esta herramienta transcribo la definición de AWStats según la Wikipedia:
AWStats es una herramienta open source de informes de análisis web, apta para analizar datos de servicios de Internet como un servidor web, streaming, mail y FTP. AWstats analiza los archivos de log del servidor, y con base a ellos produce informes HTML. Los datos son presentados visualmente en informes de tablas y gráficos de barra. Pueden crearse informes estáticos mediante una interfaz de línea de comando, y se pueden obtener informes on-demand a través de un navegador web, gracias a un programa CGI.
El procedimiento de instalación y configuración es el siguiente:
  1. Debemos tener instalado en nuestro Centos el repositorio dag, en caso de no ser así recomiendo hacerlo guiandonos del documento Cómo usar el repositorio de dag en nuestro CentOS.
  2. Instalamos los paquetes necesarios a través de yum.
    # yum -y install awstats perl-Geo-IPfree
    
  3. Crear el archivo de configuración para nuestro sitio(supersitio.com.ec) tomando como base awstats.model.conf.
  4. # cd /etc/awstats/
    # cp awstats.model.conf awstats.supersitio.com.ec.conf
    
  5. Opcional: Eliminar el archivo de configuración para el sitio localhost.localdomain. Como tiene el mismo contenido que awstats.model.conf no le veo utilidad mantenerlo (sino me creen pueden hacer un diff de los 2 archivos 8)).
    # rm -f /etc/awstats/awstats.localhost.localdomain.conf
    
  6. Editar el archivo de configuración para nuestro sitio.
    # vi awstats.supersitio.com.ec.conf
    
    Y modificar las siguientes líneas:
    SiteDomain="www.supersitio.com.ec"
    HostAliases="supersitio.com.ec www.supersitio.com.ec"
    
    Adicionalmente descomentamos la línea del plugin GeoIPfree para que en los reportes aparezcan los países desde donde visitaron nuestro sitio.
    LoadPlugin="geoipfree"
    
  7. Ejecutar el script que genera las estadísticas de nuestro sitio.
    # /usr/bin/perl /var/www/awstats/awstats.pl \
               -config=supersitio.com.ec \
               -LogFile="/usr/bin/logresolvemerge.pl \
                /var/log/httpd/access_log* |"
    
  8. Configurar el acceso a la página de las estadísticas
  9. # vi /etc/httpd/conf.d/awstats.conf
    
    Modificar la directiva allow para colocar la ip de la máquina desde la cual queremos consultar las estadísticas. Por defecto esta la 127.0.0.1.
    allow from 192.168.55.16
    
  10. Reiniciar el Servidor Web.
    # service httpd restart
    
  11. Ingresar a nuestras estadísticas.
    • http://www.supersitio.com.ec/awstats/awstats.pl?config=supersitio.com.ec
  12. Adicionalmente podemos colocar un poco de seguridad a través de autenticación HTTP para acceder por medio de usuario/contraseña.
    # vi /etc/httpd/conf.d/awstats.conf
    
    Y agregamos las siguientes líneas:
    <Files "awstats.pl">
    AuthUserFile /etc/awstats/.passwd
    AuthName "Area restringida"
    AuthType Basic
    require valid-user
    </Files>
    
    Luego creamos un usuario para poder ingresar (Ej: iknaxio). Se nos solicitará una contraseña y su respectiva confirmación.
    # htpasswd -c /etc/awstats/.passwd iknaxio
    
    Reiniciar el Servidor Web.
    # service httpd restart
    
    Cerramos el navegador y cuando intentemos acceder nuevamente se nos solicitará usuario/contraseña.
  13. Fin }:)
Cabe anotar que las estadísticas se actualizarán automáticamente cada hora gracias a una tarea de cron que se agrega al momento de la instalación.

Bibliografía

"Transporta un puñado de tierra todos los días y construirás una montaña" - Confucio