Outils pour utilisateurs

Outils du site


admin:services:agir.chapril.org

Différences

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

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
admin:services:agir.chapril.org [2020/01/08 16:00] adminadmin:services:agir.chapril.org [2021/12/04 14:38] (Version actuelle) – Ajout génération de la clé d'API Redmine admin
Ligne 29: Ligne 29:
 +; redirections +; redirections
 +agir    CNAME   fip +agir    CNAME   fip
-+wiki    CNAME   fip 
 + +
  ; XMPP (old)  ; XMPP (old)
Ligne 55: Ligne 54:
  drop.chapril.org  drop.chapril.org
 +agir.chapril.org +agir.chapril.org
-+wiki.chapril.org 
 </code> </code>
  
Ligne 65: Ligne 63:
 Configuration du serveur web sur la vm bastion : Configuration du serveur web sur la vm bastion :
 <code> <code>
-=(^-^)=root@bastion:/etc/nginx/sites-available# cat wiki.chapril.org +=(^-^)=root@bastion:/etc/nginx/sites-available# cat agir.chapril.org 
 server { server {
     listen 80;     listen 80;
     listen [::]:80;     listen [::]:80;
          
-    server_name wiki.chapril.org;+    server_name agir.chapril.org;
  
-    access_log /var/log/nginx/wiki.chapril.org/wiki.chapril.org.access_log; +    access_log /var/log/nginx/agir.chapril.org/agir.chapril.org.access_log; 
-    error_log /var/log/nginx/wiki.chapril.org/wiki.chapril.org.error_log;+    error_log /var/log/nginx/agir.chapril.org/agir.chapril.org.error_log;
  
 #    include /etc/nginx/custom_50x; #    include /etc/nginx/custom_50x;
Ligne 87: Ligne 85:
     ssl on;     ssl on;
          
-    server_name wiki.chapril.org;+    server_name agir.chapril.org;
  
-    access_log /var/log/nginx/wiki.chapril.org/wiki.chapril.org.access_log; +    access_log /var/log/nginx/agir.chapril.org/agir.chapril.org.access_log; 
-    error_log /var/log/nginx/wiki.chapril.org/wiki.chapril.org.error_log;+    error_log /var/log/nginx/agir.chapril.org/agir.chapril.org.error_log;
  
 #    include /etc/nginx/custom_50x; #    include /etc/nginx/custom_50x;
-    ssl_certificate     /var/lib/dehydrated/certs/wiki.chapril.org/fullchain.pem; +    ssl_certificate     /var/lib/dehydrated/certs/agir.chapril.org/fullchain.pem; 
-    ssl_certificate_key /var/lib/dehydrated/certs/wiki.chapril.org/privkey.pem;+    ssl_certificate_key /var/lib/dehydrated/certs/agir.chapril.org/privkey.pem;
  
     include /etc/nginx/acme-challenge;     include /etc/nginx/acme-challenge;
     include /etc/nginx/sexy-chapril;     include /etc/nginx/sexy-chapril;
  
-    return 301 https://wiki.april.org/w/Chapril;+    return 301 https://agir.april.org/projects/chapril/issues;
 } }
 </code> </code>
Ligne 105: Ligne 103:
 Création du dossier de logs : Création du dossier de logs :
 <code> <code>
-mkdir /var/log/nginx/wiki.chapril.org/ +mkdir /var/log/nginx/agir.chapril.org/ 
-ln -sf /etc/nginx/sites-available/wiki.chapril.org /etc/nginx/sites-enabled/+ln -sf /etc/nginx/sites-available/agir.chapril.org /etc/nginx/sites-enabled/
 </code> </code>
  
Ligne 114: Ligne 112:
 systemctl reload nginx systemctl reload nginx
 </code> </code>
 +
 +Création du dossier de logs :
 +<code>
 +mkdir /var/log/nginx/agir.chapril.org/
 +ln -sf /etc/nginx/sites-available/agir.chapril.org /etc/nginx/sites-enabled/
 +</code>
 +
 +Activation :
 +<code>
 +nginx -t
 +systemctl reload nginx
 +</code>
 +
 +==== Supervision ====
 +
 +Monitoring ajouté :
 +<code>
 +=(^-^)=root@admin:/etc/icinga2/zones.d/master/cluster# git diff
 +diff --git a/icinga2/zones.d/master/cluster/bastion.conf b/icinga2/zones.d/master/cluster/bastion.conf
 +index da31c6c..53127e4 100644
 +--- a/icinga2/zones.d/master/cluster/bastion.conf
 ++++ b/icinga2/zones.d/master/cluster/bastion.conf
 +@@ -25,6 +25,20 @@ object Host "bastion.cluster.chapril.org" {
 +     disk_partitions = "/tmp"
 +   }
 + 
 ++  vars.http_vhosts["agir.chapril.org redirection"] = {
 ++    http_vhost = "agir.chapril.org"
 ++    http_ssl = true
 ++    http_uri = "/"
 ++    http_expect = "HTTP/1.1 301 Moved Permanently,Location: https://agir.april.org/projects/chapril/issues"
 ++  }
 +
 +   /* Define notification mail attributes for notification apply rules in `notifications.conf`. */
 +   vars.notification["mail"] = {
 +     /* The UserGroup `icingaadmins` is defined in `users.conf`. */
 +
 +</code>
 +
 +
 +===== Compte pour la création de note Redmine =====
 +
 +Dans le Redmine :
 +* un compte ''chagirbot'' a été créé ;
 +* un rôle ''Bot'' a été créé avec uniquement le droit de voir les demandes et d'ajouter une note ;
 +* le compte ''chagirbot'' a été ajouté au projet Chapril avec le rôle ''Bot''.
 +* Une clé d'API Redmine a été générée : se connecter sur https://agir.april.org avec le compte chagirbot puis cliquer sur « Mon compte » et aller dans « Clé d'accès API »
 +
 +Sur les vm, la clé est disponible dans le fichier ''/etc/chagirbot/agiraprilorg.conf''.
 +
 +
 +===== Chagirbot (Redminebot) =====
 +
 +Redminebot (agirbot sur le réseau Freenode) est un bot qui analyse régulièrement les fichiers Atom de ''agir.april.org'' pour afficher sur un canal IRL l'activité d'un projet.
 +
 +À l'origine dédié à gDTC sur #gdtc, il est utilisé pour le projet admin sur #april-admin et maintenant pour le Chapril sur #april-chapril.
 +
 +Il a été écrit en python après grosse réécriture du script redmine IRC bot.
 +
 +Agirbot possède un dépôt Git sur Agir : https://agir.april.org/projects/admins/repository/agirbot
 +
 +==== Déploiement ====
 +Sur Freenode IRC, déclarer (register) le nickname ''chagirbot'' auprès de ''NickServ'' avec un mot de passe.
 +
 +<code>
 +08:17 -NickServ(NickServ@services.)-
 +08:18 <chagirbot> register xxxxxxxxx chagirbot@chapril.org
 +08:18 -NickServ(NickServ@services.)- An email containing nickname activation instructions has been sent to chagirbot@chapril.org.
 +08:18 -NickServ(NickServ@services.)- If you do not complete registration within one day, your nickname will expire.
 +08:18 -NickServ(NickServ@services.)- chagirbot is now registered to chagirbot@chapril.org, with the password JxQwAKjwC3HFWTfzwiq7.
 +08:18 -NickServ(NickServ@services.)-  
 +08:18 -NickServ(NickServ@services.)- For frequently-asked questions about the network, please see the
 +08:18 -NickServ(NickServ@services.)- Knowledge Base page (http://freenode.net/kb/all). Should you need more
 +08:18 -NickServ(NickServ@services.)- help you can /join #freenode to find network staff.
 +</code>
 +
 +Créer un utilisateur ''chagirbot'' :
 +<code bash>
 +adduser --system --group --home /srv/chagirbot --shell /bin/false chagirbot
 +</code>
 +
 +Installation des dépendances de paquets:
 +<code bash>
 +apt-get install python-iso8601 python-twisted python-dateutil python-feedparser
 +</code>
 +
 +Clonage :
 +<code bash>
 +cd /srv/chagirbot/
 +git clone april@agir.cluster.april.org:/srv/git/agirbot git
 +</code>
 +
 +Définition de l'exécutable :
 +<code bash>
 +cd /srv/chagirbot/
 +mkdir bin
 +cd bin
 +ln -s ../git/redminebot.py chagirbot.py
 +</code>
 +
 +Déploiement du fichier de configuration :
 +<code bash>
 +cp /srv/chagirbot/git/redminebot.conf /etc/chagirbot/chagirbot.conf
 +cd /srv/chagirbot/
 +mkdir conf
 +cd conf
 +ln -s /etc/chagirbot/chagirbot.conf /etc/chagirbot/conf/
 +</code>
 +
 +Adapter le fichier ''/etc/chagirbot/chagirbot.conf'' :
 +  * mettre le mot de passe IRC du nickname bot ;
 +  * définir projet ''chapril'' et canal ''#april-chapril''.
 +
 +Définir le service dans systemd :
 +<code bash>
 +cp /srv/chagirbot/git/redminebot.service /etc/systemd/system/
 +ln -s /etc/systemd/system/chagirbot.service /srv/chagirbot/conf/
 +</code>
 +
 +Adapter le fichier ''/etc/systmd/system/chagirbot.service'' avec :
 +  * le bon chemin ;
 +  * le bon compte ;
 +  * le bon groupe ;
 +  * le chemin du fichier de configuration passé en paramètre ExecStart.
 +
 +Configurer le lancement du service au boot :
 +<code bash>
 +(April) root@bots:~# systemctl enable chagirbot
 +Created symlink /etc/systemd/system/multi-user.target.wants/chagirbot.service → /etc/systemd/system/chagirbot.service.
 +</code>
 +
 +Ajouter une sonde dans Icinga2 (''/etc/icinga2/zones.d/master/cluster/admin.conf'') pour valider le bon fonctionnement du bot :
 +<code>
 +  vars.process["Chagirbot"] = {
 +    procs_command = "python3"
 +    procs_argument = "chagirbot.py"
 +    procs_critical = "1:1"
 +  }
 +</code>
 +
 +==== Logs ====
 +Des logs sont consultables via SystemD :
 +<code bash>
 +journalctl -f -u chagirbot
 +</code>
 +
 +
  
admin/services/agir.chapril.org.1578499205.txt.gz · Dernière modification : 2020/01/08 16:00 de admin