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
CREATE DATABASE benevalibre ; CREATE USER 'benevalibre' IDENTIFIED BY 'xxxxxxxxx'; GRANT ALL PRIVILEGES ON `benevalibre`.* TO 'benevalibre' IDENTIFIED BY 'xxxxxxxxx';
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/
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 :
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...
On adapte la conf nginx fournie par le README.md en suivant la logique documentée pour un projet Django:
<VirtualHost *:80> 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 <Directory /var/www/benevalibre.chapril.org/benevalibre/benevalibre/> <Files wsgi.py> Require all granted </Files> </Directory> Alias /static/ /var/www/benevalibre.chapril.org/benevalibre/var/static/ <Directory /var/www/benevalibre.chapril.org/benevalibre/var/static/> Require all granted </Directory> Alias /media/ /var/www/benevalibre.chapril.org/benevalibre/var/media/ <Directory /var/www/benevalibre.chapril.org/benevalibre/var/media/> Require all granted </Directory> Alias /favicon.ico /var/www/benevalibre.chapril.org/benevalibre/var/static/favicon/favicon.ico </VirtualHost>
/* == 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." }
cd /var/www/benevalibre.chapril.org/benevalibre ./venv/bin/python manage.py sendtestemail benevalibre-support@chapril.org
Fait via le dossier local/
tel qu'indiqué dans le README du projet.
=(^-^)=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 :