summaryrefslogtreecommitdiffstats
path: root/documentation/installation-ldapsaisie.md
blob: a5a00d54be010344653ad66ef50fd0abfb5c404b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
% Gestion d'identités PSL -- Installation LdapSaisie
% Entr'ouvert SCOP -- http://www.entrouvert.com

Installation du système de base
===============================

La procédure décrite dans cette documentation doit être effectuée
après l'installation du système de base décrite dans la documentation
_« Gestion d'identités PSL -- Installation de base »_.

Installation du composant LdapSaisie
====================================

Installer le paquet `ldapsaisie-supann`:

	# apt-get install ldapsaisie-supann

Cette installation va déclencher l'installation de tous les composants
logiciels (paquets) nécessaires à la mise en place de l'interface LdapSaisie
connectable avec un annuaire SUPANN 2009.

La configuration se fait en deux étapes

* configuration du logiciel LdapSaisie proprement dit
* connexion du logiciel avec le serveur web Apache

Configuration de LdapSaisie
===========================

Modifier le fichier `/etc/ldapsaisie/local/conf/config.local.inc.php` pour
faire correspondre les valeurs avec celles de la base créée dans l'annuaire
LDAP (commande `slapd-supann newdb`).

_Note : les éditeurs vi ou nano sont disponibles pour cela. Si vous êtes
débutant sous Linux, préférez l'éditeur nano, plus accessible. Vous pouvez
aussi installer d'autres éditeurs (`apt-get install vim` ou `apt-get instal
emacs`)_

	# nano /etc/ldapsaisie/local/conf/config.local.inc.php

Le fichier est en PHP, attention à la syntaxe, ne retirez pas de virgule
ou de paranthèse, etc.

Exemple d'un fichier renseigné :

	<?php
	/*******************************************************************************
	 * Copyright (C) 2014 Easter-eggs
	 * http://ldapsaisie.labs.libre-entreprise.org
	 *
	 * Author: See AUTHORS file in top-level directory.
	 *
	 * This program is free software; you can redistribute it and/or
	 * modify it under the terms of the GNU General Public License version 2
	 * as published by the Free Software Foundation.
	 *
	 * This program is distributed in the hope that it will be useful,
	 * but WITHOUT ANY WARRANTY; without even the implied warranty of
	 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	 * GNU General Public License for more details.
	 *
	 * You should have received a copy of the GNU General Public License
	 * along with this program; if not, write to the Free Software
	 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

	******************************************************************************/

	$debug = false;

	$supann_configs = array(
	  array(
	    'ldap_config' => array(
	      /* adresse IP ou nom DNS du serveur LDAP */
	      'host'     => '192.168.1.2',
	      /* port d'écoute (devrait toujours être 389) */
	      'port'     => 389,
	      /* LDAPv3, ne pas changer */
	      'version'  => 3,
	      /* activation d'une connexion chiffrée TLS. Si true, il faut s'assurer
	       * d'avoir un certificat valide sur le serveur LDAP, sinon ajouter cette
	       * ligne à la fin de /etc/ldap/ldap.conf:
	       *     TLS_REQCERT allow
	      */
	      'starttls' => false,

	       /* nom de la base créée avec "newdb" */
	      'basedn'   => 'dc=quelquechose,dc=fr',
	      /* DN de l'administrateur, il faut juste modifier le suffixe dc=...  qui
	       * doit être égal à la valeur du basedn précédent */
	      'binddn'   => 'uid=admin,ou=people,dc=quelquechose,dc=fr',
	      /* mot de passe de l'administrateur choisi lors du "newdb" */
	      'bindpw'   => 'as;KUAq*6123',

	      /* ne pas toucher si vous ne savez pas ce que vous faîtes ...*/
	      'options'  => array(),
	      'filter'   => '(objectClass=*)',
	      'scope'    => 'sub'
	    ),
	    'globals' => array(
	      /* indiquer ici le DN de l'entité parente de l'établissement,
	       * par exemple
	       *    supannCodeEntite=QUELQUECHOSE,ou=structures,dc=quelquechose,dc=fr
	       * où QUELQUECHOSE est le code choisi lors du "newdb"
	       */
	      'LS_SUPANN_ETABLISSEMENT_DN' => 'supannCodeEntite=QUELQUECHOSE,ou=structures,dc=quelquechose,dc=fr',
	      /* code UAI indiqué lors du newdb */
	      'LS_SUPANN_ETABLISSEMENT_UAI' => '{UAI}0610000X',
	      /* nom de domaine pour construire les eduPersonPrincipalName,
	       * qui seront au format login@modifiez-moi.fr */
	      'LS_SUPANN_EPPN_DOMAIN' => 'quelquechose.fr',
	    ),
	  ),
	);

La configuration de LdapSaisie, automatiquement modifiée par le paquet
`ldapsaisie-supann`, est déjà conforme à SUPANN 2009.

Configuration d'Apache2 pour exposer LdapSaisie
===============================================

Installation d'un certificat pour HTTPS
---------------------------------------

Connexion au serveur LDAP en SSL/TLS
====================================

Il est préférable que LdapSaisie se connecte au serveur LDAP en TLS. Pour cela,
modifier la valeur starttls dans la configuration de LdapSaisie, c'est-à-dire
la ligne:

	'starttls' => false,
	
dans le fichier `/etc/ldapsaisie/local/conf/config.local.inc.php`.

**Attention, le certificat du serveur LDAP doit être valide.** Si ce n'est pas
le cas (par exemple lors de tests) vous devez modifier la configuration du
client LDAP du système et lui dire de toujours accepter les certificat. Pour
ce faire, ajouter la ligne suivante dans `/etc/ldap/ldap.conf`:

	TLS_REQCERT allow

Au final, le fichier `/etc/ldap/ldap.conf` doit ressembler à cela :

	# cat /etc/ldap/ldap.conf 
	
	# Exemple d'un fichier /etc/ldap/ldap.conf·qui accepte
	# n'importe quel certificat serveur
	
	# See ldap.conf(5) for details
	# This file should be world readable but not world writable.
	
	# TLS certificates (needed for GnuTLS)
	TLS_CACERT      /etc/ssl/certs/ca-certificates.crt
	TLS_REQCERT allow


-----

Historique du document
======================

> 20150217 tnoel -- première version