source: server/other/openldap.xml@ 9e9f37a

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.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 9e9f37a was 9e9f37a, checked in by Randy McMurchy <randy@…>, 18 years ago

Updated to OpenLDAP-2.3.20 (stable-20060227)

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

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