mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-12-23 23:43:47 +00:00
Update changelog and readme
This commit is contained in:
parent
38bf10ab99
commit
3b706722f7
2 changed files with 14 additions and 159 deletions
12
CHANGELOG.md
12
CHANGELOG.md
|
@ -1,4 +1,4 @@
|
|||
## Datepicker
|
||||
## MR 160: Datepicker
|
||||
|
||||
Install libjs-jquery libjs-jquery-ui libjs-jquery-timepicker libjs-bootstrap javascript-common
|
||||
```
|
||||
|
@ -20,3 +20,13 @@ rm -r static_files/js/jquery-ui-*
|
|||
rm static_files/js/jquery-2.2.4.min.js
|
||||
rm static/css/jquery-ui-timepicker-addon.css
|
||||
```
|
||||
|
||||
|
||||
## MR 163: Fix install re2o
|
||||
|
||||
Refactored install_re2o.sh script.
|
||||
* There are more tools available with it but some fucntion have changed, report to [the dedicated wiki page](for more informations) or run:
|
||||
```
|
||||
install_re2o.sh help
|
||||
```
|
||||
* The installation templates (LDIF files and `re2o/settings_locale.example.py`) have been changed to use `example.net` instead of `example.org` (more neutral and generic)
|
||||
|
|
161
README.md
161
README.md
|
@ -18,165 +18,10 @@ le réseau (adhérent à jour de cotisation).
|
|||
|
||||
# Installation
|
||||
|
||||
## Installation des dépendances
|
||||
Un tutoriel pour installer le projet est disponible [sur le wiki](https://gitlab.federez.net/federez/re2o/wikis/User%20Documentation/Quick%20Start).
|
||||
|
||||
L'installation comporte 3 partie : le serveur web où se trouve le depot re2o
|
||||
ainsi que toutes ses dépendances, le serveur bdd (mysql ou pgsql) et le
|
||||
serveur ldap. Ces 3 serveurs peuvent en réalité être la même machine, ou séparés
|
||||
(recommandé en production).
|
||||
Le serveur web sera nommé serveur A, le serveur bdd serveur B et le serveur ldap
|
||||
serveur C.
|
||||
|
||||
### Prérequis sur le serveur A
|
||||
|
||||
Voici la liste des dépendances à installer sur le serveur principal (A).
|
||||
|
||||
### Avec apt :
|
||||
|
||||
#### Sous debian 9
|
||||
|
||||
Paquets obligatoires:
|
||||
* python3-django (1.10, stretch)
|
||||
* python3-dateutil (stretch)
|
||||
* texlive-latex-base (stretch)
|
||||
* texlive-fonts-recommended (strech)
|
||||
* python3-djangorestframework (stretch)
|
||||
* python3-django-reversion (stretch)
|
||||
* python3-pip (stretch)
|
||||
|
||||
Paquet recommandés:
|
||||
* python3-django-extensions (stretch)
|
||||
|
||||
|
||||
### Autres dépendances :
|
||||
|
||||
Paquets préalables à installer avec apt :
|
||||
* libsasl2-dev (stable)
|
||||
* libldap2-dev (stable)
|
||||
* libssl-dev (stable)
|
||||
|
||||
Avec pip3 (pip3 install):
|
||||
* django-bootstrap3
|
||||
* django-ldapdb
|
||||
* django-macaddress
|
||||
|
||||
Moteur de db conseillé (mysql), postgresql fonctionne également.
|
||||
Pour mysql, il faut installer :
|
||||
* python3-mysqldb
|
||||
* mysql-client
|
||||
|
||||
### Prérequis sur le serveur B
|
||||
|
||||
Sur le serveur B, installer mysql ou postgresql, dans la version stretch.
|
||||
* mysql-server (stretch) ou postgresql (stretch)
|
||||
|
||||
### Prérequis sur le serveur C
|
||||
Sur le serveur C (ldap), avec apt :
|
||||
* slapd (stretch)
|
||||
|
||||
### Installation sur le serveur principal A
|
||||
|
||||
Cloner le dépot re2o à partir du gitlab, par exemple dans /var/www/re2o.
|
||||
Ensuite, il faut créer le fichier settings_local.py dans le sous dossier re2o,
|
||||
un settings_local.example.py est présent. Les options sont commentées, et des
|
||||
options par défaut existent.
|
||||
|
||||
En particulier, il est nécessaire de générer un login/mdp admin pour le ldap et
|
||||
un login/mdp pour l'utilisateur sql (cf ci-dessous), à mettre dans
|
||||
settings_local.py
|
||||
|
||||
### Installation du serveur mysql/postgresql sur B
|
||||
|
||||
Sur le serveur mysql ou postgresl, il est nécessaire de créer une base de
|
||||
donnée re2o, ainsi qu'un user re2o et un mot de passe associé.
|
||||
Ne pas oublier de faire écouter le serveur mysql ou postgresql avec les acl
|
||||
nécessaire pour que A puisse l'utiliser.
|
||||
|
||||
#### Mysql
|
||||
Voici les étapes à éxecuter pour mysql :
|
||||
* CREATE DATABASE re2o collate='utf8_general_ci';
|
||||
* CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
|
||||
* GRANT ALL PRIVILEGES ON re2o.* TO 'newuser'@'localhost';
|
||||
* FLUSH PRIVILEGES;
|
||||
|
||||
#### Postgresql
|
||||
* CREATE DATABASE re2o ENCODING 'UTF8' LC_COLLATE='fr_FR.UTF-8'
|
||||
LC_CTYPE='fr_FR.UTF-8';
|
||||
* CREATE USER newuser with password 'password';
|
||||
* ALTER DATABASE re2o owner to newuser;
|
||||
|
||||
Si les serveurs A et B ne sont pas la même machine, il est nécessaire de
|
||||
remplacer localhost par l'ip avec laquelle A contacte B dans les commandes
|
||||
du dessus.
|
||||
Une fois ces commandes effectuées, ne pas oublier de vérifier que newuser et
|
||||
password sont présents dans settings_local.py
|
||||
|
||||
### Installation du serveur ldap sur le serveur C
|
||||
|
||||
Ceci se fait en plusieurs étapes :
|
||||
* générer un login/mdp administrateur (par example mkpasswd sous debian)
|
||||
* Copier depuis re2o/install_utils (dans le dépot re2o) les fichiers db.ldiff
|
||||
et schema.ldiff (normalement sur le serveur A) sur le serveur C
|
||||
(par ex dans /tmp)
|
||||
* Hasher le mot de passe généré en utilisant la commande slappasswd
|
||||
(installée par slapd)
|
||||
* Remplacer toutes les sections FILL_IN par le hash dans schema.ldiff et
|
||||
db.ldiff
|
||||
* Remplacer dans schema.ldiff et db.ldiff 'dc=example,dc=org' par le
|
||||
suffixe de l'organisation
|
||||
* Arréter slapd
|
||||
* Supprimer les données existantes : '''rm -rf /etc/ldap/slapd.d/*''' et
|
||||
'''rm -rf /var/lib/ldap/*'''
|
||||
* Injecter le nouveau schéma :
|
||||
'''slapadd -n 0 -l schema.ldiff -F /etc/ldap/slapd.d/''' et
|
||||
'''slapadd -n 1 -l db.ldiff'''
|
||||
* Réparer les permissions (chown -R openldap:openldap /etc/ldap/slapd.d et
|
||||
chown -R openldap:openldap /var/lib/ldap) puis relancer slapd
|
||||
|
||||
Pour visualiser et éditer le ldap, l'utilisation de shelldap est fortement
|
||||
recommandée, en utilisant en binddn et basedn tous deux égaux à 'cn=config' et
|
||||
binddpw le mot de passe admin.
|
||||
|
||||
Rajouter (exemple de chemin de fichier avec un certif LE):
|
||||
`olcTLSCertificateKeyFile: /etc/letsencrypt/live/HOSTNAME/privkey.pem
|
||||
olcTLSCACertificateFile: /etc/letsencrypt/live/HOSTNAME/chain.pem
|
||||
olcTLSCertificateFile: /etc/letsencrypt/live/HOSTNAME/cert.pem `
|
||||
|
||||
Mettre à jour la partie ldap du `settings_local.py` (mettre 'TLS' à True
|
||||
si besoin, user cn=config,dc=example,dc=org et mot de passe
|
||||
ldap choisi précédemment).
|
||||
|
||||
## Configuration initiale
|
||||
|
||||
Normalement à cette étape, le ldap et la bdd sql sont configurées correctement.
|
||||
|
||||
Il faut alors lancer dans le dépot re2o '''python3 manage.py migrate''' qui
|
||||
va structurer initialement la base de données.
|
||||
Les migrations sont normalement comitées au fur et à mesure, néanmoins cette
|
||||
étape peut crasher, merci de reporter les bugs.
|
||||
|
||||
## Démarer le site web
|
||||
|
||||
Il faut utiliser un moteur pour servir le site web. Nginx ou apache2 sont
|
||||
recommandés.
|
||||
Pour apache2 :
|
||||
* apt install apache2
|
||||
* apt install libapache2-mod-wsgi-py3 (pour le module wsgi)
|
||||
|
||||
Un example de site apache2 se trouve dans install_utils ( re2o.conf)
|
||||
re2o/wsgi.py permet de fonctionner avec apache2 en production
|
||||
|
||||
## Configuration avancée
|
||||
|
||||
Une fois démaré, le site web devrait être accessible.
|
||||
Pour créer un premier user, faire '''python3 manage.py createsuperuser'''
|
||||
qui va alors créer un user admin.
|
||||
Il est conseillé de créer un user portant le nom de
|
||||
l'association/organisation, qui possedera l'ensemble des machines, à indiquer
|
||||
dans le menu reglages sur l'interface.
|
||||
|
||||
## Installations Optionnelles
|
||||
### Générer le schéma des dépendances
|
||||
# Installations Optionnelles
|
||||
## Générer le schéma des dépendances
|
||||
|
||||
Pour cela :
|
||||
* apt install python3-django-extensions
|
||||
|
|
Loading…
Reference in a new issue