====== Service benevalibre.chapril.org ======
===== Introduction =====
* Ce service est basé sur Bénévalibre.
* Site principal : https://benevalibre.chapril.org/
* Sources : https://forge.cliss21.org/cliss21/benevalibre
* Documentation : https://benevalibre.chapril.org/docs
===== Installation des pré-requis =====
apt install libapache2-mod-wsgi-py3 python3 virtualenv git make
Le backend mariadb imposée par cette version de django nécessite pas mal de dépendances de dev (le connecteur version debian n'étant pas assez récent).
apt install build-essential python3-dev libmariadb-dev
===== Préparation de la DB =====
CREATE DATABASE benevalibre ;
CREATE USER 'benevalibre' IDENTIFIED BY 'xxxxxxxxx';
GRANT ALL PRIVILEGES ON `benevalibre`.* To 'benevalibre' IDENTIFIED BY 'xxxxxxxxx';
===== Préparation des dossiers =====
mkdir /srv/benevalibre.chapril.org
cd /srv/benevalibre.chapril.org
mkdir /var/www/benevalibre.chapril.org
ln -s /var/www/benevalibre.chapril.org www
cd www/
===== Installation de bénévalibre =====
git clone https://forge.cliss21.org/cliss21/benevalibre.git
cd benevalibre
git checkout master
On doit installer le connecteur sql donc on procède en deux temps.
make venv
venv/bin/pip install mysqlclient
make init
Durant le ''make init'' un éditeur s'ouvre pour qu'on fasse la configuration de l'appli. Je retiens ceci :
ENV=production
DJANGO_SECRET_KEY=s3cr3t
DJANGO_ALLOWED_HOSTS=benevalibre.chapril.org,
DJANGO_DATABASE_URL=mysql://benevalibre:xxxxxxxxxx@127.0.0.1:3306/benevalibre
DEFAULT_FROM_EMAIL=benevalibre@chapril.org
ADMINS=benevalibre-support@chapril.org
Le ''make init'' se charge de :
* updater le virtualenv
* vérifier le chargement du logiciel
* appliquer les migrations de base
* collecter les statiques
* compiler la doc
===== Mise à jour de bénévalibre =====
git pull && make update
ou
cd /var/www/benevalibre.chapril.org/benevalibre
git fetch --all
git rebase origin/master
make update
chown www-data: . -R # bienvenue car on travaille en root et pas en www-data...
===== Configuration apache2 =====
On adapte la conf nginx fournie par le README.md en suivant la logique documentée pour un [[https://docs.djangoproject.com/fr/3.1/howto/deployment/wsgi/modwsgi/|projet Django]]:
ServerName benevalibre.chapril.org
ServerAdmin benevalibre-support@chapril.org
ErrorLog ${APACHE_LOG_DIR}/benevalibre.chapril.org/benevalibre.chapril.org-error.log
CustomLog ${APACHE_LOG_DIR}/benevalibre.chapril.org/benevalibre.chapril.org-access.log combined-proxy
WSGIProcessGroup benevalibre
WSGIDaemonProcess benevalibre python-home=/var/www/benevalibre.chapril.org/benevalibre/venv/ python-path=/var/www/benevalibre.chapril.org/benevalibre/
WSGIScriptAlias / /var/www/benevalibre.chapril.org/benevalibre/benevalibre/wsgi.py process-group=benevalibre
Require all granted
Alias /static/ /var/www/benevalibre.chapril.org/benevalibre/var/static/
Require all granted
Alias /media/ /var/www/benevalibre.chapril.org/benevalibre/var/media/
Require all granted
Alias /favicon.ico /var/www/benevalibre.chapril.org/benevalibre/var/static/favicon/favicon.ico
===== Configuration monitoring =====
/* == benevalibre.chapril.org == */
vars.http_vhosts["benevalibre.chapril.org"] = {
http_vhost = "benevalibre.chapril.org"
http_uri = "/"
vhost_tls = "redirect"
http_string = "Le logiciel libre qui facilite la gestion et la valorisation du bénévolat dans les associations."
}
===== Tester l'envoi de courriels =====
cd /var/www/benevalibre.chapril.org/benevalibre
./venv/bin/python manage.py sendtestemail benevalibre-support@chapril.org
===== Personnaliser la présentation du logiciel =====
Fait via le dossier ''local/'' tel qu'indiqué dans le README du projet.
===== Création d'un utilisateur admin =====
=(^-^)=root@lamp:~# su - www-data -s /bin/bash
www-data@lamp:~$ cd /var/www/benevalibre.chapril.org/benevalibre/
www-data@lamp:~/benevalibre.chapril.org/benevalibre$ ./venv/bin/python manage.py createsuperuser
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 pseudo,
* mettre un avatar Chapril : {{:chapril-logo-compte.png?direct&50|}}