[0931098] | 1 | <?xml version="1.0" encoding="ISO-8859-1"?>
|
---|
[6732c094] | 2 | <!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
---|
| 3 | "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
---|
[0931098] | 4 | <!ENTITY % general-entities SYSTEM "../../general.ent">
|
---|
| 5 | %general-entities;
|
---|
| 6 |
|
---|
[c00932a] | 7 | <!ENTITY openldap-download-http " ">
|
---|
[12949fb] | 8 | <!ENTITY openldap-download-ftp "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/openldap-&openldap-version;.tgz">
|
---|
[32b1094f] | 9 | <!ENTITY openldap-md5sum "423c1f23d2a0cb96b3e9baf7e9d7dda7">
|
---|
| 10 | <!ENTITY openldap-size "5.4 MB">
|
---|
| 11 | <!ENTITY openldap-buildsize "47 MB (client) 101 MB (server - additional 5 MB for the tests)">
|
---|
[b83be3d] | 12 | <!ENTITY openldap-time "0.9 SBU (client) 1.8 SBU (server - additional 3.4 SBU for the tests)">
|
---|
[0931098] | 13 | ]>
|
---|
| 14 |
|
---|
[9a9a0fec] | 15 | <sect1 id="openldap" xreflabel="OpenLDAP-&openldap-version;">
|
---|
[814e53c] | 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 |
|
---|
[b5e36dd] | 32 | <para>
|
---|
| 33 | The <application>OpenLDAP</application> package provides an open
|
---|
| 34 | source implementation of the Lightweight Directory Access Protocol.
|
---|
| 35 | </para>
|
---|
| 36 |
|
---|
[0cd81e41] | 37 | &lfs76_checked;
|
---|
[814e53c] | 38 |
|
---|
[983db4c] | 39 | <!--
|
---|
[32b1094f] | 40 | <warning>
|
---|
| 41 | <para>
|
---|
| 42 | Starting with Berkeley DB-6.0.20, there is a problem of license, if you
|
---|
| 43 | are intending to distribute this system.
|
---|
| 44 | </para>
|
---|
| 45 | </warning>
|
---|
[983db4c] | 46 | -->
|
---|
[814e53c] | 47 | <bridgehead renderas="sect3">Package Information</bridgehead>
|
---|
| 48 | <itemizedlist spacing="compact">
|
---|
| 49 | <listitem>
|
---|
[b5e36dd] | 50 | <para>
|
---|
| 51 | Download (HTTP): <ulink url="&openldap-download-http;"/>
|
---|
| 52 | </para>
|
---|
[814e53c] | 53 | </listitem>
|
---|
| 54 | <listitem>
|
---|
[b5e36dd] | 55 | <para>
|
---|
| 56 | Download (FTP): <ulink url="&openldap-download-ftp;"/>
|
---|
| 57 | </para>
|
---|
[814e53c] | 58 | </listitem>
|
---|
| 59 | <listitem>
|
---|
[b5e36dd] | 60 | <para>
|
---|
| 61 | Download MD5 sum: &openldap-md5sum;
|
---|
| 62 | </para>
|
---|
[814e53c] | 63 | </listitem>
|
---|
| 64 | <listitem>
|
---|
[b5e36dd] | 65 | <para>
|
---|
| 66 | Download size: &openldap-size;
|
---|
| 67 | </para>
|
---|
[814e53c] | 68 | </listitem>
|
---|
| 69 | <listitem>
|
---|
[b5e36dd] | 70 | <para>
|
---|
| 71 | Estimated disk space required: &openldap-buildsize;
|
---|
| 72 | </para>
|
---|
[814e53c] | 73 | </listitem>
|
---|
| 74 | <listitem>
|
---|
[b5e36dd] | 75 | <para>
|
---|
| 76 | Estimated build time: &openldap-time;
|
---|
| 77 | </para>
|
---|
[814e53c] | 78 | </listitem>
|
---|
| 79 | </itemizedlist>
|
---|
| 80 |
|
---|
[6a604251] | 81 | <bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
---|
[ba432fd] | 82 | <itemizedlist spacing="compact">
|
---|
| 83 | <listitem>
|
---|
[b5e36dd] | 84 | <para>
|
---|
| 85 | Required patch:
|
---|
[0760f1d] | 86 | <ulink url="&patch-root;/openldap-&openldap-version;-blfs_paths-1.patch"/>
|
---|
[b5e36dd] | 87 | </para>
|
---|
[1ef8da9] | 88 | </listitem>
|
---|
| 89 | <listitem>
|
---|
[b5e36dd] | 90 | <para>
|
---|
| 91 | Required patch:
|
---|
[0760f1d] | 92 | <ulink url="&patch-root;/openldap-&openldap-version;-symbol_versions-1.patch"/>
|
---|
[b5e36dd] | 93 | </para>
|
---|
[1ef8da9] | 94 | </listitem>
|
---|
[2f62a072] | 95 | <!-- <listitem>
|
---|
[b5e36dd] | 96 | <para>
|
---|
| 97 | Optional patch:
|
---|
| 98 | <ulink url="&patch-root;/openldap-&openldap-version;-ntlm-1.patch"/>
|
---|
| 99 | </para>
|
---|
[2f62a072] | 100 | </listitem> -->
|
---|
[ba432fd] | 101 | </itemizedlist>
|
---|
| 102 |
|
---|
[814e53c] | 103 | <bridgehead renderas="sect3">OpenLDAP Dependencies</bridgehead>
|
---|
| 104 |
|
---|
| 105 | <bridgehead renderas="sect4">Recommended</bridgehead>
|
---|
[b5e36dd] | 106 | <para role="recommended">
|
---|
[9812278] | 107 | <xref linkend="db"/> (only if building server),
|
---|
| 108 | <xref linkend="cyrus-sasl"/>, and
|
---|
[b5e36dd] | 109 | <xref linkend="openssl"/>
|
---|
| 110 | </para>
|
---|
[814e53c] | 111 |
|
---|
| 112 | <bridgehead renderas="sect4">Optional</bridgehead>
|
---|
[b5e36dd] | 113 | <para role="optional">
|
---|
| 114 | <xref linkend="icu"/>,
|
---|
[5e0662d] | 115 | <xref linkend="mariadb"/> or
|
---|
| 116 | <ulink url="http://www.mysql.com/">MySQL</ulink> or
|
---|
| 117 | <xref linkend="postgresql"/>,
|
---|
[b5e36dd] | 118 | <ulink url="http://www.openslp.org/">OpenSLP</ulink>,
|
---|
[bc6e56d] | 119 | <xref linkend="pth"/> and
|
---|
[b5e36dd] | 120 | <xref linkend="unixodbc"/>
|
---|
| 121 | </para>
|
---|
[814e53c] | 122 |
|
---|
[3cb0c57] | 123 | <para condition="html" role="usernotes">User Notes:
|
---|
[bc6e56d] | 124 | <ulink url="&blfs-wiki;/openldap"/>
|
---|
| 125 | </para>
|
---|
[814e53c] | 126 | </sect2>
|
---|
| 127 |
|
---|
| 128 | <sect2 role="installation">
|
---|
| 129 | <title>Installation of OpenLDAP</title>
|
---|
| 130 |
|
---|
[2f62a072] | 131 | <!-- <important>
|
---|
[b5e36dd] | 132 | <para>
|
---|
| 133 | Without the following patch, the <application>Evolution</application>
|
---|
[0d7900a] | 134 | Exchange addressbook integration uses simple binds with cleartext
|
---|
| 135 | passwords. If you are going to build
|
---|
[b5e36dd] | 136 | <application>Evolution Data Server</application> with
|
---|
| 137 | <application>OpenLDAP</application> support, apply the following patch:
|
---|
| 138 | </para>
|
---|
[c00932a] | 139 |
|
---|
| 140 | <screen><userinput>patch -Np1 -i ../openldap-&openldap-version;-ntlm-1.patch</userinput></screen>
|
---|
[2f62a072] | 141 | </important> -->
|
---|
[c00932a] | 142 |
|
---|
[12949fb] | 143 | <note>
|
---|
[b5e36dd] | 144 | <para>
|
---|
| 145 | If you only need to install the client side <command>ldap*</command>
|
---|
| 146 | binaries, corresponding man pages, libraries and header files (referred to
|
---|
[9ef1b6ff] | 147 | as a <quote>client-only</quote> install), issue these
|
---|
| 148 | commands instead of the following ones (no test suite available):
|
---|
[b5e36dd] | 149 | </para>
|
---|
[12949fb] | 150 |
|
---|
[0760f1d] | 151 | <screen><userinput>patch -Np1 -i ../openldap-&openldap-version;-blfs_paths-1.patch &&
|
---|
| 152 | patch -Np1 -i ../openldap-&openldap-version;-symbol_versions-1.patch &&
|
---|
[439e942e] | 153 | autoconf &&
|
---|
[983db4c] | 154 |
|
---|
[32b1094f] | 155 | sed -i '/6.0.20/ a\\t__db_version_compat' configure &&
|
---|
[983db4c] | 156 |
|
---|
[d6da5da] | 157 | ./configure --prefix=/usr \
|
---|
[12949fb] | 158 | --sysconfdir=/etc \
|
---|
[9ef1b6ff] | 159 | --disable-static \
|
---|
[d6da5da] | 160 | --enable-dynamic \
|
---|
| 161 | --disable-debug \
|
---|
| 162 | --disable-slapd &&
|
---|
| 163 | make depend &&
|
---|
[c612fc3] | 164 | make</userinput></screen>
|
---|
| 165 |
|
---|
| 166 | <para>
|
---|
| 167 | Then, as the <systemitem class="username">root</systemitem> user:
|
---|
| 168 | </para>
|
---|
| 169 |
|
---|
| 170 | <screen role="root"><userinput>make install</userinput></screen>
|
---|
[9ef1b6ff] | 171 |
|
---|
[12949fb] | 172 | </note>
|
---|
| 173 |
|
---|
[b194f2b] | 174 | <para>
|
---|
| 175 | There should be a dedicated user and group to take control
|
---|
| 176 | of the <command>slapd</command> daemon after it is
|
---|
| 177 | started. Issue the following commands as the
|
---|
| 178 | <systemitem class="username">root</systemitem> user:
|
---|
| 179 | </para>
|
---|
| 180 |
|
---|
| 181 | <screen role="root"><userinput>groupadd -g 83 ldap &&
|
---|
| 182 | useradd -c "OpenLDAP Daemon Owner" -d /var/lib/openldap -u 83 \
|
---|
| 183 | -g ldap -s /bin/false ldap</userinput></screen>
|
---|
| 184 |
|
---|
[b5e36dd] | 185 | <para>
|
---|
| 186 | Install <application>OpenLDAP</application> by
|
---|
| 187 | running the following commands:
|
---|
| 188 | </para>
|
---|
[814e53c] | 189 |
|
---|
[0760f1d] | 190 | <screen><userinput>patch -Np1 -i ../openldap-&openldap-version;-blfs_paths-1.patch &&
|
---|
| 191 | patch -Np1 -i ../openldap-&openldap-version;-symbol_versions-1.patch &&
|
---|
[439e942e] | 192 | autoconf &&
|
---|
[983db4c] | 193 |
|
---|
[32b1094f] | 194 | sed -i '/6.0.20/ a\\t__db_version_compat' configure &&
|
---|
[983db4c] | 195 |
|
---|
[d6da5da] | 196 | ./configure --prefix=/usr \
|
---|
| 197 | --sysconfdir=/etc \
|
---|
| 198 | --localstatedir=/var \
|
---|
[c00932a] | 199 | --libexecdir=/usr/lib \
|
---|
[d6da5da] | 200 | --disable-static \
|
---|
| 201 | --disable-debug \
|
---|
| 202 | --enable-dynamic \
|
---|
| 203 | --enable-crypt \
|
---|
| 204 | --enable-spasswd \
|
---|
| 205 | --enable-modules \
|
---|
| 206 | --enable-rlookups \
|
---|
[c00932a] | 207 | --enable-backends=mod \
|
---|
| 208 | --enable-overlays=mod \
|
---|
[d6da5da] | 209 | --disable-ndb \
|
---|
[b895aa3] | 210 | --disable-sql &&
|
---|
[0931098] | 211 | make depend &&
|
---|
[d9091faa] | 212 | make</userinput></screen>
|
---|
| 213 |
|
---|
[b5e36dd] | 214 | <para>
|
---|
[4585084d] | 215 | To test the results, issue: <command>make test</command>. Tests may fail
|
---|
| 216 | after a long time (~ 5 SBU).
|
---|
[b5e36dd] | 217 | </para>
|
---|
[814e53c] | 218 |
|
---|
[b5e36dd] | 219 | <para>
|
---|
| 220 | Now, as the <systemitem class="username">root</systemitem> user:
|
---|
| 221 | </para>
|
---|
[814e53c] | 222 |
|
---|
| 223 | <screen role="root"><userinput>make install &&
|
---|
[0c74155e] | 224 |
|
---|
[117309d] | 225 | chmod -v 700 /var/lib/openldap &&
|
---|
[c612fc3] | 226 | chown -v -R root:ldap /var/lib/openldap &&
|
---|
[117309d] | 227 | chmod -v 640 /etc/openldap/{slapd.{conf,ldif},DB_CONFIG.example} &&
|
---|
| 228 | chown -v root:ldap /etc/openldap/{slapd.{conf,ldif},DB_CONFIG.example} &&
|
---|
| 229 | install -v -dm700 -o ldap -g ldap /etc/openldap/slapd.d &&
|
---|
[b194f2b] | 230 |
|
---|
[d6da5da] | 231 | install -v -dm755 /usr/share/doc/openldap-&openldap-version; &&
|
---|
[1ef8da9] | 232 | cp -vfr doc/drafts /usr/share/doc/openldap-&openldap-version; &&
|
---|
| 233 | cp -vfr doc/rfc /usr/share/doc/openldap-&openldap-version; &&
|
---|
| 234 | cp -vfr doc/guide /usr/share/doc/openldap-&openldap-version;</userinput></screen>
|
---|
[814e53c] | 235 |
|
---|
[117309d] | 236 | <para>
|
---|
| 237 | Having slapd configuration files and ldap databases in /var/lib/openldap
|
---|
| 238 | readable by anyone is a SECURITY ISSUE, especially since a file stores
|
---|
| 239 | admin password in PLAIN TEXT. That's why mode 640 and root:ldap ownership
|
---|
| 240 | were used. Owner is root, so only root can modify the file, and group is
|
---|
| 241 | ldap, so that the group which owns slapd daemon could read but not modify
|
---|
| 242 | the file in case of a security breach.
|
---|
| 243 | </para>
|
---|
| 244 |
|
---|
[814e53c] | 245 | </sect2>
|
---|
| 246 |
|
---|
| 247 | <sect2 role="commands">
|
---|
| 248 | <title>Command Explanations</title>
|
---|
| 249 |
|
---|
[32b1094f] | 250 | <para>
|
---|
| 251 | <command>sed ... configure</command>: Fix <command>configure</command>
|
---|
| 252 | script for building with <application>Berkeley DB-6.0.20</application> or
|
---|
| 253 | later.
|
---|
| 254 | </para>
|
---|
| 255 |
|
---|
[c00932a] | 256 | <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
---|
[b5e36dd] | 257 | href="../../xincludes/static-libraries.xml"/>
|
---|
| 258 |
|
---|
| 259 | <para>
|
---|
[9ef1b6ff] | 260 | <parameter>--disable-debug</parameter>: This switch disables
|
---|
[b5e36dd] | 261 | the debugging code in <application>OpenLDAP</application>.
|
---|
| 262 | </para>
|
---|
| 263 |
|
---|
| 264 | <para>
|
---|
[9ef1b6ff] | 265 | <parameter>--enable-dynamic</parameter>: This switch forces the
|
---|
[b5e36dd] | 266 | <application>OpenLDAP</application> libraries to be dynamically
|
---|
| 267 | linked to the executable programs.
|
---|
| 268 | </para>
|
---|
| 269 |
|
---|
| 270 | <para>
|
---|
[9ef1b6ff] | 271 | <parameter>--enable-crypt</parameter>: This switch enables using of
|
---|
[b5e36dd] | 272 | <command>crypt(3)</command> passwords.
|
---|
| 273 | </para>
|
---|
| 274 |
|
---|
| 275 | <para>
|
---|
[9ef1b6ff] | 276 | <parameter>--enable-spasswd</parameter>: This switch enables
|
---|
[d6da5da] | 277 | <application>SASL</application> password verification.
|
---|
| 278 | </para>
|
---|
| 279 |
|
---|
| 280 | <para>
|
---|
[9ef1b6ff] | 281 | <parameter>--enable-modules</parameter>: This switch enables dynamic
|
---|
[b5e36dd] | 282 | module support.
|
---|
| 283 | </para>
|
---|
| 284 |
|
---|
| 285 | <para>
|
---|
[9ef1b6ff] | 286 | <parameter>--enable-rlookups</parameter>: This switch enables
|
---|
[b5e36dd] | 287 | reverse lookups of client hostnames.
|
---|
| 288 | </para>
|
---|
| 289 |
|
---|
| 290 | <para>
|
---|
[9ef1b6ff] | 291 | <parameter>--enable-backends</parameter>: This switch enables
|
---|
[b5e36dd] | 292 | all available backends.
|
---|
| 293 | </para>
|
---|
| 294 |
|
---|
| 295 | <para>
|
---|
[9ef1b6ff] | 296 | <parameter>--enable-overlays</parameter>: This switch enables
|
---|
[b5e36dd] | 297 | all available overlays.
|
---|
| 298 | </para>
|
---|
| 299 |
|
---|
| 300 | <para>
|
---|
[9ef1b6ff] | 301 | <parameter>--disable-ndb</parameter>: This switch disables
|
---|
[0d7900a] | 302 | <application>MySQL</application> NDB Cluster backend
|
---|
[b5e36dd] | 303 | which causes configure to fail if
|
---|
| 304 | <application>MySQL</application> is present.
|
---|
| 305 | </para>
|
---|
| 306 |
|
---|
| 307 | <para>
|
---|
[9ef1b6ff] | 308 | <parameter>--disable-sql</parameter>: This switch explicitly
|
---|
[b5e36dd] | 309 | disables the SQL backend. Omit this switch if a SQL server is
|
---|
| 310 | installed and you are going to use a SQL backend.
|
---|
| 311 | </para>
|
---|
| 312 |
|
---|
[67bd7d46] | 313 | <para>
|
---|
| 314 | <parameter>--libexecdir=/usr/lib</parameter>: This switch controls where
|
---|
| 315 | the <filename class="directory">/usr/lib/openldap</filename> directory is
|
---|
| 316 | installed. Everything in that directory is a library, so it belongs under
|
---|
| 317 | <filename class="directory">/usr/lib</filename> instead of
|
---|
| 318 | <filename class="directory">/usr/libexec</filename>.
|
---|
| 319 | </para>
|
---|
| 320 |
|
---|
[b5e36dd] | 321 | <para>
|
---|
[d6da5da] | 322 | <option>--enable-slp</option>: This switch enables
|
---|
| 323 | SLPv2 support. Use it if you have installed
|
---|
[b5e36dd] | 324 | <ulink url="http://www.openslp.org/">OpenSLP</ulink>.
|
---|
| 325 | </para>
|
---|
[516a4acd] | 326 |
|
---|
| 327 | <note>
|
---|
[b5e36dd] | 328 | <para>
|
---|
| 329 | You can run <command>./configure --help</command> to see if there
|
---|
[d6da5da] | 330 | are other switch you can pass to the <command>configure</command>
|
---|
[b5e36dd] | 331 | command to enable other options or dependency packages.
|
---|
| 332 | </para>
|
---|
[516a4acd] | 333 | </note>
|
---|
| 334 |
|
---|
[814e53c] | 335 | </sect2>
|
---|
| 336 |
|
---|
| 337 | <sect2 role="configuration">
|
---|
| 338 | <title>Configuring OpenLDAP</title>
|
---|
| 339 |
|
---|
| 340 | <sect3 id="openldap-config">
|
---|
| 341 | <title>Config Files</title>
|
---|
| 342 |
|
---|
[bc6e56d] | 343 | <para>
|
---|
| 344 | <filename>/etc/openldap/*</filename>
|
---|
| 345 | </para>
|
---|
[814e53c] | 346 |
|
---|
| 347 | <indexterm zone="openldap openldap-config">
|
---|
[bc6e56d] | 348 | <primary sortas="e-etc-openldap">/etc/openldap/*</primary>
|
---|
[814e53c] | 349 | </indexterm>
|
---|
| 350 |
|
---|
| 351 | </sect3>
|
---|
| 352 |
|
---|
| 353 | <sect3>
|
---|
| 354 | <title>Configuration Information</title>
|
---|
| 355 |
|
---|
[b5e36dd] | 356 | <para>
|
---|
| 357 | Configuring the <command>slapd</command> servers can be complex.
|
---|
| 358 | Securing the LDAP directory, especially if you are storing non-public
|
---|
| 359 | data such as password databases, can also be a challenging task. You'll
|
---|
| 360 | need to modify the <filename>/etc/openldap/slapd.conf</filename> and
|
---|
| 361 | <filename>/etc/openldap/ldap.conf</filename> files to set up
|
---|
| 362 | <application>OpenLDAP</application> for your particular needs.
|
---|
| 363 | </para>
|
---|
[814e53c] | 364 |
|
---|
| 365 | <indexterm zone="openldap openldap-config">
|
---|
| 366 | <primary
|
---|
| 367 | sortas="e-etc-openldap-slapd.conf">/etc/openldap/slapd.conf</primary>
|
---|
| 368 | </indexterm>
|
---|
| 369 |
|
---|
| 370 | <indexterm zone="openldap openldap-config">
|
---|
| 371 | <primary
|
---|
| 372 | sortas="e-etc-openldap-ldap.conf">/etc/openldap/ldap.conf</primary>
|
---|
| 373 | </indexterm>
|
---|
| 374 |
|
---|
[bc6e56d] | 375 | <para>
|
---|
| 376 | Resources to assist you with topics such as choosing a directory
|
---|
| 377 | configuration, backend and database definitions, access control settings,
|
---|
| 378 | running as a user other than <systemitem class="username">root</systemitem>
|
---|
| 379 | and setting a <command>chroot</command> environment include:
|
---|
| 380 | </para>
|
---|
[814e53c] | 381 |
|
---|
[d6da5da] | 382 | <itemizedlist spacing="compact">
|
---|
[814e53c] | 383 | <listitem>
|
---|
[b5e36dd] | 384 | <para>
|
---|
| 385 | The <command>slapd</command> man page.
|
---|
| 386 | </para>
|
---|
[814e53c] | 387 | </listitem>
|
---|
| 388 | <listitem>
|
---|
[b5e36dd] | 389 | <para>
|
---|
| 390 | The <filename>slapd.conf</filename> man page.
|
---|
| 391 | </para>
|
---|
[814e53c] | 392 | </listitem>
|
---|
| 393 | <listitem>
|
---|
[b5e36dd] | 394 | <para>
|
---|
| 395 | The <ulink url="http://www.openldap.org/doc/admin24/">
|
---|
[0d7900a] | 396 | OpenLDAP 2.4 Administrator's Guide</ulink>
|
---|
[b5e36dd] | 397 | (also installed locally in <filename class='directory'>
|
---|
| 398 | /usr/share/doc/openldap-&openldap-version;/guide/admin</filename>).
|
---|
| 399 | </para>
|
---|
[814e53c] | 400 | </listitem>
|
---|
| 401 | <listitem>
|
---|
[b5e36dd] | 402 | <para>
|
---|
| 403 | Documents located at
|
---|
| 404 | <ulink url="http://www.openldap.org/pub/"/>.
|
---|
| 405 | </para>
|
---|
[814e53c] | 406 | </listitem>
|
---|
| 407 | </itemizedlist>
|
---|
| 408 |
|
---|
| 409 | </sect3>
|
---|
| 410 |
|
---|
| 411 | <sect3>
|
---|
| 412 | <title>Mozilla Address Directory</title>
|
---|
| 413 |
|
---|
[b5e36dd] | 414 | <para>
|
---|
| 415 | By default, LDAPv2 support is disabled in the
|
---|
| 416 | <filename>slapd.conf</filename> file. Once the database is properly
|
---|
| 417 | set up and <application>Mozilla</application> is configured to use the
|
---|
| 418 | directory, you must add <option>allow bind_v2</option> to the
|
---|
| 419 | <filename>slapd.conf</filename> file.
|
---|
| 420 | </para>
|
---|
[814e53c] | 421 |
|
---|
| 422 | </sect3>
|
---|
| 423 |
|
---|
| 424 | <sect3 id="openldap-init">
|
---|
| 425 | <title>Boot Script</title>
|
---|
| 426 |
|
---|
[b5e36dd] | 427 | <para>
|
---|
| 428 | To automate the startup of the LDAP server at system bootup,
|
---|
[d9d26317] | 429 | install the <filename>/etc/rc.d/init.d/slapd</filename> init script
|
---|
[b5e36dd] | 430 | included in the <xref linkend="bootscripts"/> package
|
---|
| 431 | using the following command:
|
---|
| 432 | </para>
|
---|
[814e53c] | 433 |
|
---|
| 434 | <indexterm zone="openldap openldap-init">
|
---|
[d9d26317] | 435 | <primary sortas="f-slapd">slapd</primary>
|
---|
[814e53c] | 436 | </indexterm>
|
---|
| 437 |
|
---|
[d9d26317] | 438 | <screen role="root"><userinput>make install-slapd</userinput></screen>
|
---|
[814e53c] | 439 |
|
---|
| 440 | <note>
|
---|
[b5e36dd] | 441 | <para>
|
---|
[0d7900a] | 442 | You'll need to modify the
|
---|
| 443 | <filename>/etc/sysconfig/slapd</filename> to include the
|
---|
| 444 | parameters needed for your specific configuration. See the
|
---|
[b5e36dd] | 445 | <command>slapd</command> man page for parameter information.
|
---|
| 446 | </para>
|
---|
[814e53c] | 447 | </note>
|
---|
| 448 |
|
---|
| 449 | </sect3>
|
---|
| 450 |
|
---|
| 451 | <sect3>
|
---|
| 452 | <title>Testing the Configuration</title>
|
---|
| 453 |
|
---|
[b5e36dd] | 454 | <para>
|
---|
| 455 | Start the LDAP server using the init script:
|
---|
| 456 | </para>
|
---|
[814e53c] | 457 |
|
---|
[d9d26317] | 458 | <screen role="root"><userinput>/etc/rc.d/init.d/slapd start</userinput></screen>
|
---|
[814e53c] | 459 |
|
---|
[b5e36dd] | 460 | <para>
|
---|
| 461 | Verify access to the LDAP server with the following command:
|
---|
| 462 | </para>
|
---|
[814e53c] | 463 |
|
---|
| 464 | <screen><userinput>ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts</userinput></screen>
|
---|
| 465 |
|
---|
[b5e36dd] | 466 | <para>
|
---|
| 467 | The expected result is:
|
---|
| 468 | </para>
|
---|
[814e53c] | 469 |
|
---|
[0931098] | 470 | <screen><computeroutput># extended LDIF
|
---|
| 471 | #
|
---|
| 472 | # LDAPv3
|
---|
| 473 | # base <> with scope base
|
---|
| 474 | # filter: (objectclass=*)
|
---|
[814e53c] | 475 | # requesting: namingContexts
|
---|
[0931098] | 476 | #
|
---|
| 477 |
|
---|
| 478 | #
|
---|
| 479 | dn:
|
---|
| 480 | namingContexts: dc=my-domain,dc=com
|
---|
| 481 |
|
---|
| 482 | # search result
|
---|
| 483 | search: 2
|
---|
| 484 | result: 0 Success
|
---|
| 485 |
|
---|
| 486 | # numResponses: 2
|
---|
| 487 | # numEntries: 1</computeroutput></screen>
|
---|
| 488 |
|
---|
[814e53c] | 489 | </sect3>
|
---|
| 490 |
|
---|
| 491 | </sect2>
|
---|
| 492 |
|
---|
| 493 | <sect2 role="content">
|
---|
| 494 | <title>Contents</title>
|
---|
| 495 |
|
---|
| 496 | <segmentedlist>
|
---|
| 497 | <segtitle>Installed Programs</segtitle>
|
---|
| 498 | <segtitle>Installed Libraries</segtitle>
|
---|
| 499 | <segtitle>Installed Directories</segtitle>
|
---|
| 500 |
|
---|
| 501 | <seglistitem>
|
---|
[b5e36dd] | 502 | <seg>
|
---|
| 503 | ldapadd, ldapcompare, ldapdelete, ldapexop, ldapmodify, ldapmodrdn,
|
---|
[4585084d] | 504 | ldappasswd, ldapsearch, ldapurl, ldapwhoami, slapacl, slapadd,
|
---|
| 505 | slapauth, slapcat, slapd, slapdn, slapindex, slappasswd, slapschema,
|
---|
| 506 | and slaptest
|
---|
[b5e36dd] | 507 | </seg>
|
---|
| 508 | <seg>
|
---|
[4585084d] | 509 | liblber.so, libldap.so, libldap_r.so,
|
---|
| 510 | and several under /usr/lib/openldap
|
---|
[b5e36dd] | 511 | </seg>
|
---|
| 512 | <seg>
|
---|
| 513 | /etc/openldap,
|
---|
[4585084d] | 514 | /usr/lib/openldap,
|
---|
| 515 | /usr/share/doc/openldap-&openldap-version;, and
|
---|
[b5e36dd] | 516 | /var/lib/openldap
|
---|
| 517 | </seg>
|
---|
[814e53c] | 518 | </seglistitem>
|
---|
| 519 | </segmentedlist>
|
---|
| 520 |
|
---|
| 521 | <variablelist>
|
---|
| 522 | <bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
---|
| 523 | <?dbfo list-presentation="list"?>
|
---|
| 524 | <?dbhtml list-presentation="table"?>
|
---|
| 525 |
|
---|
| 526 | <varlistentry id="ldapadd">
|
---|
| 527 | <term><command>ldapadd</command></term>
|
---|
| 528 | <listitem>
|
---|
[b5e36dd] | 529 | <para>
|
---|
| 530 | opens a connection to an LDAP server, binds and adds entries.
|
---|
| 531 | </para>
|
---|
[814e53c] | 532 | <indexterm zone="openldap ldapadd">
|
---|
| 533 | <primary sortas="b-ldapadd">ldapadd</primary>
|
---|
| 534 | </indexterm>
|
---|
| 535 | </listitem>
|
---|
| 536 | </varlistentry>
|
---|
| 537 |
|
---|
| 538 | <varlistentry id="ldapcompare">
|
---|
| 539 | <term><command>ldapcompare</command></term>
|
---|
| 540 | <listitem>
|
---|
[b5e36dd] | 541 | <para>
|
---|
| 542 | opens a connection to an LDAP server, binds and performs
|
---|
| 543 | a compare using specified parameters.
|
---|
| 544 | </para>
|
---|
[814e53c] | 545 | <indexterm zone="openldap ldapcompare">
|
---|
| 546 | <primary sortas="b-ldapcompare">ldapcompare</primary>
|
---|
| 547 | </indexterm>
|
---|
| 548 | </listitem>
|
---|
| 549 | </varlistentry>
|
---|
| 550 |
|
---|
| 551 | <varlistentry id="ldapdelete">
|
---|
| 552 | <term><command>ldapdelete</command></term>
|
---|
| 553 | <listitem>
|
---|
[b5e36dd] | 554 | <para>
|
---|
| 555 | opens a connection to an LDAP server, binds and deletes
|
---|
| 556 | one or more entries.
|
---|
| 557 | </para>
|
---|
[814e53c] | 558 | <indexterm zone="openldap ldapdelete">
|
---|
| 559 | <primary sortas="b-ldapdelete">ldapdelete</primary>
|
---|
| 560 | </indexterm>
|
---|
| 561 | </listitem>
|
---|
| 562 | </varlistentry>
|
---|
| 563 |
|
---|
[c00932a] | 564 | <varlistentry id="ldapexop">
|
---|
| 565 | <term><command>ldapexop</command></term>
|
---|
| 566 | <listitem>
|
---|
[b5e36dd] | 567 | <para>
|
---|
[0d7900a] | 568 | issues the LDAP extended operation specified by
|
---|
[b5e36dd] | 569 | oid or one of the special keywords whoami,
|
---|
| 570 | cancel, or refresh.
|
---|
| 571 | </para>
|
---|
[c00932a] | 572 | <indexterm zone="openldap ldapexop">
|
---|
| 573 | <primary sortas="b-ldapexop">ldapexop</primary>
|
---|
| 574 | </indexterm>
|
---|
| 575 | </listitem>
|
---|
| 576 | </varlistentry>
|
---|
| 577 |
|
---|
[814e53c] | 578 | <varlistentry id="ldapmodify">
|
---|
| 579 | <term><command>ldapmodify</command></term>
|
---|
| 580 | <listitem>
|
---|
[b5e36dd] | 581 | <para>
|
---|
| 582 | opens a connection to an LDAP server, binds and modifies entries.
|
---|
| 583 | </para>
|
---|
[814e53c] | 584 | <indexterm zone="openldap ldapmodify">
|
---|
| 585 | <primary sortas="b-ldapmodify">ldapmodify</primary>
|
---|
| 586 | </indexterm>
|
---|
| 587 | </listitem>
|
---|
| 588 | </varlistentry>
|
---|
| 589 |
|
---|
| 590 | <varlistentry id="ldapmodrdn">
|
---|
| 591 | <term><command>ldapmodrdn</command></term>
|
---|
| 592 | <listitem>
|
---|
[b5e36dd] | 593 | <para>
|
---|
| 594 | opens a connection to an LDAP server, binds and modifies
|
---|
| 595 | the RDN of entries.
|
---|
| 596 | </para>
|
---|
[814e53c] | 597 | <indexterm zone="openldap ldapmodrdn">
|
---|
| 598 | <primary sortas="b-ldapmodrdn">ldapmodrdn</primary>
|
---|
| 599 | </indexterm>
|
---|
| 600 | </listitem>
|
---|
| 601 | </varlistentry>
|
---|
| 602 |
|
---|
| 603 | <varlistentry id="ldappasswd">
|
---|
| 604 | <term><command>ldappasswd</command></term>
|
---|
| 605 | <listitem>
|
---|
[b5e36dd] | 606 | <para>
|
---|
| 607 | is a tool used to set the password of an LDAP user.
|
---|
| 608 | </para>
|
---|
[814e53c] | 609 | <indexterm zone="openldap ldappasswd">
|
---|
| 610 | <primary sortas="b-ldappasswd">ldappasswd</primary>
|
---|
| 611 | </indexterm>
|
---|
| 612 | </listitem>
|
---|
| 613 | </varlistentry>
|
---|
| 614 |
|
---|
| 615 | <varlistentry id="ldapsearch">
|
---|
| 616 | <term><command>ldapsearch</command></term>
|
---|
| 617 | <listitem>
|
---|
[b5e36dd] | 618 | <para>
|
---|
| 619 | opens a connection to an LDAP server, binds and performs
|
---|
| 620 | a search using specified parameters.
|
---|
| 621 | </para>
|
---|
[814e53c] | 622 | <indexterm zone="openldap ldapsearch">
|
---|
| 623 | <primary sortas="b-ldapsearch">ldapsearch</primary>
|
---|
| 624 | </indexterm>
|
---|
| 625 | </listitem>
|
---|
| 626 | </varlistentry>
|
---|
| 627 |
|
---|
[c00932a] | 628 | <varlistentry id="ldapurl">
|
---|
| 629 | <term><command>ldapurl</command></term>
|
---|
| 630 | <listitem>
|
---|
[b5e36dd] | 631 | <para>
|
---|
[0d7900a] | 632 | is a command that allows to either compose or
|
---|
[b5e36dd] | 633 | decompose LDAP URIs.
|
---|
| 634 | </para>
|
---|
[c00932a] | 635 | <indexterm zone="openldap ldapurl">
|
---|
| 636 | <primary sortas="b-ldapurl">ldapurl</primary>
|
---|
| 637 | </indexterm>
|
---|
| 638 | </listitem>
|
---|
| 639 | </varlistentry>
|
---|
| 640 |
|
---|
[814e53c] | 641 | <varlistentry id="ldapwhoami">
|
---|
| 642 | <term><command>ldapwhoami</command></term>
|
---|
| 643 | <listitem>
|
---|
[b5e36dd] | 644 | <para>
|
---|
| 645 | opens a connection to an LDAP server, binds and displays
|
---|
| 646 | whoami information.
|
---|
| 647 | </para>
|
---|
[814e53c] | 648 | <indexterm zone="openldap ldapwhoami">
|
---|
| 649 | <primary sortas="b-ldapwhoami">ldapwhoami</primary>
|
---|
| 650 | </indexterm>
|
---|
| 651 | </listitem>
|
---|
| 652 | </varlistentry>
|
---|
| 653 |
|
---|
[c00932a] | 654 | <varlistentry id="slapacl">
|
---|
| 655 | <term><command>slapacl</command></term>
|
---|
| 656 | <listitem>
|
---|
[b5e36dd] | 657 | <para>
|
---|
[0d7900a] | 658 | is used to check the behavior of slapd by verifying
|
---|
| 659 | access to directory data according to the access control
|
---|
[b5e36dd] | 660 | list directives defined in its configuration.
|
---|
| 661 | </para>
|
---|
[c00932a] | 662 | <indexterm zone="openldap slapacl">
|
---|
| 663 | <primary sortas="b-slapacl">slapacl</primary>
|
---|
| 664 | </indexterm>
|
---|
| 665 | </listitem>
|
---|
| 666 | </varlistentry>
|
---|
| 667 |
|
---|
[814e53c] | 668 | <varlistentry id="slapadd">
|
---|
| 669 | <term><command>slapadd</command></term>
|
---|
| 670 | <listitem>
|
---|
[b5e36dd] | 671 | <para>
|
---|
| 672 | is used to add entries specified in LDAP Directory Interchange
|
---|
| 673 | Format (LDIF) to an LDAP database.
|
---|
| 674 | </para>
|
---|
[814e53c] | 675 | <indexterm zone="openldap slapadd">
|
---|
| 676 | <primary sortas="b-slapadd">slapadd</primary>
|
---|
| 677 | </indexterm>
|
---|
| 678 | </listitem>
|
---|
| 679 | </varlistentry>
|
---|
| 680 |
|
---|
[c00932a] | 681 | <varlistentry id="slapauth">
|
---|
| 682 | <term><command>slapauth</command></term>
|
---|
| 683 | <listitem>
|
---|
[b5e36dd] | 684 | <para>
|
---|
[0d7900a] | 685 | is used to check the behavior of the slapd
|
---|
[b5e36dd] | 686 | in mapping identities for authentication and
|
---|
| 687 | authorization purposes, as specified in slapd.conf.
|
---|
| 688 | </para>
|
---|
[c00932a] | 689 | <indexterm zone="openldap slapauth">
|
---|
| 690 | <primary sortas="b-slapauth">slapauth</primary>
|
---|
| 691 | </indexterm>
|
---|
| 692 | </listitem>
|
---|
| 693 | </varlistentry>
|
---|
| 694 |
|
---|
[814e53c] | 695 | <varlistentry id="slapcat">
|
---|
| 696 | <term><command>slapcat</command></term>
|
---|
| 697 | <listitem>
|
---|
[b5e36dd] | 698 | <para>
|
---|
| 699 | is used to generate an LDAP LDIF output based upon the
|
---|
| 700 | contents of a slapd database.
|
---|
| 701 | </para>
|
---|
[814e53c] | 702 | <indexterm zone="openldap slapcat">
|
---|
| 703 | <primary sortas="b-slapcat">slapcat</primary>
|
---|
| 704 | </indexterm>
|
---|
| 705 | </listitem>
|
---|
| 706 | </varlistentry>
|
---|
| 707 |
|
---|
| 708 | <varlistentry id="slapd">
|
---|
| 709 | <term><command>slapd</command></term>
|
---|
| 710 | <listitem>
|
---|
[b5e36dd] | 711 | <para>
|
---|
| 712 | is the standalone LDAP server.
|
---|
| 713 | </para>
|
---|
[814e53c] | 714 | <indexterm zone="openldap slapd">
|
---|
| 715 | <primary sortas="b-slapd">slapd</primary>
|
---|
| 716 | </indexterm>
|
---|
| 717 | </listitem>
|
---|
| 718 | </varlistentry>
|
---|
| 719 |
|
---|
| 720 | <varlistentry id="slapdn">
|
---|
| 721 | <term><command>slapdn</command></term>
|
---|
| 722 | <listitem>
|
---|
[b5e36dd] | 723 | <para>
|
---|
| 724 | checks a list of string-represented DNs based on schema syntax.
|
---|
| 725 | </para>
|
---|
[814e53c] | 726 | <indexterm zone="openldap slapdn">
|
---|
| 727 | <primary sortas="b-slapdn">slapdn</primary>
|
---|
| 728 | </indexterm>
|
---|
| 729 | </listitem>
|
---|
| 730 | </varlistentry>
|
---|
| 731 |
|
---|
| 732 | <varlistentry id="slapindex">
|
---|
| 733 | <term><command>slapindex</command></term>
|
---|
| 734 | <listitem>
|
---|
[b5e36dd] | 735 | <para>
|
---|
| 736 | is used to regenerate slapd indexes based upon the current
|
---|
| 737 | contents of a database.
|
---|
| 738 | </para>
|
---|
[814e53c] | 739 | <indexterm zone="openldap slapindex">
|
---|
| 740 | <primary sortas="b-slapindex">slapindex</primary>
|
---|
| 741 | </indexterm>
|
---|
| 742 | </listitem>
|
---|
| 743 | </varlistentry>
|
---|
| 744 |
|
---|
| 745 | <varlistentry id="slappasswd">
|
---|
| 746 | <term><command>slappasswd</command></term>
|
---|
| 747 | <listitem>
|
---|
[b5e36dd] | 748 | <para>
|
---|
| 749 | is an <application>OpenLDAP</application> password utility.
|
---|
| 750 | </para>
|
---|
[814e53c] | 751 | <indexterm zone="openldap slappasswd">
|
---|
| 752 | <primary sortas="b-slappasswd">slappasswd</primary>
|
---|
| 753 | </indexterm>
|
---|
| 754 | </listitem>
|
---|
| 755 | </varlistentry>
|
---|
| 756 |
|
---|
[c00932a] | 757 | <varlistentry id="slapschema">
|
---|
| 758 | <term><command>slapschema</command></term>
|
---|
| 759 | <listitem>
|
---|
[b5e36dd] | 760 | <para>
|
---|
[0d7900a] | 761 | is used to check schema compliance of the contents
|
---|
[b5e36dd] | 762 | of a slapd database.
|
---|
| 763 | </para>
|
---|
[c00932a] | 764 | <indexterm zone="openldap slapschema">
|
---|
| 765 | <primary sortas="b-slapschema">slapschema</primary>
|
---|
| 766 | </indexterm>
|
---|
| 767 | </listitem>
|
---|
| 768 | </varlistentry>
|
---|
| 769 |
|
---|
[814e53c] | 770 | <varlistentry id="slaptest">
|
---|
| 771 | <term><command>slaptest</command></term>
|
---|
| 772 | <listitem>
|
---|
[b5e36dd] | 773 | <para>
|
---|
| 774 | checks the sanity of the <filename>slapd.conf</filename> file.
|
---|
| 775 | </para>
|
---|
[814e53c] | 776 | <indexterm zone="openldap slaptest">
|
---|
| 777 | <primary sortas="b-slaptest">slaptest</primary>
|
---|
| 778 | </indexterm>
|
---|
| 779 | </listitem>
|
---|
| 780 | </varlistentry>
|
---|
| 781 |
|
---|
| 782 | <varlistentry id="liblber">
|
---|
[d6da5da] | 783 | <term><filename class="libraryfile">liblber.so</filename></term>
|
---|
[814e53c] | 784 | <listitem>
|
---|
[b5e36dd] | 785 | <para>
|
---|
[1ef8da9] | 786 | is a set of Lightweight Basic Encoding Rules routines. These
|
---|
[b5e36dd] | 787 | routines are used by the LDAP library routines to encode and decode
|
---|
| 788 | LDAP protocol elements using the (slightly simplified) Basic
|
---|
| 789 | Encoding Rules defined by LDAP. They are not normally used directly
|
---|
| 790 | by an LDAP application program except in the handling of controls
|
---|
| 791 | and extended operations.
|
---|
| 792 | </para>
|
---|
[814e53c] | 793 | <indexterm zone="openldap liblber">
|
---|
[c00932a] | 794 | <primary sortas="c-liblber">liblber.so</primary>
|
---|
[814e53c] | 795 | </indexterm>
|
---|
| 796 | </listitem>
|
---|
| 797 | </varlistentry>
|
---|
| 798 |
|
---|
| 799 | <varlistentry id="libldap">
|
---|
[d6da5da] | 800 | <term><filename class="libraryfile">libldap.so</filename></term>
|
---|
[814e53c] | 801 | <listitem>
|
---|
[b5e36dd] | 802 | <para>
|
---|
| 803 | supports the LDAP programs and provide functionality for
|
---|
| 804 | other programs interacting with LDAP.
|
---|
| 805 | </para>
|
---|
[814e53c] | 806 | <indexterm zone="openldap libldap">
|
---|
[c00932a] | 807 | <primary sortas="c-libldap">libldap.so</primary>
|
---|
[814e53c] | 808 | </indexterm>
|
---|
| 809 | </listitem>
|
---|
| 810 | </varlistentry>
|
---|
| 811 |
|
---|
| 812 | <varlistentry id="libldap_r">
|
---|
[d6da5da] | 813 | <term><filename class="libraryfile">libldap_r.so</filename></term>
|
---|
[814e53c] | 814 | <listitem>
|
---|
[b5e36dd] | 815 | <para>
|
---|
| 816 | contains the functions required by the LDAP programs to
|
---|
| 817 | produce the results from LDAP requests.
|
---|
| 818 | </para>
|
---|
[814e53c] | 819 | <indexterm zone="openldap libldap_r">
|
---|
[c00932a] | 820 | <primary sortas="c-libldap_r">libldap_r.so</primary>
|
---|
[814e53c] | 821 | </indexterm>
|
---|
| 822 | </listitem>
|
---|
| 823 | </varlistentry>
|
---|
| 824 |
|
---|
| 825 | </variablelist>
|
---|
| 826 |
|
---|
| 827 | </sect2>
|
---|
[9905a3c] | 828 |
|
---|
| 829 | </sect1>
|
---|