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

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 9f12e36 was 9f12e36, checked in by Randy McMurchy <randy@…>, 18 years ago

Removed 'keywordset' blocks and extra spaces from the XML files (note this was by accident as I meant to do just in the gnome directory but I was in the root of BOOK when I ran the script, but this was going to happen anyway so I don't think it is a big deal)

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

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