Update README with systemd service

This commit is contained in:
Alexandre Iooss 2020-09-23 18:00:05 +02:00 committed by club-med
parent 47292feab2
commit df1a1cb5de
1 changed files with 3 additions and 23 deletions

View File

@ -39,30 +39,16 @@ Pour mettre en place le projet sans droits root,
on va créer un socket uwsgi dans le répertoire personnel de l'utilisateur `club-med` on va créer un socket uwsgi dans le répertoire personnel de l'utilisateur `club-med`
puis on va dire à Apache2 d'utiliser ce socket avec un `.htaccess`. puis on va dire à Apache2 d'utiliser ce socket avec un `.htaccess`.
Pour cela on va imiter ce que fait l'image Docker,
```bash ```bash
git clone https://gitlab.crans.org/mediatek/med.git django-med git clone https://gitlab.crans.org/mediatek/med.git django-med
chmod go-rwx -R django-med chmod go-rwx -R django-med
python3 -m venv venv python3 -m venv venv --system-site-packages
. venv/bin/activate . venv/bin/activate
pip install -r requirements.txt pip install -r requirements.txt
./entrypoint.sh ./entrypoint.sh # lance en shell
``` ```
Pour lancer le serveur au démarrage de Zamok, Pour lancer le serveur au démarrage de Zamok, on suit les instructions dans `django-med.service`.
on ajoute dans la crontab de l'utilisateur club-med (`crontab -e`)
la ligne suivante :
```crontab
@reboot /home/club-med/django-med/entrypoint.sh
```
Pour couper le serveur, on tue le maître UWSGI,
```bash
kill -INT `cat ~/django-med/uwsgi.pid`
```
Pour reverse-proxyfier le serveur derrière Apache, on place dans `~/www/.htaccess` : Pour reverse-proxyfier le serveur derrière Apache, on place dans `~/www/.htaccess` :
@ -78,12 +64,6 @@ RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,L] RewriteRule ^(.*)$ /django.wsgi/$1 [QSA,L]
``` ```
Pour servir les fichiers statiques, on crée un lien symbolique :
```bash
ln -s ~/django-med/static ~/www/static
```
Il est néanmoins une mauvaise idée de faire de la production sur SQLite, Il est néanmoins une mauvaise idée de faire de la production sur SQLite,
on configure donc ensuite Django et une base de données. on configure donc ensuite Django et une base de données.