README.md 3.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13
Note Kfet
=========

Paquets requis
--------------

Les paquets peuvent être récupérés via APT ou PIP.

    *   python3 (>= 3.4)
    *   python3-django (>= 1.11)
    *   python3-psycopg2 (>= 2.5)
    *   python3-jinja2 (>= 2.9)
    *   python3-django-filters (>= 1.0)
14 15
    *   python3-moneyed
    *   python3-django-money
16 17 18 19 20 21 22 23 24 25 26
    *   postgresql
    *   postgresql-plpython3
    *   nginx
    *   uwsgi
    *   uwsgi-plugin-python3

Installation
------------

    1.  Clonage du dépôt

27
        Cloner le dépôt à l'endroit souhaité (par exemple `/var/www/note-kfet/`)
28

29
            $ git clone https://gitlab.crans.org/dely/note-kfet.git
30

31 32
        Le dossier contenant le projet sera noté dans la suite `$NOTEREPO`.
        On génère ensuite un utilisateur spécial pour le projet.
33

34 35 36 37
            $ sudo adduser --system --group --home $NOTEREPO --no-create-home --disabled-password --disabled-login note
            $ sudo chown -R note:note $NOTEREPO
            $ sudo chmod -R g+w $NOTEREPO
            $ sudo find $NOTEREPO -type d -exec chmod g+s {} \;
38

39 40
        Pensez à vous rajouter au groupe 'note' et à changer votre umask lorsque vous travaillez
        sur le projet.
41

42 43
        Générez une clé secrète pour votre projet et mettez là dans note_kfet/secrets.py.
        Ajoutez également le domaine depuis lequel vous allez servir le site dans ALLOWED_HOSTS.
44 45 46

    2.  Mise en place de la base de données

47
        Après avoir cloné le dépôt à l'endroit souhaité, il faut mettre en place la BDD :
48

49 50 51 52 53
            $ sudo -u postgres psql
            postgres=# CREATE USER note;
            postgres=# CREATE DATABASE note_kfet OWNER note;
            postgres=# \c note_kfet
            $ sudo service postgresql reload
54

55 56 57
        Il faut ensuite ajouter les lignes adéquates dans le fichier `pg_hba.conf` en fonction de votre
        infrastructure. Consultez la [doc PostgreSQL](http://docs.postgresql.fr/9.6/client-authentication.html#auth-pg-hba-conf)
        pour trouver la marche à suivre.
58

59
        Vous pouvez ensuite installer le schéma de la base de données, mettre en place les triggers et y insérer vos données.
60

61 62 63
            $ sudo -u note $NOTEREPO/manage.py migrate
            $ sudo -u postgres $NOTEREPO/note_kfet/triggers.py
            $ sudo -u postgres $NOTEREPO/note_kfet/db_initial.py
64 65 66

    3.  Configuration de uWSGI + Nginx

67 68
        Une fois la base de données mise en place, il faut mettre en place le serveur Web. Plus d'informations
        sont disponbibles [ici](http://uwsgi-docs.readthedocs.io/en/latest/tutorials/Django_and_nginx.html?highlight=Django).
69

70
        Pour uWSGI :
71

72 73 74
            $ sudo cp $NOTEREPO/note_kfet/note.uwsgi /etc/uwsgi/apps-available/note.ini
            $ sudo ln -s /etc/uwsgi/apps-available/note.ini /etc/uwsgi/apps-enabled/note.ini
            $ sudo service uwsgi reload
75

76
        Pour Nginx :
77

78 79 80
            $ sudo cp $NOTEREPO/note_kfet/note.nginx /etc/nginx/sites-available/note
            $ sudo ln -s /etc/nginx/sites-available/note /etc/uwsgi/sites-enabled/note
            $ sudo service nginx reload
81

82
        Vous pouvez ensuite essayer d'accéder à la note depuis votre navigateur.