8
0
Fork 0
mirror of https://gitlab2.federez.net/re2o/re2o synced 2024-12-27 17:33:45 +00:00
re2o/README.md

98 lines
3.1 KiB
Markdown
Raw Normal View History

2016-07-07 10:32:16 +00:00
# Re2o
2016-07-07 10:28:20 +00:00
2016-07-31 10:20:28 +00:00
Gnu public license v2.0
2016-07-07 10:32:16 +00:00
## Avant propos
2016-07-07 10:28:20 +00:00
Re2o est un logiciel d'administration développé initiallement au rezometz. Il se veut agnostique au réseau considéré, de manière à être installable en quelques clics.
Il utilise le framework django avec python3. Il permet de gérer les adhérents, les machines, les factures, les droits d'accès, les switchs et la topologie du réseau.
De cette manière, il est possible de pluguer très facilement des services dessus, qui accèdent à la base de donnée en passant par django (ex : dhcp), en chargeant la liste de toutes les mac-ip, ou la liste des mac-ip autorisées sur le réseau (adhérent à jour de cotisation).
2016-07-07 10:32:16 +00:00
## Installation
2016-07-07 10:28:20 +00:00
2016-10-13 00:42:23 +00:00
### Prérequis
2016-07-07 10:28:20 +00:00
Dépendances :
2016-07-31 02:09:14 +00:00
Avec apt (recommandé):
2016-07-07 10:32:16 +00:00
* python3-django (1.8, jessie-backports)
* python3-django-macaddress (stretch)
* python3-dateutil (jessie-backports)
2016-10-29 17:05:47 +00:00
* texlive (jessie)
2016-07-31 02:09:14 +00:00
* texlive-latex-base (jessie)
* texlive-fonts-recommended (jessie)
2016-10-02 21:47:29 +00:00
* python3-djangorestframework (jessie)
2016-10-02 20:56:11 +00:00
* python3-django-reversion (stretch)
2016-10-13 00:42:23 +00:00
* slapd (jessie)
2016-07-31 02:09:14 +00:00
2017-01-15 16:38:37 +00:00
Paquets préalables à installer avec apt :
* libsasl2-dev (stable)
* libldap2-dev (stable)
* libssl-dev (stable)
Avec pip3 (pip3 install):
* django-bootstrap3
2016-07-31 02:09:14 +00:00
* django-ldapdb
2016-07-07 10:28:20 +00:00
Moteur de db conseillé (mysql), postgresql fonctionne également.
Pour mysql, il faut installer :
2016-07-07 10:32:16 +00:00
* python3-mysqldb (jessie-backports)
2016-10-02 21:22:52 +00:00
Sur le serveur mysql :
* mysql-server (jessie)
2016-10-13 00:42:23 +00:00
## Installation du ldap, opérations à réaliser en root
### Insérer le mot de passe dans FILL_IN du schema.ldiff et db.ldiff, en hashant le mdp à l'aide de slappasswd
### Remplacer dans schema.ldiff et db.ldiff 'dc=example,dc=org' par le suffixe de l'association
### Arréter slapd
service slapd stop
### Supprimer les données existantes
rm -rf /etc/ldap/slapd.d/*
rm -rf /var/lib/ldap/*
mkdir /var/lib/ldap/accesslog
### Ajoute les données et le schema
slapadd -n 0 -l schema.ldiff -F /etc/ldap/slapd.d/
slapadd -n 1 -l db.ldiff
chown -R openldap:openldap /etc/ldap/slapd.d
chown -R openldap:openldap /var/lib/ldap
service slapd start
## Installation du sql et démarage django
2016-10-17 09:14:08 +00:00
Installer mysql ou postgresql
Créer la base de donnée re2o, en créant un utilisateur re2o avec des droits sur une bdd re2o
2016-10-13 00:42:23 +00:00
### Créer settings_local.py à partir de settings_local.example.py
2016-10-02 21:22:52 +00:00
2016-07-07 10:32:16 +00:00
## Configuration
2016-07-07 10:28:20 +00:00
Le site est prêt a fonctionner, il faut simplement créer la base de donnée (par défaut re2o), et régler les variables présentes dans setting_local.py
Un fichier d'exemple est disponible.
Ensuite, effectuer les migrations. Un squelette de base de donnée, via un mysqldump peut être fourni.
2016-07-07 10:32:16 +00:00
## Mise en production avec apache
2016-07-07 10:28:20 +00:00
re2o/wsgi.py permet de fonctionner avec apache2 en production
2016-07-07 11:19:03 +00:00
## Fonctionnement avec les services
Pour charger les objets django, il suffit de faire User.objects.all() pour tous les users par exemple.
Cependant, pour que les services fonctionnent de manière simple, des fonctions toutes prètes existent deja pour charger la liste des users autorisés à se connecter ( has_access(user)), etc. Ces fonctions sont personnalisables, et permettent un fonctionnement très simple des services.