source: server/other/openldap.xml@ a6ac43b

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 a6ac43b was a6ac43b, checked in by Manuel Canales Esparcia <manuel@…>, 18 years ago

Adding automatized scripts generation related tags. Server part.

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

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