vendredi, 17 janvier 2020

Trucs à faire sur Galilée

  • Clarifier le système de sauvegarde
  • Passer les sites en PHP vers PHP 7 FPM
  • Déplacer les pages encore utilisées sur le wiki et archiver celui-ci - Flo
  • Mettre en place la création automatique de groupes seafile de RA pour d’autres régions - JV
  • Déployer plus facilement des listes mail automatique (+ blacklist ?) pour des groupes, etc… voir RA
  • Mettre à jour Seafile en prennant en compte les modifs de Tulipier
  • Faire une nouvelle version de Louflasher avec des archives et multi-listes-mail
  • Ajouter à l’outil de formulaire la possibilité de modifier sa propre réponse sans voir celles des autres
  • Ajouter un index des documents des seafiles Espace Doc et Formateurs-trices
  • Simplifier les mails automatiques reçus sur la liste
  • Refaire le logiciel de création de compte / changement de mot de passe - JV
  • Mettre à jour vers Debian Buster

Il faut sauvegarder Galilée (espèce menacée)

Une sauvegarde automatique est faite chaque nuit vers 4h du matin.

Il reste à faire :

  • vérifier qu’on peut réinstaller à partir de la sauvegarde
  • permettre à plusieurs personnes de faire la restauration

Mise en place d'un système d'authentification unique

But : utiliser le même système d’autentification des utilisateurs pour tous les services de galilée, si possible le brancher sur le portail des adhérents.

Émile : il reste quoi à faire ?

  • Définir un système de droits : qui à le droit de faire quoi? Et configurer le LDAP pour qu’il l’applique.

Intégration au collectif CHATONS

Le collectif CHATONS est un regroupement d’hébergeurs cool, et on en fait partie !

Les docs de référence du collectif sont sa charte et son manifeste. Il y a quelques points de ceux-ci qu’il faut qu’on mette en œuvre pour être encore plus dans les clous :

la TODO

  • rendre public distri et logiciels
    • & nos logiciels, récap et lien vers code source (c’est le cas pour la plupart, au moins en pied de page, sauf probablement camplive -> demander à Pascal V ?)

  • journal des incidents
  • rendre public comptes et rapport d’acti
  • politique sécu & sauvegarde (qui est root)

  • warrant canary

 

les trucs faits

  • Faire des /CGU avec :

    • non discrimination des adhérents
    • politique intercomcom et fonctionnnement (cf CR)
    • modèle économique
    • hébergement, contrôle du matos, etc
    • données perso / vie privée (q° lien avec l’asso)
    • suppression de données + listes
    • formation (tremplin, etc)
  • rendre public distri et logiciels

au sujet de l’ouverture

J’ai demandé si nous étions dans les clous concernant la question de l’ouverture (vu qu’on est réservé à nos adhérent·e·s). Voici ce qu’on m’a répondu :

> Le second, c'est https://galilee.eedf.fr/ . Il s'agit d'un serveur créé
> pour les Éclaireuses Éclaireurs de France de Midi-Pyrénées, pour offrir
> des services basés sur des logiciels libres aux adhérent·e·s et
> salarié·e·s de l'association (mail, listes mail, partage de fichiers
> seafile, annuaire des adhérent·e·s, etc). Il est administré par une
> équipe de bénévoles.
>
> Le serveur est ouvert à tou·te·s les adhérent·e·s de l'asso en
> Midi-Pyrénées, une centaine de comptes sont actifs. On est en cours de
> travail pour l'étendre à 3 autres régions intéressées. Le service est
> gratuit (financé par les cotisations des adhérent·e·s). Le serveur est
> une machine virtuelle hébergée chez tetaneutral.net.
>
> Par rapport au manifeste : pareil, est-ce qu'un service pour les
> adhérent·e·s d'une association est considéré comme « une politique
> ouverte de gestion des comptes utilisateurs » ?

Oui.

CHATONS est agnostique sur la communauté visée par un candidat chaton. Ni de son modèle économique tant qu'il est jugé comme "raisonnable".
(après, je ne dit pas qu'une candidature au collectif d'une structure se revendiquant "chaton front national" ou "les zamis de zeymour" serait acceptée.) C'est l'avantage du collectif, on peut aussi définir les règles au fur et à mesure. Je le redis d'ailleurs pour celles et ceux qui n'auraient pas lu les archives : certaines parties de la charte sont *volontairement* floues, pour ne pas figer les choses avant de commencer, et ouvrir la porte à la co-construction.

Donc, que ce chaton vise une communauté d'adhérents, ne pose *aucun* problème. Ca va d'ailleurs être le cas de beaucoup de chatons, qui seront sous forme associative (https://hadoly.fr dont je fais partie à Lyon est un bon exemple).

Bon, puis le fait que vous soyez chez Tetaneutral démontre aussi une volonté et une attention particulière au libre.

Espace Documentaire synchronisé

L’espace documentaire synchronisé est une bibliothèque Seafile contenant l’ensemble des documents disponibles sur l’espace documentaire national, avec en plus les documents rajoutés régionalement.

Comment fonctionne la synchronisation ?

Sur Galilée, le compte utilisateur espacedoc possède un cron, qui lance régulièrement le script de synchronisation (dans /home/espacedoc/bin).

Ce script :

  1. vérifie que le client Seafile est bien lancé
  2. lance le script de scrapping, qui se connecte sur l’espace doc national avec un numéro d’adhérent, et cherche les nouveaux documents pour les télécharger

Une fois les fichiers téléchargés, le client Seafile les ajoute automatiquement dans la bibliothèque.

À noter : le dossier /home/espacedoc/bin est un dépôt git, pour garder des traces des modifications.

Certificat TLS/SSL

Le certificat TLS/SSL de Galilee est un certificat Let’s Encrypt, renouvellé automatiquement tous les mois.

Pour le renouveller manuellement, il faut lancer la commande :

# /root/ssl/update-certs.sh

Ajouter un nouveau domaine au certificat

documentation à écrire…

Gestion adhérents - utilisateurices

Il s’agit d’une application python/django qui se trouve à l’emplacement /var/django/adherents

Créer des comptes

Pour les administrateurs : permet de créer un compte aux adhérents inscrits dans le portail (et donc dans LDAP).

Disponible à l’adresse https://galilee.eedf.fr/adherents/creercompte

Sur le disque, voir le répertoire /var/django/adherents/creercompte

Activer son compte

Pour chaque adhérent : permet d’activer son compte galilée.

Disponible à l’adresse : https://galilee.eedf.fr/adherents/activercompte

Sur le disque, voir le répertoire /var/django/adherents/creercompteseul

Annuaire

La version compliquée

Il s’agit d’une application django.

Dans /var/django/adherents, il y a un dossier annuaire avec l’application. Elle est actuellement bugée et fait planter le système.

Elle est accessible (quand elle n’est pas désactivée) à l’adresse https://galilee.eedf.fr/adherents/annuaire

Elle se base sur les données du LDAP local, voir ici.

La version simplifiée

Il s’agit d’une page HTML écrite en dur dans /var/www/secret/annuaire.html

Elle est générée à chaque mise à jour du LDAP par le script /root/entrecles/syncannuaire.py, à partir des données du LDAP et du template /root/entrecles/annuaire.html

C’est accessible à l’adresse https://galilee.eedf.fr/secret/annuaire.html

Le dossier https://galilee.eedf.fr/secret/ etant protégé par mot de passe au niveau d’apache (/etc/apache2/sites-available/default-ssl)

Le Wiki MoinMoin

Le logiciel

Le wiki régional de Midi-Py fonctionne grâce au logiciel MoinMoin, écrit en python. Il est hébergé sur galilee, bien évidement.

Les fichiers sont stockés dans /var/www/wiki.

Ce wiki est de moins en moins utilisé, le but à terme est de supprimer.

La configuration

Configuration spécifique de MoinMoin

Le fichier principal de configuration est /var/www/wiki/wiki/config/wikifarm/mywiki.py

Les fichiers de thème se situent dans /var/www/wiki/wiki/data/plugin/theme/

Les pages à sortir du Wiki

Dans l’optique de supprimer le wiki (ou de le transformer en copie statique à titre d’archive), voici la liste des pages qui servent encore :

Pour l’InterComCom et Galilée

Pour la région Midi-Pyrénées

mercredi, 15 janvier 2020

Partage de fichiers Seafile

Seafile

Où est-ce qu’on en est ?

Seafile est installé sur https://galilee.eedf.fr/seafile/ et il fonctionne ! Il marche avec les comptes du ldap tant qu’on utilise un mail qui y est. Il y a un compte d’admin qui est là où on note ce genre de choses.

Procédures de maintenance

Mises à jour de Seafile (obsolète, car on est sur une version qui utilise les modifs de Tulipier… ne pas mettre à jour sans intégrer ces modifs, il faudrait décrire la procédure)

  • suivre la procédure du manuel : http://manual.seafile.com/deploy/upgrade.html

  • lancer le script /var/seafile/post-upgrade.sh qui fixe des permission et rétablit la copie d’écran de l’aide avec la bonne url de configuration du serveur

Mises à jour des clients

Florence maintient pour son serveur Seafile une page de téléchargement en français, qu’elle met à jour en suivant les versions des clients.

Le script /var/seafile/update-client-dl-page.sh récupère le template sur le serveur de Florence pour le copier sur Galilée.

Ce qu’il reste à faire

  • former les permanents ! et déménager le contenu du partage SAMBA ?

Ancien partage de fichiers SAMBA

Des fichiers de midipy étaient mis à disposition sur le réseau. Ils sont dans /home/eedf/partage et il faudrait les ranger ailleurs.

Listes mail

Logiciel utilisé : mailman

Configuration : voir à l’emplacement /etc/mailman

  • apache.conf : l’interface WEB d’accès aux listes
  • mm_cfg.py : configuration globale

Administration : des scripts permettent d’administrer les listes à partir de la ligne de commande. Il sont à l’emplacement /var/lib/mailman/bin

La liste respos@ synchronisée avec le portail

Il existe une ligne synchronisée avec l’import du portail, respos@. Si quelqu’un veut être désinscrit de cette liste, il faut non seulement le faire dans mailman, mais aussi rajouter le mail dans la liste noire, pour ne pas qu’il soit réinscrit à la prochaine synchro.

Il faut modifier le fichier /root/entrecles/syncml/blacklist-respo@, et rajouter l’adresse dedans (une par ligne, ne surtout pas mettre de ligne vide dans le fichier !)

Gestion des mails

Infrastructure et documentation de mise en place

  • MUA (SMTP) : Postfix
  • MDA : Dovecot deliver (avec filtrage des mails via des règles sieve)
  • Serveur IMAP : Dovecot
  • Serveur ManageSieve (configuration à distance des règles sieve) : Pysieved

  • Webmails :
    • Squirelmail
    • Roundcube + sieverules (en version 0.3-stable, qui correspond à la version 0.3 de Roundcube)

Documentation pour la mise en place du filtrage des mails via sieve : http://thefool.filyb.info/doc/admin/mail-dovecot/

Documentation utilisateurs

IMAP

Nom de domaine : galilee.eedf.fr Port : 993 Sécurité : SSL/TLS type de mot de passe : normal

SMTP

Nom de domaine : galilee.eedf.fr Port : 25 Sécurité : Aucune type de mot de passe : normal

LDAP - Gestion des utilisateurices

Système de base

Le logiciel installé est OpenLDAP (sur galilée, bien sûr). Les fichiers de configurations sont situés dans /etc/ldap. Le super utilisateur s’appelle “admin”. Voir le mot de passe en réunion InterComCom.

Interface d’administration

Voici une technique pour utiliser un logiciel de visualisation du LDAP sur son PC :

Sur la machine locale :

  • Installer jxplorer
  • Ouvrir un tunnel du port LDAP via ssh :
  $ ssh -L 9389:localhost:389 -p 2222 root@galilee.eedf.fr
  • Se connecter au LDAP avec jxplorer :
  hote : localhost
  port : 9389
  base DN : dc=galilee,dc=eedf,dc=fr
  niveau : utilisateur + mot de passe
  utilisateur : cn=admin,dc=galilee,dc=eedf,dc=fr
  mot de passe : ******

Sinon, il y a également shelldap installé sur Galilée, qui permet de se balader dans le LDAP comme dans un shell !

Récupération du fichier adhérent

Gaël a créé un script qui importe les données qui nous intéressent de la base des adhérents. Ce script se lance toutes les nuits et créée le fichier /root/entrecles/adherents_region.xlsx.

Un script python utilise ce fichier pour remplir (mettre à jour) la base LDAP de galilée. Voir /root/entrecles/README

Utilisation

Ce système pourra être utilisé pour tous les services mis en place sur galilée, pour définir les droits de chaque utilisateur.

Pour le système

Voir la conf dans :

  • /etc/nsswitch.conf
  • /etc/pam.d/*
  • /etc/nslcd.conf

Pour le wiki

Voir la conf dans /var/www/wiki/wiki/config/wikifarm/mywiki.py

Structure

Le DN de base du LDAP est “dc=galilee,dc=eedf,dc=fr”

  dc=galilee,dc=eedf,dc=fr
    ou=guests  # utilisateurices non adhérent·e·s
    ou=midipy  # adhérent·e·s de midipy
    ou=midipy-futuraaee  # ancien·ne·s adhérent·e·s de midipy
    ou=ra  # adhérent·e·s de rhone-alpe
    ou=ra-futuraaee  # ancien·ne·s adhérent·e·s de rhone-alpe
    cn=admin   # permet la connexion d'administration du LDAP
    uid=galilee    # permet la connexion en lecture du LDAP
    ...

Créer des comptes pour des non-adhérent-e-s ou des adhérent-e-s à d’autres régions

Il faut utiliser le script /etc/ldap/bin/create_user_non_eedf.py (demander à un-e admin de Galilée)

Ajouter une nouvelle région

  • Demander à Gaël de créer le domaine nouvelleregion.eedf.fr, avec les mêmes enregistrements que les autres (A, AAAA, MX, SPF et DKIM)
  • Rajouter le domaine au certificat Let’s encrypt
  • Modifier /root/entrecles/conf.py pour rajouter les infos de connexion au portail de la nouvelle région.

  • Se connecter au LDAP avec Jxplorer ou shelldap (voir plus haut).
  • Copier une branche ou (par exemple guests), pour lui donner le nom de la nouvelle région (bien garder la même chose que le domaine en .eedf.fr).
    Avec shelldap :
    ~ > cp ou=midipy ou=nouvelleregion
  • Faire de même pour ajouter nomrégion-futuraaee pour les anciens adhérents.
    Avec shelldap :
    ~ > cp ou=midipy ou=nouvelleregion-futuraaee
  • Lancer le téléchargement de l’annuaire entrecles avec /root/entrecles/download_annuaire.sh nomrégion

  • Lancer la synchro avec /root/entrecles/synchro.py synchro nomrégion.

  • Pour les e-mails, ajouter le nom de domaine de la région dans postfix (/etc/postfix/main.cf) et DKIM (/etc/opendkim.conf)
  • Demander à Florence de rajouter le nom de domain dans la configuration de Tila.im (serveur mail secondaire)
  • Pour activer la création de compte, ajouter la région dans les fichiers suivant :
  /var/www/adherents/templates/region-liste.html
  /var/www/adherents/settings.py
  /root/entrecles/synchro.sh
  /etc/intercomcom/regions.py
  • Il faut ensuit relancer l’application adhérents :
    supervisorctl restart adherents
  • Pour que l’identité par défaut du webmail corresponde à la bonne région, il faut rajouter la région à la fin du fichier
   /var/www/roundcube/config/config.inc.php
  • Ensuite il faut configurer nginx pour le nouveau domaine, et créer la nouvelle page d’accueil
  • Enfin, on peut rajouter cette page d’accueil sur la page d’accueil globale de galilee

le Matériel

Galilée 2

Depuis juin 2016, Galilée est hébergé sur une machine virtuelle de l’infrastructure de tetaneutral.net.

Coût actuel : 170€/an (adhésion + abonnement)

Ce qu’il y avait dans la boite de Galilée 1

HP Vectra Hewlett-Packard 32bit

  • Carte mère HP System Board R3A
  • Processeur PIII 866MHz
  • RAM 2*256MiB
  • Carte réseau 3Com 3c905C-TX/TX-M [Tornado]
  • Disques durs 2*20GB en RAID logiciel
  • Disque dur de 1To sur une carte PCI-SATA

Les opérations courantes d'administration de Galilée

Supprimer quelqu’un·e d’une liste e-mail synchronisée automatiquement

Il faut supprimer la personne de la liste, mais aussi l’ajouter dans une liste noire, pour qu’elle ne soit pas ré-abonnée lors de la prochaine synchro.

  • Il faut d’abord se connecter au serveur :
  ssh -p 2222 nom-utilisateurice@galilee.eedf.fr
  • Trouver sur quelle liste la personne est abonnée :
  sudo find_member adresse@example.org
  • La supprimer d’une liste :
  sudo remove_members nomliste adresse@example.org
  • ou de toutes les listes du serveur (attention !)
  sudo remove_members --fromall adresse@example.org
  • l’ajouter à la blacklist, en éditant le fichier correspondant, par exemple pour la liste des respos de midi-py :
  sudo nano /root/entrecles/syncml/blacklist-respos@
  • ou pour celle de Provence :
  sudo nano /root/entrecles/syncml/blacklist-newsletter@
  • y ajouter sur une nouvelle ligne l’adresse mail
  • sauvegarder et quitter avec control-x
  • répondre à la personne avec la liste mail en copie que c’est bon !

Synchroniser le portail

quand le mail automatique dit qu’il faut ajouter ou modifier des adhérent·e·s :

  • se connecter au serveur :
  ssh -p 2222 nom-utilisateurice@galilee.eedf.fr
  • lancer la synchro :
  sudo /root/entrecles/synchro.sh synchro
  • répondre au mail sur la liste que c’est fait

Mettre à jour le système

Quand le mail automatique de cron-apt dit qu’il y a des mises à jour à faire :

  • se connecter au serveur :
  ssh -p 2222 nom-utilisateurice@galilee.eedf.fr
  • lancer les mises à jour :
  sudo apt full-upgrade
  • à la fin, il y a une vérification des logiciels qui doivent être redémarrés. Le faire pour tous les logiciels.
  • répondre à la liste au mail de cron-apt en disant que c’est fait

Créer un compte hors LDAP

(pour mail, annuaire des adhérents, notamment)

  sudo adduser nomdutilisateurtrice

suivre les instructions (mdp…). La personne peut paramétrer dans l’interface mail (Paramètres >identités) l’extension mail qu’elle veut utiliser (midipy.eedf.fr ou galilee.eedf.fr ou…).

Supprimer un compte hors LDAP

  sudo deluser nomdutilisateurice

pour supprimer aussi les fichiers perso

  sudo deluser --remove-home nomutilisateurice

Autres infos utiles

La commande :

  sudo ls /root

permet d’avoir la liste des fichiers où l’on note des trucs, que l’on peut ensuite éditer à l’aide de :

  sudo nano /root/nom-du-fichier

Remise en service de galilée

Galilée est hors-service ? Première chose à faire, envoyer un mail à  expliquant les symptômes de la panne.

Modifier aussi la page d’accueil de ce site, pour tenir au courant les utilisateurices au fur et à mesure de la résolution du problème. Pour modifier la page d’accueil, il faut aller dans l’administration de ce site, puis dans le plugin “homePageMode2”, en bas à gauche de l’interface d’administration (les codes sont avec les autres codes de l’intercomcom, demander sur la liste si besoin).

Diagnostic

Connexion

Le serveur est-il connecté à internet ? Tester le ping sur le nom de domaine et sur l’IP du serveur

ping galilee.eedf.fr
ping 89.234.156.185

Services

Tester les différents services (avec un navigateur, tenter de se connecter en ssh, d’avoir ses mails, etc). La commande telnet permet de faire ça rapidement :

  • Web
telnet galilee.eedf.fr 80
telnet galilee.eedf.fr 443
  • Envoi de mail
telnet galilee.eedf.fr 25
  • Reception de mails
telnet galilee.eedf.fr 993

Si la réponse contient “Connected to galilee.eedf.fr”, c’est que le service fonctionne.

Problème sur la machine virtuelle

Si plus rien ne réponds, c’est peut-être la machine virtuelle qui est complètement plantée. Dans ce cas, on peut tenter de la redémarrer, en envoyant un mail sur la liste de l’InterComCom, et en demandant à Émile ou Florence de le faire.

Si le redémarrage de la machine virtuelle ne suffit pas ou ne fonctionne pas, ou que Émile et Florence sont indisponibles, il faut contacter Tetaneutral.net.

Pour cela, il faut aller sur IRC, en installant un logiciel comme Xchat. Puis il faut s’enregistrer sur freenode, comme expliqué sur ce tutoriel. Enfin, il faut se connecter sur le canal #tetaneutral.net.

Il faut ensuite poster un message, en mentionant dedans les pseudos des bénévoles qui gèrent les machines virtuelles, comme sileht et Id2ndR, et voir ce qu’ils répondent…

Informations sur Galilée

Informations sur Galilée

Introduction

Galilée était une machine située à la permanence de toulouse des éclés de la région Midi Pyrénées. C’est désormais une machine virtuelle hébergée sur l’infrastructure de l’association Tetaneutral.net. Elle héberge un certain nombre de services pour les salarié·es, les groupes et plus généralement tous les adhérent·es.

Historique

Le système fonctionne depuis octobre 2009. Il a été mis en place dans le but premier d’être un espace local de stocage et d’échange de documents à la perm’ de Toulouse.

Pré-requis : le service ssh d’administration à distance, qui permet aussi d’échanger des fichiers. Il a permis d’intervenir à distance sur le système. Initialement, le domaine midipy.md2t.eu pointait sur galilée. Par la suite, le domaine galilee.eedf.fr (plus pertinent) l’a remplacé. On a aussi permis aux mails d’arriver avec le domaine midipy.eedf.fr (uniquement le MX).

Premier service : un serveur de fichiers SAMBA accessible en local, facilement utilisable sous windows.

Les services de mail et WEB on été rapidement mis en place, et les premières listes mails ont été mise en service et utilisées.

Mise en place d’un carnet d’adresse régional

16 décembre 2010 : mise en place du système RAID : les données sont systématiquement dupliquées, le système continue même si un des 2 disques crashe.

Inter-régionalisation

Les 4 et 5 février 2017 commence une nouvelle aventure : Galilée devient inter-régional, avec l’arrivée de la région Rhône-Alpe dans l’aventure !

Documentation des administrateurices de Galilée

Le contenu de cette page et des pages liées est plutôt destiné aux administrateurices de Galilée.

Voir aussi : la liste des trucs à faire sur Galilée

Documentation technique

Base

Web

Divers