Format README and fix link

This commit is contained in:
Alexandre Iooss 2020-08-10 18:26:45 +02:00
parent 9c679d5bc9
commit 4a4c3d33b0
1 changed files with 87 additions and 85 deletions

View File

@ -6,64 +6,67 @@
## Installation sur un serveur
On supposera pour la suite que vous utilisez Debian/Ubuntu sur un serveur tout nu ou bien configuré.
On supposera pour la suite que vous utilisez une installation de Debian Buster ou Ubuntu 20.04 fraîche ou bien configuré.
1. Paquets nécessaires
Pour aller vite vous pouvez lancer le Playbook Ansible fournit dans ce dépôt en l'adaptant.
Sinon vous pouvez suivre les étapes ici.
$ sudo apt install nginx python3 python3-pip python3-dev uwsgi
$ sudo apt install uwsgi-plugin-python3 python3-venv git acl
### Installation avec Debian/Ubuntu
La génération des factures de l'application trésorerie nécessite une installation de LaTeX suffisante :
1. **Installation des dépendances APT.**
```bash
$ sudo apt install nginx python3 python3-pip python3-dev uwsgi uwsgi-plugin-python3 python3-venv git acl
```
La génération des factures de l'application trésorerie nécessite une installation de LaTeX suffisante,
```bash
$ sudo apt install texlive-latex-extra texlive-fonts-extra texlive-lang-french
```
2. Clonage du dépot
2. **Clonage du dépot** dans `/var/www/note_kfet`,
on se met au bon endroit :
```bash
$ mkdir -p /var/www/note_kfet && cd /var/www/note_kfet
$ sudo chown www-data:www-data .
$ sudo chmod g+rwx .
$ sudo -u www-data git clone git@gitlab.crans.org:bde/nk20.git .
```
$ cd /var/www/
$ mkdir note_kfet
$ sudo chown www-data:www-data note_kfet
$ sudo usermod -a -G www-data $USER
$ sudo chmod g+ws note_kfet
$ sudo setfacl -d -m "g::rwx" note_kfet
$ cd note_kfet
$ git clone git@gitlab.crans.org:bde/nk20.git .
3. Environment Virtuel
À la racine du projet:
3. **Création d'un environment de travail Python décorrélé du système.**
```bash
$ python3 -m venv env
$ source env/bin/activate
(env)$ pip3 install -r requirements/base.txt
(env)$ pip3 install -r requirements/prod.txt # uniquement en prod, nécessite un base postgres
(env)$ deactivate
(env)$ pip3 install -r requirements/prod.txt # uniquement en prod, nécessite une base postgres
(env)$ deactivate # sortir de l'environnement
```
4. uwsgi et Nginx
Un exemple de conf est disponible :
4. **Pour configurer UWSGI et NGINX**, des exemples de conf sont disponibles.
**_Modifier le fichier pour être en accord avec le reste de votre config_**
```bash
$ cp nginx_note.conf_example nginx_note.conf
***Modifier le fichier pour être en accord avec le reste de votre config***
On utilise uwsgi et Nginx pour gérer le coté serveur :
$ sudo ln -sf /var/www/note_kfet/nginx_note.conf /etc/nginx/sites-enabled/
```
Si l'on a un emperor (plusieurs instance uwsgi):
```bash
$ sudo ln -sf /var/www/note_kfet/uwsgi_note.ini /etc/uwsgi/sites/
```
Sinon:
Sinon si on est dans le cas habituel :
```bash
$ sudo ln -sf /var/www/note_kfet/uwsgi_note.ini /etc/uwsgi/apps-enabled/
```
Le touch-reload est activé par défault, pour redémarrer la note il suffit donc de faire `touch uwsgi_note.ini`.
5. Base de données
En prod on utilise postgresql.
5. **Base de données.** En production on utilise PostgreSQL.
$ sudo apt-get install postgresql postgresql-contrib libpq-dev
(env)$ pip3 install psycopg2
@ -135,10 +138,9 @@ On supposera pour la suite que vous utilisez Debian/Ubuntu sur un serveur tout n
(env)$ ./manage.py makemigrations
(env)$ ./manage.py migrate
7. Enjoy
7. *Enjoy \o/*
## Installer avec Docker
### Installation avec Docker
Il est possible de travailler sur une instance Docker.
@ -163,11 +165,11 @@ et mettez à jour vos variables d'environnement
- traefik.frontend.rule=Host:ndd.example.com
- traefik.port=8000
3. Enjoy :
4. Enjoy :
$ docker-compose up -d nk20
## Installer un serveur de développement
## Lancer un serveur de développement
Avec `./manage.py runserver` il est très rapide de mettre en place
un serveur de développement par exemple sur son ordinateur.