Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
serveurs:installation:web-srv:docker-awstats [2021/04/22 08:58] – créée jpmilcentserveurs:installation:web-srv:docker-awstats [2023/08/03 15:16] (Version actuelle) – [Installer le domaine] jpmilcent
Ligne 6: Ligne 6:
   * **Ressources** :    * **Ressources** : 
     * [[https://hub.docker.com/r/justb4/awstats/dockerfile| Dépôt justb4/awstats: Dockerfile et exemple Docker Compose]]     * [[https://hub.docker.com/r/justb4/awstats/dockerfile| Dépôt justb4/awstats: Dockerfile et exemple Docker Compose]]
 +    * [[http://www.awstats.org/docs/awstats_config.html| Configuration d'Awstats]]
 +    * [[https://blogging.dragon.org.uk/installing-awstats-on-ubuntu-16-04-lts/| Installing AWstats on Ubuntu 16.04 LTS]]
  
 ===== Installer le domaine ===== ===== Installer le domaine =====
Ligne 30: Ligne 32:
 </code> </code>
   * Voir la section [[.:nginx#configurer_nginx|Configurer Nginx]] pour la création et la gestion du fichier //.htpasswd//.   * Voir la section [[.:nginx#configurer_nginx|Configurer Nginx]] pour la création et la gestion du fichier //.htpasswd//.
-  * Créer un lien depuis les sites actifs : ''nginx_ensite awstats.conf'' ou ''cd /etc/nginx/sites-enabled/ ; ln -s ../sites-available/web-log-analyser.conf web-log-analyser.conf''+  * Créer un lien depuis les sites actifs : ''nginx_ensite awstats.conf'' ou ''cd /etc/nginx/sites-enabled/ ; ln -s ../sites-available/awstats.conf awstats.conf''
     * Tester la config et relancer Nginx si OK : ''nginx-reload'' ou ''nginx -t && nginx -s reload''     * Tester la config et relancer Nginx si OK : ''nginx-reload'' ou ''nginx -t && nginx -s reload''
     * Tester l'URL <nowiki> http://awstats.<domaine-sinp>/</nowiki> qui doit afficher une erreur 502 car nous n'avons pas encore lancé le container Docker.     * Tester l'URL <nowiki> http://awstats.<domaine-sinp>/</nowiki> qui doit afficher une erreur 502 car nous n'avons pas encore lancé le container Docker.
Ligne 50: Ligne 52:
     * Modifier le fichier de configuration de Nginx comme ci-dessous afin d'activer le support de SSL, HTTP2 et la redirection de HTTP vers HTTPS.     * Modifier le fichier de configuration de Nginx comme ci-dessous afin d'activer le support de SSL, HTTP2 et la redirection de HTTP vers HTTPS.
       * Recharger les configs Nginx : ''nginx-reload'' ou ''nginx -t && nginx -s reload''       * Recharger les configs Nginx : ''nginx-reload'' ou ''nginx -t && nginx -s reload''
-    * Tester ensuite la redirection auto de HTTP vers HTTPS : <nowiki> http://web-log-analyser.<domaine-sinp>/ </nowiki> -> doit rediriger vers HTTPS automatiquement+    * Tester ensuite la redirection auto de HTTP vers HTTPS : <nowiki> http://awstats.<domaine-sinp>/ </nowiki> -> doit rediriger vers HTTPS automatiquement
   * Tester la configuration SSL : <nowiki> https://www.ssllabs.com/ssltest/analyze.html?d=awstats.<domaine-sinp> </nowiki>   * Tester la configuration SSL : <nowiki> https://www.ssllabs.com/ssltest/analyze.html?d=awstats.<domaine-sinp> </nowiki>
   * Tester l'URL <nowiki>https://awstats.<domaine-sinp>/</nowiki>   * Tester l'URL <nowiki>https://awstats.<domaine-sinp>/</nowiki>
Ligne 90: Ligne 92:
 </code> </code>
  
-===== Configurer la génération des rapports GoAccess ===== +===== Configurer la génération des rapports par site ===== 
-  * **Notes** : //Logorotate// pour //Nginx// doit avoir été configuré pour utiliser un format de date ''%Y-%m-%d'' +  * Les analyses des logs du serveur web sont réalisées toutes les 15mn par un Cron lancé dans le container Docker hébergeant Awstats. 
-  * Le [[https://github.com/cbn-alpin/sinp-paca-srv|dépôt Git du projet SINP-PACA]] contient les scripts de génération de rapport journalier, hebdomadaire et mensuel pour //GoAccess// dans : ''/web-srv/opt/goaccess-reports'' +  * Le stats sont générées par le script ''aw-update.sh'' présent dans le dossier ''/usr/local/bin/'' du container. 
-    * Les transférer sur le serveur :  +  Pour lancer manuellement la mise à jour des stats : 
-      * Tester : ''<nowiki> rsync -av ./web-srv/optadmin@web-<region>-sinp:/home/admin/dwl/ --dry-run </nowiki>'' +    * Se connecter au container : '' docker exec -it awstats /bin/bash '' 
-      Lancer le transfert (supprimer l'option <nowiki>--dry-run</nowiki> : ''<nowiki> rsync -av ./web-srv/opt/ admin@web-<region>-sinp:/home/admin/dwl/ </nowiki>'' +    * Se placer dans le dossier du script de mise à jour : '' cd /usr/local/bin/ '' 
-    * Copier le contenu de ce dossier dans ''/opt/goaccess-reports/'' : '' cp -r /home/admin/dwl/goaccess-reports /opt/ '' +    * Lancer le script : '' ./aw-update.sh '' 
-    * Donner les droits d'exécution aux scriptes Bash : '' chmod +x *-report '' +  Pour configurer des stats pour un nouveau site web, il suffit de rajouter un nouveau fichier ''.env'' ou ''.conf'' dans le dossier ''~/docker/awstats/sites/'' de l'utilsateur ''admin'' du serveur hébergeant le container Awstats. 
-    Copier le fichier goaccess-reports.cron dans ''/etc/cron.d/''  en supprimant son extension //.cron// : ''cp /otp/goaccess-reports/goaccess_reports.cron /etc/cron.d/goaccess_reports'' +    * Ce dossier est lié avec le dossier ''/etc/awstats/sites/'' du container hébergeant AwstatsTout ajout de fichier dans ce dossier de l'hôte, le rand accessible dans le container
-    * Recharger le service //Cron// pour prendre en compte les changements : ''service cron reload'' +  Par défaut, le fichier ''docker-compose.yml'' se charge de lier le dossier de l'hôte contenant les logs du serveur Nginx (''/var/log/nginx'') avec le dossier ''/var/local/log'' du container.
-  * S'il est nécessaire de générer manuellement un rapport utiliser les commandes : +
-    * Rapport journalier : ''/opt/goaccess-reports/daily-report <date-au-format-YYYY-MM-DD>''Ex. :  ''/opt/goaccess-reports/daily-report 2020-01-01'' +
-      * Le rapport est accessible ensuite à une adresse de la forme : ///<année>/<mois>/<jour>// +
-      * Ex: https://web-log-analyser.silene.eu/2020/01/01 +
-    Rapport hebdomadaire : ''/opt/goaccess-reports/weekly-report <date-d-un-lundi-au-format-YYYY-MM-DD>'' . Ex. :  ''/opt/goaccess-reports/daily-report 2020-01-13'+
-      * Le rapport est accessible ensuite à une adresse de la forme : ///<année>/weeks/<numéro-semaine>// +
-      * Ex. : https://web-log-analyser.silene.eu/2020/weeks/02 +
-    * Rapport mensuel : ''/opt/goaccess-reports/monthly-report <date-d-un-jour-du-mois-au-format-YYYY-MM-DD>'' . Ex. :  ''/opt/goaccess-reports/monthly-report 2020-01-01'' +
-      * Le rapport est accessible ensuite à une adresse de la forme : ///<année>/<mois>// +
-      * Ex: https://web-log-analyser.silene.eu/2020/01+
  
 +==== Générer à nouveau d'ancienne statistiques =====
 +  * Se connecter au container : '' docker exec -it awstats /bin/bash ''
 +  * **ATTENTION** : S'assurer que les fichiers de log d'accès existe toujours dans ''/var/local/log'' pour le mois et l'année qui nous intéresse.
 +  * Se placer dans le dossier contenant les stats : ''cd /var/lib/awstats''
 +  * Supprimer le fichier à regénérer, par exemple : ''rm -f awstats012022.atlas.txt''
 +  * **ATTENTION** : bien recréer un fichier vide correspondant au fichier prélablement supprimée. Si ce n'est pas fait Awstats indiquera trouvé de vieux enregistrement ''Found x old records'' au lieu de ''Found x new qualified records.''
 +    * Récréer le fichier vide : ''touch awstats012022.atlas.txt''
 +  * Lancer la commande de réanalyse : ''awstats -update -config="atlas" -LogFile="/usr/share/awstats/tools/logresolvemerge.pl /var/local/log/access.log.2022-01-*.gz |"''
 +  * Vérifier sur l'interface que cela a bien fonctionné.
 +
 +==== Ajouter un nouveau site ====
 +  * Une fois le nouveau fichier .env créé dans ''~/docker/awstats/sites/'', se connecter au container : ''docker exec -it awstats /bin/bash''
 +  * Se placer dans le dossier contenant les scripts : ''cd /usr/local/bin/''
 +  * Lancer le script de mise à jour de la page d'accueil : ''./aw-setup.sh''
  • serveurs/installation/web-srv/docker-awstats.1619081881.txt.gz
  • Dernière modification : 2021/04/22 08:58
  • de jpmilcent