source: server/other/openldap.xml@ 4d7ed6c

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 4d7ed6c was 814e53c, checked in by Manuel Canales Esparcia <manuel@…>, 19 years ago

Tagged openldap.xml

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@4359 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 18.0 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY openldap-download-http "http://gd.tuwien.ac.at/infosys/network/OpenLDAP/openldap-release/openldap-&openldap-version;.tgz">
8 <!ENTITY openldap-download-ftp "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-&openldap-version;.tgz">
9 <!ENTITY openldap-md5sum "383691dbabe05ee2b72a3e9db2042a82">
10 <!ENTITY openldap-size "2.6 MB">
11 <!ENTITY openldap-buildsize "76.7 MB">
12 <!ENTITY openldap-time "6.58 SBU">
13]>
14
15<sect1 id="openldap" xreflabel="OpenLDAP-&openldap-version;">
16 <?dbhtml filename="openldap.html"?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>OpenLDAP-&openldap-version;</title>
24
25 <indexterm zone="openldap">
26 <primary sortas="a-OpenLDAP">OpenLDAP</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to OpenLDAP</title>
31
32 <para>The <application>OpenLDAP</application> package provides an open
33 source implementation of the Lightweight Directory Access Protocol.</para>
34
35 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>Download (HTTP): <ulink url="&openldap-download-http;"/></para>
39 </listitem>
40 <listitem>
41 <para>Download (FTP): <ulink url="&openldap-download-ftp;"/></para>
42 </listitem>
43 <listitem>
44 <para>Download MD5 sum: &openldap-md5sum;</para>
45 </listitem>
46 <listitem>
47 <para>Download size: &openldap-size;</para>
48 </listitem>
49 <listitem>
50 <para>Estimated disk space required: &openldap-buildsize;</para>
51 </listitem>
52 <listitem>
53 <para>Estimated build time: &openldap-time;</para>
54 </listitem>
55 </itemizedlist>
56
57 <bridgehead renderas="sect3">OpenLDAP Dependencies</bridgehead>
58
59 <bridgehead renderas="sect4">Required</bridgehead>
60 <para><xref linkend="db"/></para>
61
62 <bridgehead renderas="sect4">Recommended</bridgehead>
63 <para><xref linkend="cyrus-sasl"/> and <xref linkend="openssl"/></para>
64
65 <bridgehead renderas="sect4">Optional</bridgehead>
66 <para><xref linkend="tcpwrappers"/>,
67 <xref linkend="gdbm"/>,
68 <ulink url="http://www.gnu.org/software/pth/">GNU Pth</ulink>, and
69 <xref linkend="heimdal"/> or
70 <xref linkend="mitkrb"/></para>
71
72 </sect2>
73
74 <sect2 role="installation">
75 <title>Installation of OpenLDAP</title>
76
77 <para>Install <application>OpenLDAP</application> by
78 running the following commands:</para>
79
80<screen><userinput>./configure --prefix=/usr --libexecdir=/usr/sbin \
81 --sysconfdir=/etc --localstatedir=/srv/ldap \
82 --enable-ldbm --disable-debug &amp;&amp;
83make depend &amp;&amp;
84make &amp;&amp;
85make test</userinput></screen>
86
87 <para>Now, as the <systemitem class="username">root</systemitem> user:</para>
88
89<screen role="root"><userinput>make install &amp;&amp;
90chmod 755 /usr/lib/libl*-2.2.so.7.0.17</userinput></screen>
91
92 </sect2>
93
94 <sect2 role="commands">
95 <title>Command Explanations</title>
96
97 <para><parameter>--libexecdir=/usr/sbin</parameter>: Installs the server
98 executables in <filename class="directory">/usr/sbin</filename> instead of
99 <filename class="directory">/usr/libexec</filename>.</para>
100
101 <para><parameter>--sysconfdir=/etc</parameter>: Sets the configuration file
102 directory to avoid the default of
103 <filename class="directory">/usr/etc</filename>.</para>
104
105 <para><parameter>--localstatedir=/srv/ldap</parameter>: Sets the directory
106 to use for the LDAP directory database, replication logs and
107 run-time variable data.</para>
108
109 <para><parameter>--enable-ldbm</parameter>: Build <command>slapd</command>
110 with the primary database back end using either
111 <application>Berkeley DB</application> or
112 <application>GNU Database Manager</application>.</para>
113
114 <para><parameter>--disable-debug</parameter>: Disable debugging code.</para>
115
116 <para><command>make test</command>: Validates the correct build of the
117 package. If you've enabled <application>tcp_wrappers</application>, ensure you
118 add 127.0.0.1 to the <parameter>slapd</parameter> line in the
119 <filename>/etc/hosts.allow</filename> file if you have a
120 restrictive <filename>/etc/hosts.deny</filename> file. If you logged the
121 output of the <command>make test</command>, an easy test to see if all the
122 tests succeeded is to issue <command>grep ">>>>> Test succeeded"
123 <replaceable>[logfilename]</replaceable> | wc -l</command>. You should have
124 <computeroutput>39</computeroutput> returned.</para>
125
126 <para><command>chmod 755 /usr/lib/libl*-2.2.so.7.0.17</command>: This command
127 adds the executable bit to the shared libraries.</para>
128
129 </sect2>
130
131 <sect2 role="configuration">
132 <title>Configuring OpenLDAP</title>
133
134 <sect3 id="openldap-config">
135 <title>Config Files</title>
136
137 <para><filename>/etc/openldap/*</filename></para>
138
139 <indexterm zone="openldap openldap-config">
140 <primary sortas="e-etc-openldap">/etc/openldap/*</primary>
141 </indexterm>
142
143 </sect3>
144
145 <sect3>
146 <title>Configuration Information</title>
147
148 <para>Configuring the <command>slapd</command> and
149 <command>slurpd</command> servers can be complex. Securing the LDAP
150 directory, especially if you are storing non-public data such as
151 password databases, can also be a challenging task. You'll need to
152 modify the <filename>/etc/openldap/slapd.conf</filename> and
153 <filename>/etc/openldap/ldap.conf</filename> files to set up
154 <application>OpenLDAP</application> for your particular needs.</para>
155
156 <indexterm zone="openldap openldap-config">
157 <primary
158 sortas="e-etc-openldap-slapd.conf">/etc/openldap/slapd.conf</primary>
159 </indexterm>
160
161 <indexterm zone="openldap openldap-config">
162 <primary
163 sortas="e-etc-openldap-ldap.conf">/etc/openldap/ldap.conf</primary>
164 </indexterm>
165
166 <para>Resources to assist you with topics such as choosing a directory
167 configuration, backend and database definitions, access control settings,
168 running as a user other than <systemitem class="username">root</systemitem>
169 and setting a <command>chroot</command> environment include:</para>
170
171 <itemizedlist spacing='compact'>
172 <listitem>
173 <para>The <command>slapd</command> man page</para>
174 </listitem>
175 <listitem>
176 <para>The <filename>slapd.conf</filename> man page</para>
177 </listitem>
178 <listitem>
179 <para>The <ulink
180 url="http://www.openldap.org/doc/admin22/">OpenLDAP 2.2 Administrator's
181 Guide</ulink></para>
182 </listitem>
183 <listitem>
184 <para>Documents located at
185 <ulink url="http://www.openldap.org/pub/"/></para>
186 </listitem>
187 </itemizedlist>
188
189 </sect3>
190
191 <sect3>
192 <title>Utilizing GDBM</title>
193
194 <para>To utilize <application>GDBM</application> as the database
195 backend, the <quote>database</quote> entry in
196 <filename>/etc/openldap/slapd.conf</filename> must be changed from
197 <quote>bdb</quote> to <quote>ldbm</quote>. You can use both by
198 creating an additional database section in
199 <filename>/etc/openldap/slapd.conf</filename>.</para>
200
201 </sect3>
202
203 <sect3>
204 <title>Mozilla Address Directory</title>
205
206 <para>By default, LDAPv2 support is disabled in the
207 <filename>slapd.conf</filename> file. Once the database is properly
208 set up and <application>Mozilla</application> is configured to use the
209 directory, you must add <option>allow bind_v2</option> to the
210 <filename>slapd.conf</filename> file.</para>
211
212 </sect3>
213
214 <sect3 id="openldap-init">
215 <title>Boot Script</title>
216
217 <para>To automate the startup of the LDAP server at system bootup,
218 install the <filename>/etc/rc.d/init.d/openldap</filename> init script
219 included in the <xref linkend="intro-important-bootscripts"/> package
220 using the following command:</para>
221
222 <indexterm zone="openldap openldap-init">
223 <primary sortas="f-openldap">openldap</primary>
224 </indexterm>
225
226<screen role="root"><userinput>make install-openldap1</userinput></screen>
227
228 <para><emphasis>Note:</emphasis> The init script you just installed only
229 starts the <command>slapd</command> daemon. If you wish to also start the
230 <command>slurpd</command> daemon at system startup, install a modified
231 version of the script using this command:</para>
232
233<screen role="root"><userinput>make install-openldap2</userinput></screen>
234
235 <note>
236 <para>The init script starts the daemons without any parameters.
237 You'll need to modify the script to include the parameters needed for
238 your specific configuration. See the <command>slapd</command> and
239 <command>slurpd</command> man pages for parameter information.</para>
240 </note>
241
242 </sect3>
243
244 <sect3>
245 <title>Testing the Configuration</title>
246
247 <para>Start the LDAP server using the init script:</para>
248
249<screen role="root"><userinput>/etc/rc.d/init.d/openldap start</userinput></screen>
250
251 <para>Verify access to the LDAP server with the following
252 command:</para>
253
254<screen><userinput>ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts</userinput></screen>
255
256 <para>The expected result is:</para>
257
258<screen><computeroutput># extended LDIF
259#
260# LDAPv3
261# base &lt;&gt; with scope base
262# filter: (objectclass=*)
263# requesting: namingContexts
264#
265
266#
267dn:
268namingContexts: dc=my-domain,dc=com
269
270# search result
271search: 2
272result: 0 Success
273
274# numResponses: 2
275# numEntries: 1</computeroutput></screen>
276
277 </sect3>
278
279 </sect2>
280
281 <sect2 role="content">
282 <title>Contents</title>
283
284 <segmentedlist>
285 <segtitle>Installed Programs</segtitle>
286 <segtitle>Installed Libraries</segtitle>
287 <segtitle>Installed Directories</segtitle>
288
289 <seglistitem>
290 <seg>ldapadd, ldapcompare, ldapdelete, ldapmodify, ldapmodrdn,
291 ldappasswd, ldapsearch, ldapwhoami, slapadd, slapcat, slapd, slapdn,
292 slapindex, slappasswd, slaptest, and slurpd</seg>
293 <seg>liblber.[so,a], libldap.[so,a], and libldap_r.[so,a]</seg>
294 <seg>/etc/openldap, /srv/ldap, and /usr/share/openldap</seg>
295 </seglistitem>
296 </segmentedlist>
297
298 <variablelist>
299 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
300 <?dbfo list-presentation="list"?>
301 <?dbhtml list-presentation="table"?>
302
303 <varlistentry id="ldapadd">
304 <term><command>ldapadd</command></term>
305 <listitem>
306 <para>opens a connection to an LDAP server, binds and adds
307 entries.</para>
308 <indexterm zone="openldap ldapadd">
309 <primary sortas="b-ldapadd">ldapadd</primary>
310 </indexterm>
311 </listitem>
312 </varlistentry>
313
314 <varlistentry id="ldapcompare">
315 <term><command>ldapcompare</command></term>
316 <listitem>
317 <para>opens a connection to an LDAP server, binds and performs
318 a compare using specified parameters.</para>
319 <indexterm zone="openldap ldapcompare">
320 <primary sortas="b-ldapcompare">ldapcompare</primary>
321 </indexterm>
322 </listitem>
323 </varlistentry>
324
325 <varlistentry id="ldapdelete">
326 <term><command>ldapdelete</command></term>
327 <listitem>
328 <para> opens a connection to an LDAP server, binds and deletes
329 one or more entries.</para>
330 <indexterm zone="openldap ldapdelete">
331 <primary sortas="b-ldapdelete">ldapdelete</primary>
332 </indexterm>
333 </listitem>
334 </varlistentry>
335
336 <varlistentry id="ldapmodify">
337 <term><command>ldapmodify</command></term>
338 <listitem>
339 <para>opens a connection to an LDAP server, binds and modifies
340 entries.</para>
341 <indexterm zone="openldap ldapmodify">
342 <primary sortas="b-ldapmodify">ldapmodify</primary>
343 </indexterm>
344 </listitem>
345 </varlistentry>
346
347 <varlistentry id="ldapmodrdn">
348 <term><command>ldapmodrdn</command></term>
349 <listitem>
350 <para>opens a connection to an LDAP server, binds and modifies
351 the RDN of entries.</para>
352 <indexterm zone="openldap ldapmodrdn">
353 <primary sortas="b-ldapmodrdn">ldapmodrdn</primary>
354 </indexterm>
355 </listitem>
356 </varlistentry>
357
358 <varlistentry id="ldappasswd">
359 <term><command>ldappasswd</command></term>
360 <listitem>
361 <para>is a tool to set the password of an LDAP user.</para>
362 <indexterm zone="openldap ldappasswd">
363 <primary sortas="b-ldappasswd">ldappasswd</primary>
364 </indexterm>
365 </listitem>
366 </varlistentry>
367
368 <varlistentry id="ldapsearch">
369 <term><command>ldapsearch</command></term>
370 <listitem>
371 <para>opens a connection to an LDAP server, binds and performs
372 a search using specified parameters.</para>
373 <indexterm zone="openldap ldapsearch">
374 <primary sortas="b-ldapsearch">ldapsearch</primary>
375 </indexterm>
376 </listitem>
377 </varlistentry>
378
379 <varlistentry id="ldapwhoami">
380 <term><command>ldapwhoami</command></term>
381 <listitem>
382 <para>opens a connection to an LDAP server, binds and displays
383 whoami information.</para>
384 <indexterm zone="openldap ldapwhoami">
385 <primary sortas="b-ldapwhoami">ldapwhoami</primary>
386 </indexterm>
387 </listitem>
388 </varlistentry>
389
390 <varlistentry id="slapadd">
391 <term><command>slapadd</command></term>
392 <listitem>
393 <para>is used to add entries specified in LDAP Directory Interchange
394 Format (LDIF) to an LDAP database.</para>
395 <indexterm zone="openldap slapadd">
396 <primary sortas="b-slapadd">slapadd</primary>
397 </indexterm>
398 </listitem>
399 </varlistentry>
400
401 <varlistentry id="slapcat">
402 <term><command>slapcat</command></term>
403 <listitem>
404 <para>is used to generate an LDAP LDIF output based upon the
405 contents of a slapd database.</para>
406 <indexterm zone="openldap slapcat">
407 <primary sortas="b-slapcat">slapcat</primary>
408 </indexterm>
409 </listitem>
410 </varlistentry>
411
412 <varlistentry id="slapd">
413 <term><command>slapd</command></term>
414 <listitem>
415 <para>is the stand-alone LDAP server.</para>
416 <indexterm zone="openldap slapd">
417 <primary sortas="b-slapd">slapd</primary>
418 </indexterm>
419 </listitem>
420 </varlistentry>
421
422 <varlistentry id="slapdn">
423 <term><command>slapdn</command></term>
424 <listitem>
425 <para>checks a list of string-represented DNs based on schema
426 syntax.</para>
427 <indexterm zone="openldap slapdn">
428 <primary sortas="b-slapdn">slapdn</primary>
429 </indexterm>
430 </listitem>
431 </varlistentry>
432
433 <varlistentry id="slapindex">
434 <term><command>slapindex</command></term>
435 <listitem>
436 <para>is used to regenerate slapd indices based upon the current
437 contents of a database.</para>
438 <indexterm zone="openldap slapindex">
439 <primary sortas="b-slapindex">slapindex</primary>
440 </indexterm>
441 </listitem>
442 </varlistentry>
443
444 <varlistentry id="slappasswd">
445 <term><command>slappasswd</command></term>
446 <listitem>
447 <para>is an <application>OpenLDAP</application> password
448 utility.</para>
449 <indexterm zone="openldap slappasswd">
450 <primary sortas="b-slappasswd">slappasswd</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>
454
455 <varlistentry id="slaptest">
456 <term><command>slaptest</command></term>
457 <listitem>
458 <para>checks the sanity of the <filename>slapd.conf</filename>
459 file.</para>
460 <indexterm zone="openldap slaptest">
461 <primary sortas="b-slaptest">slaptest</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 <varlistentry id="slurpd">
467 <term><command>slurpd</command></term>
468 <listitem>
469 <para>is the stand-alone LDAP replication server.</para>
470 <indexterm zone="openldap slurpd">
471 <primary sortas="b-slurpd">slurpd</primary>
472 </indexterm>
473 </listitem>
474 </varlistentry>
475
476 <varlistentry id="liblber">
477 <term><filename class='libraryfile'>liblber.[so,a]</filename></term>
478 <listitem>
479 <para>is a set of lightweight Basic Encoding Rules routines. These
480 routines are used by the LDAP library routines to encode and decode
481 LDAP protocol elements using the (slightly simplified) Basic
482 Encoding Rules defined by LDAP. They are not normally used directly
483 by an LDAP application program except in the handling of controls
484 and extended operations.</para>
485 <indexterm zone="openldap liblber">
486 <primary sortas="c-liblber">liblber.[so,a]</primary>
487 </indexterm>
488 </listitem>
489 </varlistentry>
490
491 <varlistentry id="libldap">
492 <term><filename class='libraryfile'>libldap.[so,a]</filename></term>
493 <listitem>
494 <para>supports the LDAP programs and provide functionality for
495 other programs interacting with LDAP.</para>
496 <indexterm zone="openldap libldap">
497 <primary sortas="c-libldap">libldap.[so,a]</primary>
498 </indexterm>
499 </listitem>
500 </varlistentry>
501
502 <varlistentry id="libldap_r">
503 <term><filename class='libraryfile'>libldap_r.[so,a]</filename></term>
504 <listitem>
505 <para>contains the functions required by the LDAP programs to
506 produce the results from LDAP requests.</para>
507 <indexterm zone="openldap libldap_r">
508 <primary sortas="c-libldap_r">libldap_r.[so,a]</primary>
509 </indexterm>
510 </listitem>
511 </varlistentry>
512
513 </variablelist>
514
515 </sect2>
516
517</sect1>
Note: See TracBrowser for help on using the repository browser.