====== 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|}}