1
|
% Installation et configuration
|
2
|
% UAuth: Portail captif dans le Cloud
|
3
|
% Entr'ouvert SCOP -- http://www.entrouvert.com
|
4
|
|
5
|
Installation
|
6
|
============
|
7
|
|
8
|
U-Auth est fourni sous forme d'un paquet debian téléchargeable.
|
9
|
|
10
|
Pour l'installer il est nécessaire de rajouter le depot d'Entrouvert dans votre
|
11
|
gestionnaire de paquets:
|
12
|
<pre>
|
13
|
deb http://deb.entrouvert.org/ wheezy-testing main
|
14
|
</pre>
|
15
|
ainsi que rajouter la clé GPG:
|
16
|
<pre>
|
17
|
wget -O - http://deb.entrouvert.org/entrouvert.gpg | sudo apt-key add -
|
18
|
</pre>
|
19
|
|
20
|
Installer le paquet:
|
21
|
<pre>
|
22
|
sudo apt-get install u-auth
|
23
|
</pre>
|
24
|
\ ![images/uauth_install.png](images/uauth_install.png)
|
25
|
|
26
|
les paquets *freeradius* ainsi que *slapd* seront installés.
|
27
|
|
28
|
Lors de la premiere installation u-auth demande la configuration de l'annuaire LDAP:
|
29
|
|
30
|
\ ![images/ldap_config.png](images/ldap_config.png)
|
31
|
|
32
|
une base ainsi qu'un compte administrateur seront crées.
|
33
|
|
34
|
La configuration du serveur radius sera faite automatiquement afin qu'il puisse communiquer avec le serveur ldap.
|
35
|
|
36
|
Configuration du serveur web
|
37
|
============================
|
38
|
|
39
|
Le paquet fourni un exemple de fichier de configuration pour le serveur web
|
40
|
nginx qui se trouve dans */usr/share/doc/u-auth/nginx-example.conf*. Ce fichier
|
41
|
peut être utilisé en modifiant le nom du serveur ainsi que les certificats:
|
42
|
|
43
|
<pre>
|
44
|
server_name u-auth.example.org
|
45
|
...
|
46
|
ssl_certificate /etc/ssl/u-auth.example.org.pem;
|
47
|
ssl_certificate_key /etc/ssl/u-auth.example.org.key;
|
48
|
</pre>
|
49
|
|
50
|
Parametrage de l'application
|
51
|
============================
|
52
|
|
53
|
La configuration de l'application se trouve dans le fichier
|
54
|
*/etc/u-auth/settings.py*.
|
55
|
|
56
|
Ce fichier contient, au format du langage Python, les parametres de connexion à
|
57
|
la base des données, nécessaire pour stocker les comptes locaux, les
|
58
|
identifiants de connexion à l'annuaire LDAP.
|
59
|
|
60
|
Base des données
|
61
|
----------------
|
62
|
|
63
|
Le système de gestion des bases des données par défaut est sqlite.
|
64
|
|
65
|
```python
|
66
|
DATABASES = {
|
67
|
'default': {
|
68
|
'ENGINE': 'django.db.backends.sqlite3',
|
69
|
'NAME': os.path.join(VAR_DIR, 'db.sqlite3'),
|
70
|
}
|
71
|
}
|
72
|
```
|
73
|
|
74
|
Un autre SGBD peut-être configuré en changeant les valeurs de *ENGINE* et
|
75
|
*NAME* ainsi qu'en rajoutant les paramètres de connexion:
|
76
|
|
77
|
```python
|
78
|
DATABASES = {
|
79
|
'default': {
|
80
|
'ENGINE': 'django.db.backends.postgresql_psycopg2',
|
81
|
'NAME': 'db_name',
|
82
|
'USER': 'db_user',
|
83
|
'PASSWORD': 'db_user_password',
|
84
|
'HOST': ''
|
85
|
}
|
86
|
}
|
87
|
```
|
88
|
|
89
|
Annuaire LDAP
|
90
|
-------------
|
91
|
|
92
|
Afin que l'application puisse communiquer avec l'annuaire LDAP et écrire les
|
93
|
données utilisateur, un compte ayant le droit d'écriture dans l'arbre utilisé
|
94
|
par le serveur radius doit être défini. Par exemple:
|
95
|
```python
|
96
|
LDAP_CONF = {
|
97
|
'url': 'ldap://localhost',
|
98
|
'bind_dn': 'uid=admin,ou=people,dc=entrouvert,dc=org',
|
99
|
'options': {},
|
100
|
'bind_passwd': '[mot de passe défini lors du parametrage du serveur ldap]',
|
101
|
'dn': '[dn defini lors du parametrage du serveur ldap]'
|
102
|
}
|
103
|
```
|
104
|
|
105
|
#### Important!!!
|
106
|
Après la manipulation du fichier */etc/u-auth/settings.py* l'application doit être redémarrée:
|
107
|
<pre>
|
108
|
sudo service u-auth restart
|
109
|
</pre>
|
110
|
|
111
|
|
112
|
Outils de gestion des serveurs freeradius et slapd
|
113
|
--------------------------------------------------
|
114
|
|
115
|
Des outils de configuration et re-initialisation des serveurs freeradius et
|
116
|
slapd sont fournis dans l'application:
|
117
|
|
118
|
* reset-slapd
|
119
|
* setup-slapd
|
120
|
* setup-radius
|
121
|
|
122
|
Ils peuvent être executés avec la commande */usr/lib/u-auth/u-auth* suivie du nom de l'outil.
|
123
|
Par exemple:
|
124
|
|
125
|
```
|
126
|
/usr/lib/u-auth/u-auth reset-slapd
|
127
|
```
|
128
|
|
129
|
La page d'aide de l'outil est affichée en préfixant son nom par *help*:
|
130
|
```
|
131
|
/usr/lib/u-auth/u-auth help setup-slapd
|
132
|
```
|
133
|
|
134
|
|