mirror of
https://gitlab2.federez.net/re2o/re2o
synced 2024-12-27 09:23:47 +00:00
Update changelog and readme
This commit is contained in:
parent
420a93993a
commit
afbcb751e6
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
|
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_files/js/jquery-2.2.4.min.js
|
||||||
rm static/css/jquery-ui-timepicker-addon.css
|
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
|
||||||
|
|
||||||
## 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
|
# Installations Optionnelles
|
||||||
ainsi que toutes ses dépendances, le serveur bdd (mysql ou pgsql) et le
|
## Générer le schéma des dépendances
|
||||||
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
|
|
||||||
|
|
||||||
Pour cela :
|
Pour cela :
|
||||||
* apt install python3-django-extensions
|
* apt install python3-django-extensions
|
||||||
|
|
Loading…
Reference in a new issue