viernes, 2 de octubre de 2009

Instalar awstats en Ubuntu 8.04 Hardy Heron sobre Amazon (EC2)

Definamos el entorno:
  • Plataforma de cloud computing de Amazon
  • Imagen customizada de Ubuntu 8.04 LTS (Hardy heron) con base una de alestic 
  • Volumen EBS en el que se almacenan las bases de datos, ficheros de configuración principales, páginas web, etc.
  • Apache con PHP y MySQL (y mucho más...)
¿Qué es lo que quería?
Algo tan sencillo como instalar awstats para poder ver las estadísticas de la página web alojada. ¿Sencillo? nada más alejado de la realidad: Los múltiples tutoriales que pude ver tanto en la web oficial como en otras personales no acertaban. Al final tuve que hacer un remix total y poner de mi parte, así que ahí va mi experiencia
. Asumo que accedes como root, si no estás como usuario root haz "sudo su -"
  • Paso 1 - Instalar AWSTATS: apt-get install awstats. Hasta aquí todo sencillo. Si te pide dependencias pues le dices que adelante.
  • Paso 2 - Crear un fichero de configuración de awstats. Para ello creas un archivo nuevo /etc/apache2/conf.d/awstats.conf (en mi caso está en /vol/etc/apache2/conf.d/awstats.conf porque /vol es el volumen persistente EBS de Amazon) Le tienes que poner el siguiente contenido: Alias /awstatsclasses "/usr/share/awstats/lib/"

    Alias /awstats-icon/ "/usr/share/awstats/icon/"

    Alias /awstatscss "/usr/share/doc/awstats/examples/css"

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/

    ScriptAlias /awstats/ /usr/lib/cgi-bin/

    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
     
  • Paso 3 - Comprobar que este archivo se cargará con apache2. Por si acaso, verifica que en el fichero de apache2.conf (/etc/apache2/apache2.conf, pero en mi caso es /vol/etc/apache2/apache2.conf), al final debe aparecer una directiva como esta: "Include /etc/apache2/conf.d/" (en mi caso Include /vol/etc/apache2/conf.d/)
  • Paso 4 - Configurar el host virtual. Ahora viene lo que en muy pocos sitios te dicen, configurar el host virtual en apache. Para ello, en el directorio /etc/apache2/sites-enabled (o el que estés usando en tu instalación) debes editar el fichero que haya dentro, relativo al sitio del que quieres analizar y añadir antes de "" (en mi caso le he puesto más cosas para que esté autentificado el acceso y no permitir la visita pública)

    Alias /awstats "/usr/lib/cgi-bin/"

    <Directory "/usr/lib/cgi-bin/">

    AuthName "Estadísticas Awstats"

    AuthType Basic

    AuthUserFile /vol/www/pass

    require valid-user

    Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

    </Directory>



  • Paso 5 - Ahora falta que pongas el fichero de configuración en su sitio. Ejecuta lo siguiente: cp /usr/share/doc/awstats/examples/awstats.model.conf.gz /etc/awstats/
    cd /etc/awstats
    gunzip awstats.model.conf.gz
    mv awstats.model.conf awstats.wwww.misitioweb.org.conf
  • Paso 6 - Edita el fichero .conf (al que le has metido el nombre de tu web en el nombre del archivo, el awstats.wwww.misitioweb.org.conf): y pon especial atención en los siguientes puntos:
    • LogFile="/usr/share/doc/awstats/examples/logresolvemerge.pl /var/log/apache2/*access.log |"
      Este es interesante porque te coge todos los logs (así no te coge solamente el último si usas logrotate, que viene por defecto)
    • SiteDomain="misitioweb.org"
    • DNSLookup=1
      Para recuperar DNS, no solo IPs
    • DirData="/var/lib/awstats"
    • DirCgi="/usr/lib/cgi-bin"
    • DirIcons="/awstats/icon"
      Este me dio muchísimo mal!!!, luego explico un paso adicional y necesario
  • Paso 6 - Poner los iconos donde los busca:
    • cp  /usr/share/awstats/icon  /usr/lib/cgi-bin/
  • Paso 7 - Hacer un reload del apache con /etc/init.d/apache2 reload
  • Paso 8 - Acceder a http://www.misitioweb.org/awstats/awstats.pl y disfrutar
  • Paso 9 - Meter en el cron la ejecucion / procesado de las estadística (crontab -e)y añades la siguiente línea para que se procesen cada hora: 0 * * * * /usr/bin/perl /usr/lib/cgi-bin/awstats.pl -update -config=www.misitioweb.org
   Espero que os ahorre muchas vueltas por google

No hay comentarios:

Publicar un comentario