<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
		<id>http://wiki.diouxx.be/index.php?action=history&amp;feed=atom&amp;title=OpenLDAP</id>
		<title>OpenLDAP - Historique des versions</title>
		<link rel="self" type="application/atom+xml" href="http://wiki.diouxx.be/index.php?action=history&amp;feed=atom&amp;title=OpenLDAP"/>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;action=history"/>
		<updated>2026-04-16T17:44:26Z</updated>
		<subtitle>Historique des versions pour cette page sur le wiki</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;diff=126&amp;oldid=prev</id>
		<title>Ddevleeschauwer : /* Installation en package */</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;diff=126&amp;oldid=prev"/>
				<updated>2015-04-13T19:15:13Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Installation en package&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version du 13 avril 2015 à 19:15&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l317&quot; &gt;Ligne 317 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 317 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;alias cn-config='ldapvi -Y external -h ldapi:/// -b cn=config'&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;alias cn-config='ldapvi -Y external -h ldapi:/// -b cn=config'&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;alias cn-&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pass&lt;/del&gt;='ldapvi -Y external -h ldapi:/// -b dc=be'&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;alias cn-&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;diouxx&lt;/ins&gt;='ldapvi -Y external -h ldapi:/// -b dc=be'&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:30:newid:126 --&gt;
&lt;/table&gt;</summary>
		<author><name>Ddevleeschauwer</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;diff=30&amp;oldid=prev</id>
		<title>Ddevleeschauwer : /* Script d'automatisation */</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;diff=30&amp;oldid=prev"/>
				<updated>2013-03-30T12:13:37Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Script d&amp;#039;automatisation&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version du 30 mars 2013 à 12:13&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l229&quot; &gt;Ligne 229 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 229 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DIRECTORY=/opt/openldap&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;DIRECTORY=/opt/openldap&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;APPLICATION=OpenLDAP&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;APPLICATION=OpenLDAP&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;IP=ldap://&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;192.168.100.34&lt;/del&gt;:&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;389&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;IP=ldap://&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;IP&lt;/ins&gt;:&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;PORT&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;#160; &amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;######################################################################&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;######################################################################&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:29:newid:30 --&gt;
&lt;/table&gt;</summary>
		<author><name>Ddevleeschauwer</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;diff=29&amp;oldid=prev</id>
		<title>Ddevleeschauwer : /* Infrastructure:LDAP */</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;diff=29&amp;oldid=prev"/>
				<updated>2013-03-30T12:12:53Z</updated>
		
		<summary type="html">&lt;p&gt;‎&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Infrastructure:LDAP&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Version du 30 mars 2013 à 12:12&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Ligne 1 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{ Introduction | Cette article permet de mettre en place un serveur OpenLDAP }}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{ Introduction | Cette article permet de mettre en place un serveur OpenLDAP }}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color:black; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== [[Infrastructure:LDAP]] ==&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Berkeley DB ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;&amp;#160;&lt;/td&gt;&lt;td style=&quot;background-color: #f9f9f9; color: #333333; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #e6e6e6; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Berkeley DB ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key wikidb:diff:version:1.11a:oldid:28:newid:29 --&gt;
&lt;/table&gt;</summary>
		<author><name>Ddevleeschauwer</name></author>	</entry>

	<entry>
		<id>http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;diff=28&amp;oldid=prev</id>
		<title>Ddevleeschauwer : Page créée avec « {{ Introduction | Cette article permet de mettre en place un serveur OpenLDAP }}  == Infrastructure:LDAP ==  == Berkeley DB ==  Pour fonctionner, OpenLDAP est basé su... »</title>
		<link rel="alternate" type="text/html" href="http://wiki.diouxx.be/index.php?title=OpenLDAP&amp;diff=28&amp;oldid=prev"/>
				<updated>2013-03-30T12:12:24Z</updated>
		
		<summary type="html">&lt;p&gt;Page créée avec « {{ Introduction | Cette article permet de mettre en place un serveur OpenLDAP }}  == &lt;a href=&quot;/index.php?title=Infrastructure:LDAP&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Infrastructure:LDAP (page inexistante)&quot;&gt;Infrastructure:LDAP&lt;/a&gt; ==  == Berkeley DB ==  Pour fonctionner, OpenLDAP est basé su... »&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Nouvelle page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{ Introduction | Cette article permet de mettre en place un serveur OpenLDAP }}&lt;br /&gt;
&lt;br /&gt;
== [[Infrastructure:LDAP]] ==&lt;br /&gt;
&lt;br /&gt;
== Berkeley DB ==&lt;br /&gt;
&lt;br /&gt;
Pour fonctionner, OpenLDAP est basé sur la base de donnée Berkeley&lt;br /&gt;
&lt;br /&gt;
=== Préparation ===&lt;br /&gt;
&lt;br /&gt;
Avant de passer à l'installation de la database, il est nécessaire de réaliser quelque opérations préliminaires&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install libwrap0-dev make gcc openssl libssl-dev libsasl2-2 libsasl2-dev }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
Pour installer, il nous faut d’abord désarchiver l'archive :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | tar -xvf db-5.3.21.tar.gz &amp;amp;&amp;amp; cd db-5.3.21/build_unix/ &amp;amp;&amp;amp; mkdir /opt/Berkeley }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | Il est nécessaire de se rendre dans le dossier {{ File | build_unix }} pour réaliser la compilation }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On peux maintenant passer à la compilation :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | 1=../dist/configure --prefix=/opt/Berkeley }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* --prefix : permet de spécifier le dossier d'installation&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois la compilation terminée, on passe à la phase d'installation :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | make&amp;lt;br&amp;gt;[root@ordi ~]# make install }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Si aucune erreur n'est signalé, la database Berkely est bien installé&lt;br /&gt;
&lt;br /&gt;
== OpenSSL ==&lt;br /&gt;
&lt;br /&gt;
L'installation d'OpenSSL est nécessaire si l'on veut pouvoir utiliser le protocole SSL pour notre serveur OpenLDAP&lt;br /&gt;
&lt;br /&gt;
=== Téléchargement ===&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | wget http://www.openssl.org/source/openssl-1.0.1c.tar.gz }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | La version 1.0.1C est la dernière version lors de l'écriture de cette page }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
=== Installation ===&lt;br /&gt;
&lt;br /&gt;
La première étape consiste à désarchiver l'archive téléchargé et de lancer la compilation : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | tar -xvf openssl-1.0.1c.tar.gz &amp;amp;&amp;amp; cd openssl-1.0.1c}}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{Console root | 1=./config shared --openssldir=/usr/local }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* --openssldir : permet de spécifier le répertoire de destination du programme&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | make&amp;lt;br&amp;gt;[root@ordi ~]# make install }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Si aucune erreur n'est signalé, openssl est bien installé.&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP ==&lt;br /&gt;
&lt;br /&gt;
Maintenant que les composants dont OpenLDAP a besoin sont installé, on va pouvoir passé à son installation et configuration&lt;br /&gt;
&lt;br /&gt;
=== Installation en compilation ===&lt;br /&gt;
&lt;br /&gt;
La première chose à faire est de le télécharger : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | wget http://www.openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.32.tgz }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | La version 2.4.32 est la dernière version du logiciel lors de l'écriture de cette page }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On doit, comme pour les autres composants, réaliser la phase de compilation et installation :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | 1=tar -xvf openldap-2.4.32.tgz &amp;amp;&amp;amp; cd openldap-2.4.32 &amp;amp;&amp;amp; mkdir /opt/openldap&amp;lt;br&amp;gt;[root@ordi ~]# ./configure --prefix=/opt/openldap --enable-ldap=yes CPPFLAGS=&amp;quot;-I/root/db-5.3.21/build_unix&amp;quot; LDFLAGS=&amp;quot;-L/root/db-5.3.21/build_unix&amp;quot; }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Une fois la compilation terminer, on installe les dépendances, openldap en lui-même et on lance les test afin de s'assurer que l'installation se soit bien passé&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | make depend&amp;lt;br&amp;gt;[root@ordi ~]# make&amp;lt;br&amp;gt;[root@ordi ~]# make test&amp;lt;br&amp;gt;[root@ordi ~]# make install }}&lt;br /&gt;
&lt;br /&gt;
==== Configuration statique ====&lt;br /&gt;
===== Configuration de base =====&lt;br /&gt;
&lt;br /&gt;
Pour configurer Openldap de manière statique, il faut éditer le fichier {{ File | /opt/openldap/etc/openldap/slapd.conf }} :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#&lt;br /&gt;
# See slapd.conf(5) for details on configuration options.&lt;br /&gt;
# This file should NOT be world readable.&lt;br /&gt;
#&lt;br /&gt;
include		/opt/openldap/etc/openldap/schema/core.schema&lt;br /&gt;
include		/opt/openldap/etc/openldap/schema/cosine.schema&lt;br /&gt;
include		/opt/openldap/etc/openldap/schema/inetorgperson.schema&lt;br /&gt;
include		/opt/openldap/etc/openldap/schema/nis.schema&lt;br /&gt;
&lt;br /&gt;
# Define global ACLs to disable default read access.&lt;br /&gt;
&lt;br /&gt;
# Do not enable referrals until AFTER you have a working directory&lt;br /&gt;
# service AND an understanding of referrals.&lt;br /&gt;
#referral	ldap://root.openldap.org&lt;br /&gt;
&lt;br /&gt;
pidfile		/opt/openldap/var/run/slapd.pid&lt;br /&gt;
argsfile	/opt/openldap/var/run/slapd.args&lt;br /&gt;
&lt;br /&gt;
#ID&lt;br /&gt;
ServerID 001&lt;br /&gt;
&lt;br /&gt;
#Log&lt;br /&gt;
loglevel 256&lt;br /&gt;
&lt;br /&gt;
# Load dynamic backend modules:&lt;br /&gt;
# modulepath	/opt/openldap/libexec/openldap&lt;br /&gt;
# moduleload	back_bdb.la&lt;br /&gt;
# moduleload	back_hdb.la&lt;br /&gt;
# moduleload	back_ldap.la&lt;br /&gt;
# moduleload    back_monitor.la&lt;br /&gt;
&lt;br /&gt;
# Sample security restrictions&lt;br /&gt;
#	Require integrity protection (prevent hijacking)&lt;br /&gt;
#	Require 112-bit (3DES or better) encryption for updates&lt;br /&gt;
#	Require 63-bit encryption for simple bind&lt;br /&gt;
# security ssf=1 update_ssf=112 simple_bind=64&lt;br /&gt;
&lt;br /&gt;
# Sample access control policy:&lt;br /&gt;
#	Root DSE: allow anyone to read it&lt;br /&gt;
#	Subschema (sub)entry DSE: allow anyone to read it&lt;br /&gt;
#	Other DSEs:&lt;br /&gt;
#		Allow self write access&lt;br /&gt;
#		Allow authenticated users read access&lt;br /&gt;
#		Allow anonymous users to authenticate&lt;br /&gt;
#	Directives needed to implement policy:&lt;br /&gt;
# access to dn.base=&amp;quot;&amp;quot; by * read&lt;br /&gt;
# access to dn.base=&amp;quot;cn=Subschema&amp;quot; by * read&lt;br /&gt;
# access to *&lt;br /&gt;
#	by self write&lt;br /&gt;
#	by users read&lt;br /&gt;
#	by anonymous auth&lt;br /&gt;
#&lt;br /&gt;
# if no access controls are present, the default policy&lt;br /&gt;
# allows anyone and everyone to read anything but restricts&lt;br /&gt;
# updates to rootdn.  (e.g., &amp;quot;access to * by * read&amp;quot;)&lt;br /&gt;
#&lt;br /&gt;
# rootdn can always read and write EVERYTHING!&lt;br /&gt;
&lt;br /&gt;
#######################################################################&lt;br /&gt;
# BDB database definitions&lt;br /&gt;
#######################################################################&lt;br /&gt;
&lt;br /&gt;
database	hdb&lt;br /&gt;
suffix		&amp;quot;dc=pass,dc=be&amp;quot;&lt;br /&gt;
rootdn		&amp;quot;cn=root,dc=pass,dc=be&amp;quot;&lt;br /&gt;
# Cleartext passwords, especially for the rootdn, should&lt;br /&gt;
# be avoid.  See slappasswd(8) and slapd.conf(5) for details.&lt;br /&gt;
# Use of strong authentication encouraged.&lt;br /&gt;
rootpw		secret&lt;br /&gt;
# The database directory MUST exist prior to running slapd AND &lt;br /&gt;
# should only be accessible by the slapd and slap tools.&lt;br /&gt;
# Mode 700 recommended.&lt;br /&gt;
directory	/opt/openldap/var/openldap-data&lt;br /&gt;
# Indices to maintain&lt;br /&gt;
index	objectclass,entryCSN,entryUUID eq&lt;br /&gt;
&lt;br /&gt;
database monitor&lt;br /&gt;
rootdn &amp;quot;cn=admin,cn=Monitor&amp;quot;&lt;br /&gt;
rootpw &amp;quot;password&amp;quot;&lt;br /&gt;
access to dn.subtree=&amp;quot;cn=Monitor&amp;quot;&lt;br /&gt;
by dn.exact=&amp;quot;cn=root,cn=Monitor&amp;quot; write&lt;br /&gt;
by users read&lt;br /&gt;
by * none&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
TODO : expliquer les différents points&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Création de la racine =====&lt;br /&gt;
&lt;br /&gt;
Pour créer la racine de notre annuaire, on doit créer un fichier au format LDIF pour l'injecter par la suite, le fichier racine ressemble à ceci : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# Top-level object in domain&lt;br /&gt;
dn: dc=pass,dc=be&lt;br /&gt;
objectClass: top&lt;br /&gt;
objectClass: dcObject&lt;br /&gt;
objectClass: organization&lt;br /&gt;
o: pass.be&lt;br /&gt;
dc: pass&lt;br /&gt;
description: LDAP Example&lt;br /&gt;
&lt;br /&gt;
# Admin user&lt;br /&gt;
#dn: cn=root,dc=pass,dc=be&lt;br /&gt;
#objectClass: simpleSecurityObject&lt;br /&gt;
#objectClass: organizationalRole&lt;br /&gt;
#cn: root&lt;br /&gt;
#description: LDAP administrator&lt;br /&gt;
#userPassword: secret&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
TODO : Expliquer vite fait le fichier&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous faut injecter le fichier via la commande suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | 1=ldapadd -xvD &amp;quot;cn=root,dc=pass,dc=be&amp;quot; -w secret -f racine.ldif -H ldap://192.168.100.34:389 }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
TODO : expliquer les paramètres&lt;br /&gt;
&lt;br /&gt;
==== Démarrer/Arrêter ====&lt;br /&gt;
&lt;br /&gt;
===== Démarrer OpenLDAP =====&lt;br /&gt;
&lt;br /&gt;
Pour démarrer le serveur OpenLDAP en configuration statique, on utilise la commande suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | /opt/openldap/libexec/slapd -f /opt/openldap/etc/openldap/slapd.conf -h ldap://192.168.100.34:389 }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | -h ldap://192.168.100.34:389 est à modifier selon l'adresse IP du serveur }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
===== Arrêter OpenLDAP =====&lt;br /&gt;
&lt;br /&gt;
Pour arrêter le serveur OpenLDAP, il faut kileer le process avec le numero d'ID fournit dans le fichier {{ File | /opt/openldap/var/run/slapd.pid }} :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | kill -INT `cat /opt/openldap/var/run/slapd.pid` }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Script d'automatisation =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
#! /bin/bash&lt;br /&gt;
# Auteur : Devleeschauwer Denis&lt;br /&gt;
# Slapd start script&lt;br /&gt;
#&lt;br /&gt;
# Juillet 2012&lt;br /&gt;
#&lt;br /&gt;
 &lt;br /&gt;
#GLOBAL VARIABLES&lt;br /&gt;
DIRECTORY=/opt/openldap&lt;br /&gt;
APPLICATION=OpenLDAP&lt;br /&gt;
IP=ldap://192.168.100.34:389&lt;br /&gt;
 &lt;br /&gt;
######################################################################&lt;br /&gt;
##########################Function####################################&lt;br /&gt;
######################################################################&lt;br /&gt;
start ()&lt;br /&gt;
{&lt;br /&gt;
	#Commande pour demmarer slapd&lt;br /&gt;
	$DIRECTORY/libexec/slapd -f $DIRECTORY/etc/openldap/slapd.conf -h $IP&lt;br /&gt;
 &lt;br /&gt;
	if [ $? -eq 0 ]&lt;br /&gt;
	then&lt;br /&gt;
        	echo &amp;quot;Start $APPLICATION Instance                       [OK]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
        	echo &amp;quot;Start $APPLICATION Instance                       [KO]&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
stop ()&lt;br /&gt;
{&lt;br /&gt;
	#Commande pour arreter ProFTPD&lt;br /&gt;
 	kill -INT `cat $DIRECTORY/var/run/slapd.pid` &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
	if [ $? -eq 0 ]&lt;br /&gt;
	then&lt;br /&gt;
        	echo &amp;quot;Stop $APPLICATION Instance                     [OK]&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
        	echo &amp;quot;Stop $APPLICATION Instance                     [KO]&amp;quot;&lt;br /&gt;
	fi &lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
restart () &lt;br /&gt;
{&lt;br /&gt;
	stop&lt;br /&gt;
	sleep 5&lt;br /&gt;
	start&lt;br /&gt;
}&lt;br /&gt;
 &lt;br /&gt;
case &amp;quot;$1&amp;quot; in&lt;br /&gt;
 &lt;br /&gt;
'start')&lt;br /&gt;
	start&lt;br /&gt;
;;&lt;br /&gt;
 &lt;br /&gt;
'stop')&lt;br /&gt;
	stop&lt;br /&gt;
;;&lt;br /&gt;
 &lt;br /&gt;
'restart')&lt;br /&gt;
	stop&lt;br /&gt;
 	sleep 5&lt;br /&gt;
	start&lt;br /&gt;
;;&lt;br /&gt;
 &lt;br /&gt;
'status')&lt;br /&gt;
	cat $DIRECTORY/var/run/slapd.pid &amp;gt; /dev/null 2&amp;gt;&amp;amp;1&lt;br /&gt;
 &lt;br /&gt;
	if [ $? -eq 0 ]&lt;br /&gt;
	then&lt;br /&gt;
		echo &amp;quot;$APPLICATION Instance Running&amp;quot;&lt;br /&gt;
	else&lt;br /&gt;
		echo &amp;quot;$APPLICATION Instance Stop&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
;;&lt;br /&gt;
 &lt;br /&gt;
*)&lt;br /&gt;
	echo &amp;quot;Usage: $0 { start | stop | restart | status }&amp;quot;&lt;br /&gt;
	exit 1&lt;br /&gt;
;;&lt;br /&gt;
 &lt;br /&gt;
esac&lt;br /&gt;
 &lt;br /&gt;
exit $?&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Installation en package ===&lt;br /&gt;
&lt;br /&gt;
Avant d'installer OpenLDAP, il faut installer les dépendances nécessaire :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install libdb-dev openssl libssl-dev libsasl2-2 libsasl2-dev }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour installer le serveur OpenLDAP ainsi que les outils clients :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | apt-get install ldapvi ldap-utils slapd }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour plus de faciliter, on opeux créer des alias dans le fichier {{ File | .bashrc }}&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
alias cn-config='ldapvi -Y external -h ldapi:/// -b cn=config'&lt;br /&gt;
alias cn-pass='ldapvi -Y external -h ldapi:/// -b dc=be'&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Configuration ====&lt;br /&gt;
&lt;br /&gt;
Pour configurer la base de notre serveur OpenLDAP, il suffit de reconfigurer le paquet {{ File | slapd }} que l'on a installé et de répondre aux différents questions :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | dpkg-reconfigure slapd }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On va changer le mot de passe de l'utilisateur &amp;quot;cn=admin,cn=config&amp;quot;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
slappasswd &lt;br /&gt;
New password: &lt;br /&gt;
Re-enter new password: &lt;br /&gt;
{SSHA}0z/qm5CpdcJiJRz2tiC/0KNlxGe5s7ne&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On copie le mot de passe crypté que l'on va rajouter à la config avec la commande :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | 1=ldapvi -Y external -h ldapi:/// -b cn=config }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On modifie l'entrée &amp;quot;cn=config&amp;quot; pour rajouter le mot de passe&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olcDatabase={0}config,cn=config&lt;br /&gt;
objectClass: olcDatabaseConfig&lt;br /&gt;
olcDatabase: {0}config&lt;br /&gt;
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break&lt;br /&gt;
olcRootDN: cn=admin,cn=config&lt;br /&gt;
olcRootPW: {SSHA}0z/qm5CpdcJiJRz2tiC/0KNlxGe5s7ne&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Réplication ===&lt;br /&gt;
&lt;br /&gt;
==== Mode Provider/Consumer ====&lt;br /&gt;
&lt;br /&gt;
===== Provider =====&lt;br /&gt;
&lt;br /&gt;
Avant de pouvoir configurer notre provider, il faut charger le module syncprov&lt;br /&gt;
&lt;br /&gt;
Créons le fichier LDIF suivant :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Load the syncprov and accesslog modules.&lt;br /&gt;
dn: cn=module{0},cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: syncprov&lt;br /&gt;
-&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: accesslog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour ajouter charger le ficher dans la config : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f LDIF/syncprov.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois le module syncprov chargé, il faut configurer la database que l'on souhaite répliquer en créant un fichier LDIF : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config&lt;br /&gt;
changetype: add&lt;br /&gt;
objectClass: olcOverlayConfig&lt;br /&gt;
objectClass: olcSyncProvConfig&lt;br /&gt;
olcOverlay: syncprov&lt;br /&gt;
olcSpNoPresent: TRUE&lt;br /&gt;
olcSpCheckPoint: 100 1&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* olcSpCheckPoint: Réplication après 100 modifications ou toutes les 1 minutes&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il suffit de charger le fichier LDIF créée :&lt;br /&gt;
Pour ajouter charger le ficher dans la config : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f LDIF/syncprov-hdb.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Consumer =====&lt;br /&gt;
&lt;br /&gt;
Comme pour le Provider, il est nécessaire de charger le module syncprov : &lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Load the syncprov and accesslog modules.&lt;br /&gt;
dn: cn=module{0},cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: syncprov&lt;br /&gt;
-&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: accesslog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour ajouter charger le ficher dans la config : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f LDIF/syncprov.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Il faut maintenant configurer la database coté consummer&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: olcDatabase={1}hdb,cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcDbIndex&lt;br /&gt;
olcDbIndex: entryUUID eq&lt;br /&gt;
-&lt;br /&gt;
add: olcDbIndex&lt;br /&gt;
olcDbIndex: entryCSN eq&lt;br /&gt;
-&lt;br /&gt;
add: olcSyncRepl&lt;br /&gt;
olcSyncrepl: {0}rid=003 provider=ldap://192.168.168.32:389 type=refreshAndPersist retry=&amp;quot;5 10 300 +&amp;quot; searchbase=&amp;quot;dc=be&amp;quot; attrs=&amp;quot;*,+&amp;quot; bindmethod=simple binddn=&amp;quot;cn=admin,dc=be&amp;quot; credentials=multi/2004&lt;br /&gt;
-&lt;br /&gt;
add: olcUpdateRef&lt;br /&gt;
olcUpdateRef: ldap://192.168.168.32&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* rid=001 : Définition du “rid ” (l’identifiant unique du serveur esclave dans la chaîne de réplication)&lt;br /&gt;
* provider=ldap://192.168.100.50:389 : Adresse du « provider ». Si le port d’écoute n'est pas indiqué, celui par défaut du protocole ldap, le 389 sera utilisé&lt;br /&gt;
* type=refreshAndPersist : Définition du type de réplication utilisé&lt;br /&gt;
* retry=&amp;quot;5 10 300 +&amp;quot; : L’esclave tentera de se reconnecter au maitre toutes les 5 secondes les 10 premières tentatives, ensuite toutes les 5 minutes (300 secondes) indéfiniment (“+”)&lt;br /&gt;
* searchbase=&amp;quot;dc=be&amp;quot; : Définit la branche à répliquer. Dans ce cas, la branche est l'annuaire au complet&lt;br /&gt;
* attrs=&amp;quot;*,+&amp;quot; : Sélectionne les attributs à répliquer. Ici, tous les attributs sont sélectionnés (valeur par défaut)&lt;br /&gt;
* bindmethod=simple : Indique le type d'authentification à utilisé (simple ou sasl)&lt;br /&gt;
* binddn=&amp;quot;cn=admin,dc=be&amp;quot; credentials=abcde : &lt;br /&gt;
&lt;br /&gt;
Une fois le fichier construit, il nous suffit de le rajouter :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f LDIF/refreshAndPersist.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Mode Mirror ====&lt;br /&gt;
&lt;br /&gt;
Créons le fichier LDIF suivant :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Load the syncprov and accesslog modules.&lt;br /&gt;
dn: cn=module{0},cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: syncprov&lt;br /&gt;
-&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: accesslog&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pour ajouter charger le ficher dans la config : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f LDIF/syncprov.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Le Mirror Mode va permettre de de synchroniser nos 2 serveurs OpenLDAP Provider ensemble. Pour ce faire, nous allons créer un fichier LDIF que l'on va appliquer à nos 2 Provider :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
replace: olcServerID&lt;br /&gt;
olcServerID: 1 ldap://192.168.100.50&lt;br /&gt;
olcServerID: 2 ldap://192.168.100.51&lt;br /&gt;
&lt;br /&gt;
dn: olcDatabase={0}config,cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcSyncrepl&lt;br /&gt;
olcSyncrepl: rid=001 provider=ldap://192.168.100.50 binddn=&amp;quot;cn=admin,cn=config&amp;quot; bindmethod=simple&lt;br /&gt;
  credentials=abcde searchbase=&amp;quot;cn=config&amp;quot; type=refreshAndPersist&lt;br /&gt;
  retry=&amp;quot;5 5 300 5&amp;quot; timeout=1&lt;br /&gt;
olcSyncrepl: rid=002 provider=ldap://192.168.100.51 binddn=&amp;quot;cn=admin,cn=config&amp;quot; bindmethod=simple&lt;br /&gt;
  credentials=abcde searchbase=&amp;quot;cn=config&amp;quot; type=refreshAndPersist&lt;br /&gt;
  retry=&amp;quot;5 5 300 5&amp;quot; timeout=1&lt;br /&gt;
-&lt;br /&gt;
add: olcMirrorMode&lt;br /&gt;
olcMirrorMode: TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* olcServerID : Correspond à nos 2 Provider. Si nous en avions plus, il suffirait de les rajouter&lt;br /&gt;
* olcSyncrepl : Correspond à un des noeuds de réplications des provider&lt;br /&gt;
* olcMirrorMode : Permet d'activer la fonctionnalité de mirroir&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | N'oubliez pas de modifier les IP/Hosts, login et password selon la config }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour ajouter le fichier au serveur, on utilis ela commande '''ldapmodify''' :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | 1=ldapmodify -x -D cn=admin,cn=config -W -f syncrepl_cn-config.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il faut faire de même sur les autres Providers. Comme on a ajouté un nouveau module, on doit redémarrer les serveurs :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init.d/slapd restart }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Maintenant, on peux passer à la configuration de la réplication de la database. Comme la configuration des serveur est déja activé, il n'ets pas nécessaire de répéter l'opréation ci-dessous sur les autres serveurs.&lt;br /&gt;
&lt;br /&gt;
On crée donc le fichier LDIF qui va servir à configurer la database :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: olcDatabase={1}hdb,cn=config&lt;br /&gt;
add: olcSyncRepl&lt;br /&gt;
olcSyncRepl: rid=003 provider=ldap://192.168.100.50 binddn=&amp;quot;cn=admin,dc=be&amp;quot;&lt;br /&gt;
 bindmethod=simple credentials=abcde searchbase=&amp;quot;dc=be&amp;quot; type=refreshAndPersist&lt;br /&gt;
 retry=&amp;quot;5 5 300 5&amp;quot; timeout=1&lt;br /&gt;
olcSyncRepl: rid=004 provider=ldap://192.168.100.51 binddn=&amp;quot;cn=admin,dc=be&amp;quot;&lt;br /&gt;
 bindmethod=simple credentials=abcde searchbase=&amp;quot;dc=be&amp;quot; type=refreshAndPersist&lt;br /&gt;
 retry=&amp;quot;5 5 300 5&amp;quot; timeout=1&lt;br /&gt;
-&lt;br /&gt;
add: olcMirrorMode&lt;br /&gt;
olcMirrorMode: TRUE&lt;br /&gt;
&lt;br /&gt;
dn: olcOverlay=syncprov,olcDatabase={1}hdb,cn=config&lt;br /&gt;
changetype: add&lt;br /&gt;
objectClass: olcOverlayConfig&lt;br /&gt;
objectClass: olcSyncProvConfig&lt;br /&gt;
olcOverlay: syncprov&lt;br /&gt;
olcSpCheckpoint: 100 1&lt;br /&gt;
olcSpNoPresent: TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On ajoute le fichier via la commande '''ldapmodify''' :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | 1=ldapmodify -x -D cn=admin,cn=config -W -f mirrorHdb.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Normalement la configuration est terminée. Modifier une entrée sur un des serveurs et vérifier si celle-ci est bien répliqué sur l'autre provider&lt;br /&gt;
&lt;br /&gt;
==== Redirection requête ====&lt;br /&gt;
&lt;br /&gt;
La redirection de requête d'écriture du Consumer vers le Provider est réalisé via le module/Overlay chain. Avant de pouvoir le configurer, il est nécessaire de chargé un module (sur le consumer).&lt;br /&gt;
&lt;br /&gt;
On crée le fichier LDIF suivant : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#Load the chain modules.&lt;br /&gt;
dn: cn=module{0},cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: back_ldap&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ensuite, on ajoute ce fichier : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f LDIF/moduleChainLoad.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Une fois, le module {{ File | back_ldap }} chargé, on peux passer à la configuration du module chain&lt;br /&gt;
&lt;br /&gt;
On crée le fichier LDIF suivant afin de charger le module chain dans le frontend de notre LDAP: &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: olcOverlay=chain,olcDatabase={-1}frontend,cn=config&lt;br /&gt;
changetype: add&lt;br /&gt;
objectClass: olcOverlayConfig&lt;br /&gt;
objectClass: olcChainConfig&lt;br /&gt;
olcOverlay: {0}chain&lt;br /&gt;
olcChainReturnError: TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ensuite, on ajoute ce fichier :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f LDIF/chain.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Le module chain est chargé dans le frontend. Il nous reste plus qu'a le charger/configurer pour notre database. On passe toujours via un fichier LDIF : &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: olcDatabase={0}hdb,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config&lt;br /&gt;
changetype: add&lt;br /&gt;
objectClass: olcLDAPConfig&lt;br /&gt;
objectClass: olcChainDatabase&lt;br /&gt;
olcDatabase: {0}hdb&lt;br /&gt;
olcDbURI: &amp;quot;ldap://debprovldapsrv.server.pass.be&amp;quot;&lt;br /&gt;
olcDbRebindAsUser: TRUE&lt;br /&gt;
olcDbIDAssertBind: bindmethod=simple&lt;br /&gt;
  binddn=&amp;quot;cn=admin,dc=be&amp;quot;&lt;br /&gt;
  credentials=multi/2004&lt;br /&gt;
  mode=self&lt;br /&gt;
olcDbIDAssertAuthzFrom: &amp;quot;*&amp;quot;&lt;br /&gt;
&lt;br /&gt;
dn: olcDatabase={1}hdb,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config&lt;br /&gt;
changetype: add&lt;br /&gt;
objectClass: olcLDAPConfig&lt;br /&gt;
objectClass: olcChainDatabase&lt;br /&gt;
olcDatabase: {1}hdb&lt;br /&gt;
olcDbURI: &amp;quot;ldap://debprovldapsrv.server.pass.be&amp;quot;&lt;br /&gt;
olcDbRebindAsUser: TRUE&lt;br /&gt;
olcDbIDAssertBind: bindmethod=simple&lt;br /&gt;
  binddn=&amp;quot;cn=admin,dc=be&amp;quot;&lt;br /&gt;
  credentials=multi/2004&lt;br /&gt;
  mode=self&lt;br /&gt;
olcDbIDAssertAuthzFrom: &amp;quot;*&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | 1=On a ajouté 2 entrées à l'overlay chain parce qu’apparemment, il faut absolument que le numéro de hdb correspondant au numéro de la hdb dans cn=config }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ensuite, on ajoute ce fichier :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f LDIF/chainConfigHdb.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il nous reste a configurer le provider&lt;br /&gt;
&lt;br /&gt;
On doit rajouter un attribut au schema cn=config. On peux le rajouter via la commande ldapvi :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | 1=ldapvi -Y external -h ldapi:/// -b cn=config }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On rajoute l'attribut: &amp;quot;olcAuthzPolicy: to&amp;quot;.&lt;br /&gt;
Cette directive permet une authentification auprès du serveur provider avec un identifiant donné, puis d'utiliser l'identifiant référence par la valeur de l'attribut authzTo de cette entrée pour la détermination des droits d'accès.&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcAuthzPolicy&lt;br /&gt;
olcAuthzPolicy: to&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapmodify -QY EXTERNAL -H ldapi:/// -f olc-AuthzPolicy.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On peux maintenant créé un utilisateur spécifique pour la redirection de requête :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: cn=chain,dc=be&lt;br /&gt;
objectClass: organizationalRole&lt;br /&gt;
objectClass: simpleSecurityObject&lt;br /&gt;
cn: chain&lt;br /&gt;
userPassword: {SSHA}Abr//HGJApKzK91ilOhXGEcwaLlJxdfw&lt;br /&gt;
description: slave server proxy user&lt;br /&gt;
authzTo: dn:*&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TLS ==&lt;br /&gt;
&lt;br /&gt;
=== Création du certificat ===&lt;br /&gt;
Il peut être plus qu'intéressant de sécuriser les échanges entre les clients LDAP et le serveur à l'aide du protocole SSL. En effet, les mots de passe des comptes admin et utilisateurs passent en clair lors des échanges avec pam_ldap et nss_ldap&lt;br /&gt;
On doit générer un certificat comme suit (ce certificat peut aussi servir à apache pour sécuriser l'utilisation de phpldapadmin) :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | openssl req -newkey rsa:1024 -x509 -nodes -out server.pem -keyout server.pem -days 365 }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* rsa:1024 : Générer une clé RSA crypté sur 1024 bits&lt;br /&gt;
* -out : certificat de sortie&lt;br /&gt;
* -keyout : clé du certificat. Dans ce cas-ci le même fichier&lt;br /&gt;
* -days : le nombre de jours de validité. Ici 1 ans&lt;br /&gt;
&lt;br /&gt;
Il est conseillé :&lt;br /&gt;
&lt;br /&gt;
* de mettre le FQDN (Fully Qualified Domain Name) du serveur dans le « Common Name » : exemple « provider1.admin.pass.be »&lt;br /&gt;
&lt;br /&gt;
=== Configuration LDAPS ===&lt;br /&gt;
&lt;br /&gt;
On crée un dossier pour accueillir le/les certificats :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | mkdir /etc/ldap/ssl &amp;amp;&amp;amp; chown openldap:openldap /etc/ldap/ssl&amp;lt;br&amp;gt;[root@ordi ~]# mv server.pem /etc/ldap/ssl }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Créer un fichier {{ File | tls_ldap.ldif }} contenant les références aux certificat :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: cn=config&lt;br /&gt;
add: olcTLSCACertificateFile&lt;br /&gt;
olcTLSCACertificateFile: /etc/ldap/ssl/server.pem&lt;br /&gt;
-&lt;br /&gt;
add: olcTLSCertificateFile&lt;br /&gt;
olcTLSCertificateFile: /etc/ldap/ssl/server.pem&lt;br /&gt;
-&lt;br /&gt;
add: olcTLSCertificateKeyFile&lt;br /&gt;
olcTLSCertificateKeyFile: /etc/ldap/ssl/server.pem&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On ajoute la configuration au serveur LDAP :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapmodify -Y EXTERNAL -H ldapi:// -f tls_ldap.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On modifie le fichier {{ File | /etc/default/slapd }} pour n'autoriser que le ldaps, ou éventuellement les deux :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
# slapd normally serves ldap only on all TCP-ports 389. slapd can also&lt;br /&gt;
# service requests on TCP-port 636 (ldaps) and requests via unix&lt;br /&gt;
# sockets.&lt;br /&gt;
# Example usage:&lt;br /&gt;
# SLAPD_SERVICES=&amp;quot;ldap://127.0.0.1:389/ ldaps:/// ldapi:///&amp;quot;&lt;br /&gt;
SLAPD_SERVICES=&amp;quot;ldapi:/// ldaps:///&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
On modifie également le fichier {{ File | /etc/ldap/ldap.conf }} :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#BASE   dc=example,dc=com&lt;br /&gt;
#URI    ldap://ldap.example.com ldap://ldap-master.example.com:666&lt;br /&gt;
URI     ldaps://provider1.admin.pass.be&lt;br /&gt;
&lt;br /&gt;
#SIZELIMIT      12&lt;br /&gt;
#TIMELIMIT      15&lt;br /&gt;
#DEREF          never&lt;br /&gt;
tls_cacert /etc/ldap/ssl/provider1.pem&lt;br /&gt;
tls_checkpeer no&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Redémarrer le service :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | /etc/init/d/slapd restart }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Si on réalise un nmap sur notre serveur, on doit recevoir une sortie console de ce genre :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
22/tcp  open  ssh&lt;br /&gt;
139/tcp open  netbios-ssn&lt;br /&gt;
389/tcp open  ldap&lt;br /&gt;
445/tcp open  microsoft-ds&lt;br /&gt;
636/tcp open  ldapssl&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
* 389 : si on a décider de laisser le protocole ldap&lt;br /&gt;
* 636 : le port du protocole ldaps est bien ouvert&lt;br /&gt;
&lt;br /&gt;
=== Réplication TLS ===&lt;br /&gt;
&lt;br /&gt;
Pour répliquer en TLS, il est nécessaire de transférer les certificats entre machines.&lt;br /&gt;
&lt;br /&gt;
Si la réplication est réaliser entre provider1 et provider2.&lt;br /&gt;
provider1 doit avoir dans le dossier {{ File | /etc/ldap/ssl }} :&lt;br /&gt;
* provider1.pem&lt;br /&gt;
* provider2.pem&lt;br /&gt;
Vice-versa&lt;br /&gt;
&lt;br /&gt;
==== Mirror Mode ====&lt;br /&gt;
&lt;br /&gt;
Il est nécessaire de remplacer dans {{ File | 1=cn=config }} toutes les adresses IP des serveurs au format '''ldaps://serveur.domaine''' ( ex: ldaps://provider1.admin.pass.be )&lt;br /&gt;
&lt;br /&gt;
===== Réplication config =====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olcDatabase={0}config,cn=config&lt;br /&gt;
objectClass: olcDatabaseConfig&lt;br /&gt;
olcDatabase: {0}config&lt;br /&gt;
olcAccess: {0}to * by dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth manage by * break&lt;br /&gt;
olcRootDN: cn=admin,cn=config&lt;br /&gt;
olcRootPW: {SSHA}IfaBRNrAwCCmYOQVABHCM6PbnQ4UkdAF&lt;br /&gt;
olcSyncrepl: {0}rid=001 provider=ldaps://provider1.admin.pass.be binddn=&amp;quot;cn=admin,cn=config&amp;quot; bindmethod=simple credentials=abcde searchbase=&amp;quot;cn=config&amp;quot; type=refreshAndPersist retry=&amp;quot;5 5 300 5&amp;quot; timeout=1 starttls=yes tls_cacert=/etc/ldap/ssl/provider1.pem&lt;br /&gt;
olcSyncrepl: {1}rid=002 provider=ldaps://provider2.admin.pass.be binddn=&amp;quot;cn=admin,cn=config&amp;quot; bindmethod=simple credentials=abcde searchbase=&amp;quot;cn=config&amp;quot; type=refreshAndPersist retry=&amp;quot;5 5 300 5&amp;quot; timeout=1 starttls=yes tls_cacert=/etc/ldap/ssl/provider2.pem&lt;br /&gt;
olcMirrorMode: TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== Réplication database =====&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olcDatabase={1}hdb,cn=config&lt;br /&gt;
objectClass: olcDatabaseConfig&lt;br /&gt;
objectClass: olcHdbConfig&lt;br /&gt;
olcDatabase: {1}hdb&lt;br /&gt;
olcDbDirectory: /var/lib/ldap&lt;br /&gt;
olcSuffix: dc=be&lt;br /&gt;
olcAccess: {0}to attrs=userPassword,shadowLastChange by self write by anonymous auth by dn=&amp;quot;cn=admin,dc=be&amp;quot; write by * none&lt;br /&gt;
olcAccess: {1}to dn.base=&amp;quot;&amp;quot; by * read&lt;br /&gt;
olcAccess: {2}to * by self write by dn=&amp;quot;cn=admin,dc=be&amp;quot; write by * read&lt;br /&gt;
olcLastMod: TRUE&lt;br /&gt;
olcRootDN: cn=admin,dc=be&lt;br /&gt;
olcRootPW: {SSHA}iJUIRv9XoJIXvyTW9WZEQlwNwZYkvrGF&lt;br /&gt;
olcSyncrepl: {0}rid=003 provider=ldaps://provider1.admin.pass.be binddn=&amp;quot;cn=admin,dc=be&amp;quot; bindmethod=simple credentials=abcde searchbase=&amp;quot;dc=be&amp;quot; type=refreshAndPersist retry=&amp;quot;5 5 300 5&amp;quot; timeout=1 starttls=yes tls_cacert=/etc/ldap/ssl/provider1.pem&lt;br /&gt;
olcSyncrepl: {1}rid=004 provider=ldaps://provider2.admin.pass.be binddn=&amp;quot;cn=admin,dc=be&amp;quot; bindmethod=simple credentials=abcde searchbase=&amp;quot;dc=be&amp;quot; type=refreshAndPersist retry=&amp;quot;5 5 300 5&amp;quot; timeout=1 starttls=yes tls_cacert=/etc/ldap/ssl/provider2.pem&lt;br /&gt;
olcMirrorMode: TRUE&lt;br /&gt;
olcDbCheckpoint: 512 30&lt;br /&gt;
olcDbConfig: {0}set_cachesize 0 2097152 0&lt;br /&gt;
olcDbConfig: {1}set_lk_max_objects 1500&lt;br /&gt;
olcDbConfig: {2}set_lk_max_locks 1500&lt;br /&gt;
olcDbConfig: {3}set_lk_max_lockers 1500&lt;br /&gt;
olcDbIndex: entryCSN eq&lt;br /&gt;
olcDbIndex: entryUUID eq&lt;br /&gt;
olcDbIndex: objectClass eq&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Provider/consummer ====&lt;br /&gt;
{{ Avertissement | Il est nécessaire de distribuer le certificats du provider sur le consummer }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Il faut modifier la config concernant la database pour qu'elle ressemble à ceci :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olcSyncrepl: {0}rid=003 provider=ldaps://provider1.admin.pass.be type=refreshAndPersist retry=&amp;quot;5 10 300 +&amp;quot; searchbase=&amp;quot;dc=be&amp;quot; attrs=&amp;quot;*,+&amp;quot; bindmethod=simple binddn=&amp;quot;cn=admin,dc=be&amp;quot; credentials=abcde starttls=yes tls_cacert=/etc/ldap/ssl/provider1.pem&lt;br /&gt;
olcUpdateRef: ldaps://provider1.admin.pass.be&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Ici, le consumer se synchronise avec provider1.admin.pass.be&lt;br /&gt;
&lt;br /&gt;
==== Redirection requêtes ====&lt;br /&gt;
&lt;br /&gt;
Modifier la config, pour qu'elle essemble à ceci :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olcDatabase={0}ldap,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config&lt;br /&gt;
objectClass: olcLDAPConfig&lt;br /&gt;
objectClass: olcChainDatabase&lt;br /&gt;
olcDatabase: {0}ldap&lt;br /&gt;
olcDbURI: &amp;quot;ldaps://provider1.admin.pass.be&amp;quot;&lt;br /&gt;
olcDbIDAssertBind: bindmethod=simple binddn=&amp;quot;cn=admin,dc=be&amp;quot; credentials=abcde mode=self starttls=yes tls_cacert=/etc/ldap/ssl/provider1.pem&lt;br /&gt;
olcDbIDAssertAuthzFrom: {0}*&lt;br /&gt;
olcDbIDAssertAuthzFrom: {1}&amp;quot;*&amp;quot;&lt;br /&gt;
olcDbRebindAsUser: TRUE&lt;br /&gt;
&lt;br /&gt;
olcDatabase={1}hdb,olcOverlay={0}chain,olcDatabase={-1}frontend,cn=config&lt;br /&gt;
objectClass: olcLDAPConfig&lt;br /&gt;
objectClass: olcChainDatabase&lt;br /&gt;
olcDatabase: {1}hdb&lt;br /&gt;
olcDbURI: &amp;quot;ldaps://provider1.admin.pass.be&amp;quot;&lt;br /&gt;
olcDbIDAssertBind: bindmethod=simple binddn=&amp;quot;cn=admin,dc=be&amp;quot; credentials=abcde mode=self starttls=yes tls_cacert=/etc/ldap/ssl/provider1.pem&lt;br /&gt;
olcDbIDAssertAuthzFrom: {0}&amp;quot;*&amp;quot;&lt;br /&gt;
olcDbRebindAsUser: TRUE&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dans ce cas ci, le consumer redirige les requêtes vers '''provider1.admin.pass.be'''&lt;br /&gt;
&lt;br /&gt;
== Monitoring ==&lt;br /&gt;
=== Instanciation ===&lt;br /&gt;
Pour utiliser la database Monitor, il est nécessaire d'ajouter le module '''back_monitor''' à notre annuaire.&lt;br /&gt;
On crée le fichier {{ File | back_monitor.ldif }} :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
dn: cn=module{0},cn=config&lt;br /&gt;
changetype: modify&lt;br /&gt;
add: olcModuleLoad&lt;br /&gt;
olcModuleLoad: back_monitor&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On ajoute ensuite ce fichier :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f back_monitor.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Maintenant que le module est chargé, on peux créer la database Monitor&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
olcDatabase=Monitor,cn=config&lt;br /&gt;
objectClass: olcDatabaseConfig&lt;br /&gt;
olcDatabase: monitor&lt;br /&gt;
olcAccess: {0}to dn.subtree=&amp;quot;cn=monitor&amp;quot; by * read&lt;br /&gt;
olcRootDN: cn=admin,cn=monitor&lt;br /&gt;
olcRootPW: {SSHA}xqc5cwu6jkSDCcXYl7L68ibHlSb7Azx0&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
On ajoute le fichier :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y external -H ldapi:/// -f monitorDB.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Interroger Monitor ===&lt;br /&gt;
&lt;br /&gt;
Pour récupérer les informations de monitoring, il suffit de réaliser une requête sur la database monitor.&lt;br /&gt;
Exemple :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console | 1=ldapsearch -xvD 'cn=admin,cn=monitor' -w abcde  -h localhost -b &amp;quot;cn=Total,cn=Connections,cn=monitor&amp;quot; 'monitorCounter' }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Cette requête permet de récupérer le nombre total de connections à notre annuaire&lt;br /&gt;
&lt;br /&gt;
== OpenLDAP PDC ==&lt;br /&gt;
&lt;br /&gt;
Suivre [[OpenLDAP-PDC|cette page]]&lt;br /&gt;
&lt;br /&gt;
== Authentification Linux ==&lt;br /&gt;
&lt;br /&gt;
=== installation ===&lt;br /&gt;
&lt;br /&gt;
Commençons par installer le paquet suivant :&lt;br /&gt;
&lt;br /&gt;
{{ Console root | apt-get install nslcd }} &amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Voici ce qu'il faut répondre aux questions (à adapter en fonction de votre serveur bien sûr) :&lt;br /&gt;
&lt;br /&gt;
&amp;lt;PRE&amp;gt;&lt;br /&gt;
URI du serveur LDAP : ldap://serveur ldap&lt;br /&gt;
Base de recherche du serveur LDAP : dc=pass, dc=be&lt;br /&gt;
Cochez les case suivant group,passwd,shadow&lt;br /&gt;
&amp;lt;/PRE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pour que le Home Directory d'un utilisateur soit crée lors de son premier accès installer le paquet suivant.&lt;br /&gt;
&lt;br /&gt;
{{ Console root | apt-get install libpam-mklocaluser }} &amp;lt;br /&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
Si vous voulez que le home paramétré dans votre LDAP soit créé lors de la 1ère connexion de votre utilisateur, ajoutez cette ligne au fichier {{ File | /etc/pam.d/common-session }} :&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
session required pam_mkhomedir.so skel=/etc/skel umask=0022&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Troubleshouting ===&lt;br /&gt;
&lt;br /&gt;
afin de tester le bon fonctionnement commencer par faire:&lt;br /&gt;
&lt;br /&gt;
{{ Console root | getent passwd }}&amp;lt;br /&amp;gt;&lt;br /&gt;
 pour lister les utilisateurs connus sur le serveur&lt;br /&gt;
&lt;br /&gt;
{{ Console root | getent group }}&amp;lt;br /&amp;gt;&lt;br /&gt;
 pour lister les groupes connus sur le serveur&lt;br /&gt;
&lt;br /&gt;
En suite, se logger en tant qu'utilisateur ldap pour vérifier la création home de l'utilisateur.&lt;br /&gt;
&lt;br /&gt;
{{ Avertissement | Le home directory de l'utilisateur sera créé en référence du chemin se trouvant dans le champ &amp;quot;Home directory&amp;quot; du serveur LDAP. &amp;lt;br /&amp;gt;&lt;br /&gt;
il ne sera pas nécessairement dans le répertoire /home }}&lt;br /&gt;
&lt;br /&gt;
{{ note | 1=l'utilisateur authentifier ne disposera pas des droits administrateurs par défaut. &amp;lt;br /&amp;gt;&lt;br /&gt;
pour les admins il suffira d'être dans le groupe Domain Admins et d'ajouter dans le fichier /etc/sudoers la ligne suivante : '''%Domain\ Admins ALL=(ALL) ALL''' }}&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{ Avertissement | Le groupe Domain Admins est un groupe qui peut constituer une faille de sécurité, s’il n’est pas utilisé à bon escient. }}&lt;br /&gt;
&lt;br /&gt;
== Procédures ==&lt;br /&gt;
&lt;br /&gt;
=== Ajout d'un schéma existant ===&lt;br /&gt;
&lt;br /&gt;
Pour ajoutez un schéma déja présent sur le serveur LDAP. Dans un terminal tapez:&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/nomSchema.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | 1='''nomSchema.ldif''' correspond au schéma que vous voulez rajouter.&amp;lt;br&amp;gt;Exemple : '''[[misc.ldif]]''' }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Ajout d'un schéma personnel ===&lt;br /&gt;
&lt;br /&gt;
Pour ajouter un schéma personnel, il faut rentré la commande suivante :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | 1=ldapvi --class olcSchemaConfig -Y external -h ldapi:/// -b cn=schema,cn=config }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Et réalisé le fichier comme suit : &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cn=pass,cn=schema,cn=config&lt;br /&gt;
cn: Pass&lt;br /&gt;
olcAttributeTypes: {0}( 1.3.6.1.4.1.4203.666.1.90 NAME 'codePrinter' DESC 'Code d utilisation des imprimantes' EQUALITY integerMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.27{4} )&lt;br /&gt;
olcAttributeTypes: {1}( 1.3.6.1.4.1.4203.666.1.91 NAME 'imapLogin' DESC 'Login compte/applications IMAP' EQUALITY caseIgnoreMatch SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 )&lt;br /&gt;
olcObjectClasses: {0}( 1.3.6.1.4.1.4203.666.1.100 NAME 'PASS' DESC 'Schema propre au PASS' SUP top AUXILIARY MUST ( cn $ codePrinter ) MAY ( imapLogin ))&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Backup/Restore ===&lt;br /&gt;
&lt;br /&gt;
==== Backup ====&lt;br /&gt;
&lt;br /&gt;
Pour sauvegarder l'annuaire, on exporte le contenu dans un fichier LDIF :&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | 1=slapcat -F /etc/ldap/slapd.d -b &amp;quot;dc=be&amp;quot; &amp;gt; bckPass.ldif }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* -F : Indique le dossier de la config cn=config&lt;br /&gt;
* -b : Indique la base de l'export; Dans ce cas ci, on exporte tous l'annuaire&lt;br /&gt;
* &amp;gt; : Redirection de la sortie standard vers le fichier indiqué&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Note | On n'indique pas d'authentification car on se trouve sur le serveur même en tant que root pour réaliser l'exportation }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
==== Restore ====&lt;br /&gt;
&lt;br /&gt;
Avant de réaliser une restauration, il faut '''absolument''' que le service soit coupé et supprimer du fichier de restauration toutes les entrées déjà existantes.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Console root | slapadd -l bckPass.ldif -F /etc/ldap/slapd.d }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
{{ Avertissement | Assurez vous d'avoir charger les schémas nécessaire au préalable }}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
[[Catégorie:Linux]]&lt;br /&gt;
[[Catégorie:Système]]&lt;/div&gt;</summary>
		<author><name>Ddevleeschauwer</name></author>	</entry>

	</feed>