Serveur Toulonux - goaccess

Posted on mer. 07 janvier 2015 in Projets

Synopsis

Cela fait un moment que je souhaite ajouter une petite page de stats du site touloux.org.

Actions

Je ne souhaitais pas une grosse usine à gaz et alors que j'arpentais le net avec ma souris de pèlerin, je suis tombé sur goaccess.
Pas de base de données à prévoir, juste un exécutable et une simple page HTML en rapport.
Bon là quand même, Debian c'est stable mais la version dans le dépôt est la 0.5 qui date de .... juin 2012.

Installation

goaccess

La version dans les dépôts Debian est très vieille 0.5 et date de 2012.

    apt-get install goaccess

si vous souhaitez seulement la version Debian.

J'ai installé le dépôt fourni par goaccess

    echo "deb http://deb.goaccess.io $(lsb_release -cs) main" | tee -a /etc/apt/sources.list 
    wget -O - http://deb.goaccess.io/gnugpg.key | apt-key add - 
    apt-get update
    apt-get install goaccess

j'ai donc maintenant la version 0.8.3 :-)

Installation de GeoIP

Téléchargement de la base

    wget -N http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz

on décompresse le fichier

    gunzip GeoLiteCity.dat.gz

création du répertoire /usr/local/share/GeoIP/

    mkdir -p /usr/local/share/GeoIP

Copier le fichier

    cp GeoLiteCity.dat /usr/local/share/GeoIP/

Création des fichiers configuration pour chaque site

création d'un répertoire pour centraliser les fichiers de configuration

    mkdir -p /etc/goaccess

je vais me baser sur le fichier /etc/goaccess.conf que je copie dans le répertoire /etc/goaccess

    cp /etc/goaccess.conf /etc/goaccess/

puis ensuite je vais éditer ce fichier avec nano

    nano /etc/goaccess/goaccess.conf

et le sauvegarder sous le nom de www.toulonux.org.conf par exemple.

Il faut y définir :

  • le format de la date
  • le format du fichier log dans notre cas NGinx,
  • le chemin d’accès à la base GeoIP,
  • mettre le parametre _--no-progress true___ pour éviter d'avoir un mel de cron lors de l’exécution de __goaccess.

La ligne de commande pour avoir une sortie html devient alors :

    goaccess --config-file=/etc/goaccess/www.toulonux.org.conf > /home/philippe/public_html/test.html

Création des taches

Je rajoute une tache cron, utiliser la commande suivante pour éditer

    crontab -e  

et ajouter la ligne

    2 0 * * * goaccess --config-file=/etc/goaccess/www.toulonux.org.conf > /home/philippe/public_html/site.html

tous les jours à 00h02 éxecution de goaccess avec le fichier de conf avec création d'une fichier vers /home/philippe/public_html/

Liens