services:benevalibre.chapril.org
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédente | |||
| services:benevalibre.chapril.org [2026/04/11 17:40] – supprimée - modification externe (Date inconnue) 127.0.0.1 | services:benevalibre.chapril.org [2026/04/11 17:40] (Version actuelle) – ↷ Page déplacée de admin:services:benevalibre.chapril.org à services:benevalibre.chapril.org pitchum | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | ====== Service benevalibre.chapril.org ====== | ||
| + | ===== Introduction ===== | ||
| + | |||
| + | * Ce service est basé sur Bénévalibre. | ||
| + | * Site principal : https:// | ||
| + | * Sources : https:// | ||
| + | * Documentation : https:// | ||
| + | |||
| + | ===== Installation des pré-requis ===== | ||
| + | |||
| + | <code bash> | ||
| + | apt install libapache2-mod-wsgi-py3 python3 virtualenv git make | ||
| + | </ | ||
| + | |||
| + | Le serveur de base de donnée MariaDB imposé par cette version de Django nécessite pas mal de dépendances de développement%%*%%. | ||
| + | |||
| + | <code bash> | ||
| + | apt install build-essential python3-dev libmariadb-dev pkg-config | ||
| + | </ | ||
| + | |||
| + | %%*%% Le connecteur de Debian n' | ||
| + | |||
| + | ===== Préparation de la DB ===== | ||
| + | |||
| + | <code bash> | ||
| + | mysql -u root -p | ||
| + | </ | ||
| + | |||
| + | <code sql> | ||
| + | CREATE DATABASE benevalibre ; | ||
| + | CREATE USER ' | ||
| + | GRANT ALL PRIVILEGES ON `benevalibre`.* To ' | ||
| + | </ | ||
| + | |||
| + | ===== Préparation des dossiers ===== | ||
| + | |||
| + | <code bash> | ||
| + | mkdir / | ||
| + | cd / | ||
| + | mkdir -p / | ||
| + | mkdir -p / | ||
| + | ln -s / | ||
| + | cd www/ | ||
| + | </ | ||
| + | |||
| + | ===== Installation de Bénévalibre ===== | ||
| + | |||
| + | <code bash> | ||
| + | git clone https:// | ||
| + | cd benevalibre/ | ||
| + | git checkout master | ||
| + | </ | ||
| + | |||
| + | On doit installer le connecteur SQL donc on procède en deux temps. | ||
| + | |||
| + | <code bash> | ||
| + | make create-venv | ||
| + | venv/ | ||
| + | make init | ||
| + | </ | ||
| + | |||
| + | Durant le '' | ||
| + | Je retiens ceci : | ||
| + | |||
| + | <file - config.env> | ||
| + | ENV=production | ||
| + | DJANGO_SECRET_KEY=s3cr3t | ||
| + | DJANGO_ALLOWED_HOSTS=benevalibre.chapril.org, | ||
| + | DJANGO_DATABASE_URL=mysql:// | ||
| + | DEFAULT_FROM_EMAIL=benevalibre@chapril.org | ||
| + | ADMINS=benevalibre-support@chapril.org | ||
| + | </ | ||
| + | |||
| + | Le '' | ||
| + | |||
| + | * Mettre à jour le '' | ||
| + | * Vérifier le chargement du logiciel ; | ||
| + | * Appliquer les migrations de base ; | ||
| + | * Collecter les statiques ; | ||
| + | * Compiler la documentation. | ||
| + | |||
| + | ===== Configuration Apache2 ===== | ||
| + | |||
| + | On adapte la configuration de Nginx fournie par le fichier '' | ||
| + | |||
| + | <file apache / | ||
| + | < | ||
| + | ServerName benevalibre.chapril.org | ||
| + | ServerAdmin benevalibre-support@chapril.org | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/ | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | |||
| + | WSGIProcessGroup benevalibre | ||
| + | WSGIDaemonProcess benevalibre python-home=/ | ||
| + | |||
| + | WSGIScriptAlias / / | ||
| + | |||
| + | < | ||
| + | <Files wsgi.py> | ||
| + | Require all granted | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | Alias /static/ / | ||
| + | |||
| + | < | ||
| + | Require all granted | ||
| + | </ | ||
| + | |||
| + | Alias /media/ / | ||
| + | |||
| + | < | ||
| + | Require all granted | ||
| + | </ | ||
| + | |||
| + | Alias / | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ===== Configuration monitoring ===== | ||
| + | |||
| + | <file nagios / | ||
| + | /* == benevalibre.chapril.org == */ | ||
| + | vars.http_vhosts[" | ||
| + | http_vhost = " | ||
| + | http_uri = "/" | ||
| + | vhost_tls = " | ||
| + | http_string = "Le logiciel libre qui facilite la gestion et la valorisation du bénévolat dans les associations." | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | ===== Tester l' | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | ./ | ||
| + | </ | ||
| + | |||
| + | ===== Personnaliser la présentation du logiciel ===== | ||
| + | |||
| + | Fait via le dossier '' | ||
| + | |||
| + | ===== Création d'un utilisateur admin ===== | ||
| + | |||
| + | On se place en utilisateur '' | ||
| + | |||
| + | <code bash> | ||
| + | su - www-data -s /bin/bash | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | |||
| + | ./ | ||
| + | </ | ||
| + | < | ||
| + | Adresse mail: benevalibre-support@chapril.org | ||
| + | Password: | ||
| + | Password (again): | ||
| + | Superuser created successfully. | ||
| + | </ | ||
| + | |||
| + | Puis : | ||
| + | |||
| + | * Ajouter le mot de passe dans le gestionnaire dédié ; | ||
| + | * Se connecter au service Web : | ||
| + | * Mettre « ChaprilAdmin » en pseudonyme, | ||
| + | * Mettre un avatar Chapril : {{: | ||
| + | |||
| + | ===== Administration régulière du service ===== | ||
| + | |||
| + | ==== Export/ | ||
| + | |||
| + | <code bash> | ||
| + | mysqldump -u root -p benevalibre > benevalibre_backup_db_$(date +%Y%m%d).sql | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | mysql -u root -p benevalibre < benevalibre_backup_db_$(date +%Y%m%d).sql | ||
| + | </ | ||
| + | |||
| + | ==== Mise à jour de bénévalibre (version < 2.0.0) ==== | ||
| + | |||
| + | <code bash> | ||
| + | git pull && make update | ||
| + | </ | ||
| + | |||
| + | Une autre procédure est possible : | ||
| + | |||
| + | <code bash> | ||
| + | cd / | ||
| + | git fetch --all | ||
| + | git rebase origin/ | ||
| + | make update | ||
| + | chown www-data: . -R | ||
| + | </ | ||
| + | |||
| + | ===== Administration exceptionnelle du service ===== | ||
| + | |||
| + | ==== Mise à jour de Bénévalibre de la v1.6.x à la version 2.0.x ==== | ||
| + | |||
| + | En août 2025, la sortie de la version 2.0 de Bénévalibre a été annoncée. | ||
| + | Comme indiquée dans l' | ||
| + | |||
| + | La procédure d' | ||
| + | |||
| + | Le protocole qui suit, en cours d' | ||
| + | |||
| + | === Arrêt === | ||
| + | |||
| + | Commençons par arrêter le service. | ||
| + | |||
| + | <code bash> | ||
| + | a2dissite benevalibre.chapril.org | ||
| + | systemctl reload apache2 | ||
| + | </ | ||
| + | |||
| + | === Sauvegarde === | ||
| + | |||
| + | Sauvegardons ensuite notre configuration et les fichiers statiques, logos… | ||
| + | |||
| + | Si besoin, créer un dossier de sauvegarde. | ||
| + | |||
| + | <code bash> | ||
| + | mkdir ~/backup | ||
| + | </ | ||
| + | |||
| + | On sauvegarde le nécessaire ailleurs. | ||
| + | <code bash> | ||
| + | cd / | ||
| + | cp -rp {config.env, | ||
| + | </ | ||
| + | |||
| + | === Mise à jour === | ||
| + | |||
| + | On s' | ||
| + | |||
| + | <code bash> | ||
| + | git checkout main && git pull | ||
| + | </ | ||
| + | |||
| + | Copie de notre fichier '' | ||
| + | <code bash> | ||
| + | cp config.env config.env.ori | ||
| + | cp config.env.example config.env | ||
| + | </ | ||
| + | |||
| + | On reporte les éléments de notre ancienne configuration dans le nouveau fichier, à savoir les variables : | ||
| + | <code - config.env> | ||
| + | DJANGO_SECRET_KEY=s3cr3t | ||
| + | DJANGO_ALLOWED_HOSTS=benevalibre.chapril.org, | ||
| + | DJANGO_DATABASE_URL=mysql:// | ||
| + | DEFAULT_FROM_EMAIL=benevalibre@chapril.org | ||
| + | ADMINS=benevalibre-support@chapril.org | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | On éditera la variable '' | ||
| + | <code bash> | ||
| + | | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | Les variables '' | ||
| + | |||
| + | Dans notre cas, nous conservons les valeurs par défaut. | ||
| + | </ | ||
| + | |||
| + | === Installation de l' | ||
| + | |||
| + | Après avoir supprimé l' | ||
| + | |||
| + | <code bash> | ||
| + | rm -rf ./venv | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | python3 -m venv --system-site-packages ./venv | ||
| + | source ./ | ||
| + | python -m pip install benevalibre | ||
| + | </ | ||
| + | |||
| + | '' | ||
| + | |||
| + | On vérifie que tout va bien avec l' | ||
| + | |||
| + | <code bash> | ||
| + | python -m benevalibre check --deploy | ||
| + | </ | ||
| + | |||
| + | On passera sous silence, les erreurs affichées concernant les options '' | ||
| + | |||
| + | Avant de poursuivre on réalisera la commande suivante : | ||
| + | <code bash> | ||
| + | ln -s / | ||
| + | / | ||
| + | </ | ||
| + | |||
| + | Ceci permettra de rattraper un bug lors de la collecte des fichiers statiques qui va suivre. | ||
| + | |||
| + | On migre la base de données et on récupère les fichiers statiques dans l' | ||
| + | |||
| + | <code bash> | ||
| + | python -m benevalibre migrate | ||
| + | python -m benevalibre collectstatic | ||
| + | </ | ||
| + | |||
| + | <note important> | ||
| + | Avant de lancer la dernière commande, on s' | ||
| + | </ | ||
| + | |||
| + | === Installation de Gunicorn === | ||
| + | |||
| + | La mise à jour propose d' | ||
| + | Trois tâches sont à faire. | ||
| + | |||
| + | Installer Gunicorn dans le répertoire '' | ||
| + | |||
| + | <code bash> | ||
| + | python -m pip install gunicorn | ||
| + | deactivate | ||
| + | </ | ||
| + | |||
| + | Créer puis activer un service Systemd pour lancer Gunicorn qui va servir Bénévalibre. | ||
| + | |||
| + | <code ini / | ||
| + | [Unit] | ||
| + | Description=Bénévalibre web service | ||
| + | After=network.target | ||
| + | |||
| + | [Service] | ||
| + | User=www-data | ||
| + | Group=www-data | ||
| + | WorkingDirectory=/ | ||
| + | ExecStart=/ | ||
| + | --name benevalibre --workers 4 \ | ||
| + | --max-requests 1200 --max-requests-jitter 50 \ | ||
| + | --log-level=info --bind=127.0.0.1: | ||
| + | Restart=on-failure | ||
| + | |||
| + | [Install] | ||
| + | WantedBy=multi-user.target | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | systemctl daemon-reload | ||
| + | systemctl enable --now benevalibre | ||
| + | </ | ||
| + | |||
| + | Modifier la configuration d' | ||
| + | |||
| + | <code apache / | ||
| + | < | ||
| + | ServerName benevalibre.chapril.org | ||
| + | ServerAdmin benevalibre-support@chapril.org | ||
| + | |||
| + | ErrorLog ${APACHE_LOG_DIR}/ | ||
| + | CustomLog ${APACHE_LOG_DIR}/ | ||
| + | |||
| + | Alias /static / | ||
| + | |||
| + | < | ||
| + | Require all granted | ||
| + | </ | ||
| + | |||
| + | Alias /media / | ||
| + | |||
| + | < | ||
| + | Require all granted | ||
| + | </ | ||
| + | |||
| + | Alias / | ||
| + | |||
| + | ProxyRequests Off | ||
| + | ProxyPreserveHost On | ||
| + | |||
| + | ProxyPass /static ! | ||
| + | ProxyPass /media ! | ||
| + | ProxyPass / | ||
| + | ProxyPass / http:// | ||
| + | ProxyPassReverse / http:// | ||
| + | | ||
| + | # ChaprilInfos | ||
| + | Include chaprilinfos.conf | ||
| + | |||
| + | </ | ||
| + | </ | ||
| + | |||
| + | On ajoutera le module '' | ||
| + | |||
| + | <code bash> | ||
| + | a2enmod proxy | ||
| + | a2enmod proxy_http | ||
| + | a2ensite benevalibre.chapril.org | ||
| + | systemctl restart apache2 | ||
| + | </ | ||
