source: server/other/openldap.xml@ 6d15c62

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 6d15c62 was ba432fd, checked in by Randy McMurchy <randy@…>, 13 years ago

Updated to OpenLDAP-2.4.23

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

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