README.md 2.8 KB
Newer Older
chirac's avatar
chirac committed
1
# Re2o
chirac's avatar
chirac committed
2

chirac's avatar
chirac committed
3
## Avant propos 
chirac's avatar
chirac committed
4
5
6
7
8
9

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).

chirac's avatar
chirac committed
10
## Installation
chirac's avatar
chirac committed
11
12
13

Dépendances :

chirac's avatar
chirac committed
14
 * python3-django (1.8, jessie-backports)
15
16
 * python3-django-reversion (1.10, stretch)
 * django-bootstrap3 (pip3 install)
Gabriel Detraz's avatar
Gabriel Detraz committed
17
 * libsasl2-dev python-dev libldap2-dev libssl-dev (jessie)
18
 * django-ldapdb (pip3 install)
Gabriel Detraz's avatar
Gabriel Detraz committed
19
 * slapd (jessie)
chirac's avatar
chirac committed
20
21
22
23

Moteur de db conseillé (mysql), postgresql fonctionne également.
Pour mysql, il faut installer :

chirac's avatar
chirac committed
24
25
26
 * mysql-server (jessie)
 * python3-mysqldb (jessie-backports)

Gabriel Detraz's avatar
Gabriel Detraz committed
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
## 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

### 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

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

### Créer settings_local.py à partir de settings_local.example.py

chirac's avatar
chirac committed
67
## Configuration 
chirac's avatar
chirac committed
68
69
70
71
72

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.

chirac's avatar
chirac committed
73
## Mise en production avec apache
chirac's avatar
chirac committed
74
75

re2o/wsgi.py permet de fonctionner avec apache2 en production
chirac's avatar
chirac committed
76
77
78
79
80

## 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.