From 63fffb0a7d6dfb81bab53b150fcbe72f9b7d9a36 Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Thu, 10 Aug 2000 05:23:38 +0000 Subject: [PATCH] Change formating... major updates to slapdconfig.sdf --- doc/guide/admin/dbtools.sdf | 244 ++++++++++---------- doc/guide/admin/install.sdf | 18 +- doc/guide/admin/intro.sdf | 2 +- doc/guide/admin/preface.sdf | 19 +- doc/guide/admin/referrals.sdf | 28 +-- doc/guide/admin/replication.sdf | 91 ++++---- doc/guide/admin/runningslapd.sdf | 11 +- doc/guide/admin/slapdconfig.sdf | 385 ++++++++++++++++--------------- doc/guide/preamble.sdf | 1 + 9 files changed, 411 insertions(+), 388 deletions(-) diff --git a/doc/guide/admin/dbtools.sdf b/doc/guide/admin/dbtools.sdf index 3cd63893ee..fd123912c4 100644 --- a/doc/guide/admin/dbtools.sdf +++ b/doc/guide/admin/dbtools.sdf @@ -11,7 +11,7 @@ you can create the database on-line using LDAP. With this method, you simply start up slapd and add entries using the LDAP client of your choice. This method is fine for relatively small databases (a few hundred or thousand entries, -depending on your requirements). This method works for database +depending on your requirements). This method works for database types which support updates. The second method of database creation is to do it off-line @@ -19,7 +19,7 @@ using special utilities provided with slapd. This method is best if you have many thousands of entries to create, which would take an unacceptably long time using the LDAP method, or if you want to ensure the database is not accessed while -it is being created. Note that not all database types support +it is being created. Note that not all database types support these utilitites. @@ -30,44 +30,44 @@ With this method, you use the LDAP client of your choice once the database is created. You should be sure to set the following configuration options before starting slapd: -E: suffix +> suffix As described in the preceding section, this option says what entries are to be held by this database. You should set this to the DN of the root of the subtree you are trying to create. For example -E: suffix "dc=example, dc=com" +> suffix "dc=example, dc=com" You should be sure to specify a directory where the index files should be created: -E: directory +> directory For example: -E: directory /usr/local/var/openldap-ldbm +> directory /usr/local/var/openldap-ldbm You need to create this directory with appropriate permissions such that slapd can write to it. You need to make it so you can connect to slapd as directory user -with permission to add entries. You can configure the directory +with permission to add entries. You can configure the directory to support a special {{super-user}} or {{root}} user just for -this purpose. This is done through the following two options +this purpose. This is done through the following two options in the database definition: -E: rootdn -E: rootpw +> rootdn +> rootpw For example: -E: rootdn "cn=Manager, dc=example, dc=com" -E: rootpw secret +> rootdn "cn=Manager, dc=example, dc=com" +> rootpw secret These options specify a DN and password that can be used to authenticate as the {{super-user}} entry of the database (i.e., -the entry allowed to do anything). The DN and password +the entry allowed to do anything). The DN and password specified here will always work, regardless of whether the entry named actually exists or has the password given. This solves the chicken-and-egg problem of how to authenticate @@ -76,14 +76,14 @@ and add entries before any entries yet exist. Finally, you should make sure that the database definition contains the index definitions you want: -E: index { | default} [pres,eq,approx,sub,none] +> index { | default} [pres,eq,approx,sub,none] For example, to index the cn, sn, uid and objectclass attributes the following index configuration lines could be used. -E: index cn,sn,uid -E: index objectclass pres,eq +> index cn,sn,uid +> index objectclass pres,eq See Section 4 on the configuration file for more details on this option. Once you have configured things to your liking, @@ -93,22 +93,22 @@ followed by a Postmaster entry using the {{I:ldapadd}} tool, you could create an {{TERM:LDIF}} file called {{EX:entries.ldif}} with the contents: -E: dc=example, dc=com -E: objectClass=dcObject -E: objectClass=organization -E: dc=example -E: o=Example Corporation -E: description=The Example Corporation -E: -E: cn=Postmaster, dc=example, dc=com -E: objectClass=organizationalRole -E: cn=Postmaster -E: description=OpenLDAP Postmaster +> dc=example, dc=com +> objectClass=dcObject +> objectClass=organization +> dc=example +> o=Example Corporation +> description=The Example Corporation +> +> cn=Postmaster, dc=example, dc=com +> objectClass=organizationalRole +> cn=Postmaster +> description=OpenLDAP Postmaster and then use a command like this to actually create the entry: -E: ldapadd -f entries.ldif -x -D "cn=Manager, dc=example, dc=com" -w secret +> ldapadd -f entries.ldif -x -D "cn=Manager,dc=example,dc=com" -w secret The above command assumes settings provided in the above examples. @@ -122,206 +122,216 @@ best if you have many thousands of entries to create, which would take an unacceptably long time using the LDAP method described above. These tools read the slapd configuration file and an input file containing a text -representation of the entries to add. For database types which +representation of the entries to add. For database types which support the tools, they produce the database files directly (otherwise you must use the on-line method above). There are several important configuration options you will want to be sure and set in the config file database definition first: -E: suffix +> suffix As described in the preceding section, this option says what entries are to be held by this database. You should set this to the DN of the root of the subtree you are trying to create. For example -E: suffix "dc=example, dc=com" +> suffix "dc=example, dc=com" You should be sure to specify a directory where the index files should be created: -E: directory +> directory For example: -E: directory /usr/local/var/openldap-ldbm +> directory /usr/local/var/openldap-ldbm Finally, you need to specify which indexes you want to build. This is done by one or more index options. -E: index { | default} [pres,eq,approx,sub,none] +> index { | default} [pres,eq,approx,sub,none] For example: -E: index cn,sn,uid pres,eq,approx -E: index objectClass eq +> index cn,sn,uid pres,eq,approx +> index objectClass eq This would create presence, equality and approximate indexes for the cn, sn, and uid attributes and an equality -index for the objectClass attribute. See the configuration +index for the objectClass attribute. See the configuration file section for more information on this option. -H3: The {{EX: slapadd}} program +H3: The {{EX:slapadd}} program Once you've configured things to your liking, you create the primary database and associated indexes by running the {{slapadd}}(8) program: -E: slapadd -l -f -E: [-d ] [-n |-b ] +> slapadd -l -f +> [-d ] [-n |-b ] The arguments have the following meanings: -E: -l +> -l Specifies the LDIF input file containing the entries to add in text form (described below in Section 8.3). -E: -f +> -f Specifies the slapd configuration file that tells where to create the indexes, what indexes to create, etc. -E: -d +> -d -Turn on debugging, as specified by {{EX: }}. The +Turn on debugging, as specified by {{EX:}}. The debug levels are the same as for slapd (see Section 6.1). -E: -n +> -n An optional argument that specifies the configuration file database for which to build. The first database listed is "1", the second "2", etc. By default, the first ldbm database -in the configuration file is used. Should not be used in +in the configuration file is used. Should not be used in conjunction with {{EX:-b}}. -E: -b +> -b An optional argument that specifies the configuration file -database for which to build. The provided suffix is matched +database for which to build. The provided suffix is matched against database {{EX:suffix}} to determine the database -number. Should not be used in conjunction with {{EX:-n}}. +number. Should not be used in conjunction with {{EX:-n}}. -H3: The {{EX: ldif2index}} program +H3: The {{EX:slapindex}} program Sometimes it may be necessary to regenerate indices (such -as after modifying {{slapd.conf}}(5)). This is possible using -the {{slapindex}}(8) program. {{EX: slapindex}} is invoked +as after modifying {{slapd.conf}}(5)). This is possible using +the {{slapindex}}(8) program. {{EX:slapindex}} is invoked like this -E: slapindex -f -E: [-d ] [-n |-b ] +> slapindex -f +> [-d ] [-n |-b ] Where the -f, -d, -n and -b options are the same as for the -{{slapadd}}(1) program. slapindex rebuilds all indices based +{{slapadd}}(1) program. slapindex rebuilds all indices based upon the current database contents. -H3: The {{EX: slapcat}} program +H3: The {{EX:slapcat}} program -The {{EX: slapcat}} program is dump the database to a {{TERM:LDIF}} -file. This can be useful when you want to make a human-readable +The {{EX:slapcat}} program is dump the database to a {{TERM:LDIF}} +file. This can be useful when you want to make a human-readable backup of your database or for editing your database off-line. The program is invoked like this: -E: slapcat -l -f -E: [-d ] [-n |-b ] +> slapcat -l -f +> [-d ] [-n |-b ] where -n or -b is used to select the database in the slapd.conf(5) -specified using -f. The corresponding LDIF output is written to +specified using -f. The corresponding LDIF output is written to standard output or to the file specified using the -l option. -H3: The {{EX: ldif}} program +H3: The {{EX:ldif}} program -The ldif program is used to convert arbitrary data values to -LDIF format. This can be useful when writing a program or -script to create the LDIF file you will feed into the ldif2ldbm -program, or when writing a SHELL backend. ldif takes an +The {{ldif}}(1) program is used to convert arbitrary data values to +{{TERM:LDIF}} format. This can be useful when writing a program or +script to create the LDIF file you will feed into the {{slapadd}}(8) +or {{ldapadd}}(1) program, or when writing a SHELL backend. ldif takes an attribute name as an argument, and reads the attribute value(s) from standard input. It produces the LDIF formatted attribute line(s) on standard output. The usage is: -E: ldif [-b] +> ldif [-b] -where {{EX: }} is the name of the attribute. Without the +where {{EX:}} is the name of the attribute. Without the -b option, ldif considers each line of standard input to be a separate value of the attribute. The -b option can be used to force ldif to interpret its input as a single raw binary value. This option is useful when -converting binary data such as a {{EX: jpegPhoto}} or {{EX: audio}} +converting binary data such as a {{EX:jpegPhoto}} or {{EX:audio}} attribute. H2: The LDIF text entry format -The LDAP Data Interchange Format (LDIF) is used to -represent LDAP entries in a simple text format. The basic -form of an entry is: +The LDAP Data Interchange Format (LDIF) is used to represent LDAP +entries in a simple text format. The basic form of an entry is: -E: [] -E: dn: -E: : -E: : -E: -E: ... +> # comment +> dn: +> : +> : +> +> ... -where {{EX: }} is the optional entry ID (a positive decimal -number). Normally, you would not supply the {{EX: }}, allowing -the database creation tools to do that for you. The ldbmcat -program, however, produces an LDIF format that includes -{{EX: }} so that new indexes created will be consistent. +Lines starting with '{{EX:#}}' character are +comments. An attribute description may be a simple attribute +type like {{EX:cn}} or {{objectClass}} or {{1.2.3}} (an {{TERM:OID}} +associated with an attribute type) or may include options such +as {{EX:cn;lang_en_US}} or {{EX:userCertificate;binary}}. A line may be continued by starting the next line with a -single space or tab character. e.g., +{{single}} space or tab character. e.g., -E: dn: cn=Barbara J Jensen, dc=example, dc=com +> dn: cn=Barbara J Jensen, dc=example, dc= +> com +> cn: Barbara J +> Jensen + +which is equivalent to: +> dn: cn=Barbara J Jensen, dc=example, dc=com +> cn: Barbara J Jensen Multiple attribute values are specified on separate lines. e.g., -E: cn: Barbara J Jensen -E: cn: Babs Jensen +> cn: Barbara J Jensen +> cn: Babs Jensen -If an {{EX: }} contains a non-printing character, or -begins with a space or a colon `:', the {{EX: }} is followed +If an {{EX:}} contains a non-printing character, or +begins with a space or a colon '{{EX::}}', the {{EX:}} is followed by a double colon and the value is encoded in base 64 -notation. e.g., the value " begins with a space" would be +notation. e.g., the value {{EX:" begins with a space"}} would be encoded like this: -E: cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U= +> cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U= Multiple entries within the same LDIF file are separated by blank lines. Here's an example of an LDIF file containing three entries. -E: dn: cn=Barbara J Jensen, dc=example, dc=com -E: cn: Barbara J Jensen -E: cn: Babs Jensen -E: objectclass: person -E: sn: Jensen -E: -E: dn: cn=Bjorn J Jensen, dc=example, dc=com -E: cn: Bjorn J Jensen -E: cn: Bjorn Jensen -E: objectclass: person -E: sn: Jensen -E: -E: dn: cn=Jennifer J Jensen, dc=example, dc=com -E: cn: Jennifer J Jensen -E: cn: Jennifer Jensen -E: objectclass: person -E: sn: Jensen -E: jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD -E: A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ -E: ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG -E: -E: ... - -Notice that the {{EX: jpegPhoto}} in Jennifer Jensen's entry is -encoded using base 64. The {{EX: ldif}} program (described in -Section 8.2.6) can be used to produce the LDIF format. +> # First Entry +> dn: cn=Barbara J Jensen, dc=example, dc=com +> cn: Barbara J Jensen +> cn: Babs Jensen +> objectclass: person +> sn: Jensen +> +> # Second Entry +> dn: cn=Bjorn J Jensen, dc=example, dc=com +> cn: Bjorn J Jensen +> cn: Bjorn Jensen +> objectclass: person +> sn: Jensen +> +> # Third Entry +> dn: cn=Jennifer J Jensen, dc=example, dc=com +> cn: Jennifer J Jensen +> cn: Jennifer Jensen +> objectclass: person +> sn: Jensen +> # Base64 encoded JPEG photo +> jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD +> A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ +> ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG + +Notice that the {{EX:jpegPhoto}} in Jennifer Jensen's entry is +encoded using base 64. The {{ldif}}(1) program (described in +Section 8.2.6) can be used to produce an attribute +description/base64-value pair suitable for inclusion in an +LDIF file. Note: Trailing spaces are not trimmed from values in an LDIF file. Nor are multiple internal spaces compressed. If diff --git a/doc/guide/admin/install.sdf b/doc/guide/admin/install.sdf index 71302bf98c..ed5ba19303 100644 --- a/doc/guide/admin/install.sdf +++ b/doc/guide/admin/install.sdf @@ -160,7 +160,7 @@ LIBS Specify additional libraries Now run the configure script with any desired configure options or environment variables. -.{{EX: [[env] settings] ./configure [options]}} +> [[env] settings] ./configure [options] As an example, lets assume that we want a copy of OpenLDAP configured to use the LDBM backend, and the shell backend. The LDBM backend is turned on by default, so we don't need to do anything special to enable it. @@ -176,9 +176,9 @@ The following example shows how to run {{EX:configure}} and specify where to find BerkeleyDB and turn on the DNSSRV backend. The example should be entered on a single line (it has been split onto seperate lines for clarity.) -.{{EX: env CPPFLAGS="-I/usr/local/BerkeleyDB.3.1/include" \ }} -..{{EX: LDFLAGS="-L/usr/local/BerkeleyDB.3.1/lib" \ }} -..{{EX: ./configure --enable-dnssrv}} +> env CPPFLAGS="-I/usr/local/BerkeleyDB.3.1/include" \ +> LDFLAGS="-L/usr/local/BerkeleyDB.3.1/lib" \ +> ./configure --enable-dnssrv Note: Some shells, such as those derived from the Bourne {{sh}}(1), do not require use of the {{env}}(1) command. In some cases, environmental @@ -194,16 +194,16 @@ H2: Building the Software Once you have run the {{EX:configure}} script the last line of output should be: -.{{EX:Please "make depend" to build dependencies}} +> Please "make depend" to build dependencies If the last line of output does not match, {{EX:configure}} has failed. You should not proceed until {{EX:configure}} completes sucessfuly. To build dependencies, run: -.{{EX: make depend}} +> make depend Now build the software, this step will actually compile OpenLDAP. -.{{EX: make}} +> make You should examine the output of this command carefully to make sure everything is built correctly. Note that this command builds the LDAP @@ -214,7 +214,7 @@ H2: Testing the Software Once the software has been properly configured and successfully made, you should run the test suite to verify the build. -.{{EX: make test}} +> make test The test will run a number of tests. @@ -230,7 +230,7 @@ in the location you provided. Typically, the installation is done as {{root}}. From the top level OpenLDAP source directory, type: -.{{EX: make install}} +> make install You should examine the output of this command carefully to make sure everything is installed correctly. You will find the configuration files diff --git a/doc/guide/admin/intro.sdf b/doc/guide/admin/intro.sdf index 3269e700f1..931a0e3513 100644 --- a/doc/guide/admin/intro.sdf +++ b/doc/guide/admin/intro.sdf @@ -61,7 +61,7 @@ entry's attributes has a {{type}} and one or more {{values}}. The types are typically mnemonic strings, like "{{EX:cn}}" for common name, or "{{EX:mail}}" for email address. The syntax of values depend on the attribute type is. For example, {{EX:cn}} attribute might -be the value {{EX: Babs Jensen}}. A {{EX:mail}} attribute might +be the value {{EX:Babs Jensen}}. A {{EX:mail}} attribute might contain the value "{{EX:babs@example.com}}". A {{EX:jpegPhoto}} attribute would contain a photograph in the JPEG (binary) format. diff --git a/doc/guide/admin/preface.sdf b/doc/guide/admin/preface.sdf index d22c37a7d4..dc2e624f10 100644 --- a/doc/guide/admin/preface.sdf +++ b/doc/guide/admin/preface.sdf @@ -9,9 +9,9 @@ P1: Preface # document's copyright P2[notoc] Copyright -Copyright 1998-2000, The {{ORG[expand]OLF}}, All Rights Reserved. +Copyright 1998-2000, The {{ORG[expand]OLF}}, {{All Rights Reserved}}. -Copyright 1992-1996, Regents of the {{ORG[expand]UM}}, All Rights Reserved. +Copyright 1992-1996, Regents of the {{ORG[expand]UM}}, {{All Rights Reserved}}. P2[notoc] Acknowledgements @@ -21,5 +21,18 @@ would not be possible without their contribution of time and energy. The OpenLDAP Project would also like to thank the {{ORG[expand]UMLDAP}} for building the foundation of LDAP software and information -to which we build upon. +to which OpenLDAP Software is built upon. + +P2[notoc] Amendments + +Suggested enhancements and corrections to this document should +be submitted using the {{ORG:OpenLDAP}} +{{TERM[expand]ITS}} ({{URL: http://www.openldap.org/its/}}. + + +P2[notoc] About this document + +This document was produced using the +{{Simple Document Format}} ({{URL:http://www.mincom.com/mtr/sdf/}}) +documentation system developed by {{Ian Clatworthy}}. diff --git a/doc/guide/admin/referrals.sdf b/doc/guide/admin/referrals.sdf index 418d90f5ac..5826826a90 100644 --- a/doc/guide/admin/referrals.sdf +++ b/doc/guide/admin/referrals.sdf @@ -40,11 +40,11 @@ and wished to delegate the subtree {{EX:ou=subtree,dc=example,dc=net}} to another server {{EX:b.example.net}}, the following named referral object would be added to {{a.example.net}}: -E: dn: dc=subtree, dc=example, dc=net -E: objectClass: referral -E: objectClass: extensibleObject -E: dc: subtree -E: ref: ldap://b.example.net/dc=subtree,dc=example,dc=net/ +> dn: dc=subtree, dc=example, dc=net +> objectClass: referral +> objectClass: extensibleObject +> dc: subtree +> ref: ldap://b.example.net/dc=subtree,dc=example,dc=net/ The server uses this information to generate referrals and search continuations to subordinate servers. @@ -64,10 +64,10 @@ Extending the example above, a {{ref}} attribute can be added to the entry {{EX:dc=subtree,dc=example,dc=net}} in server B indicating that A holds the immediate superior naming context. -E: dn: dc=subtree, dc=example, dc=net -E: changetype: modify -E: add: ref -E: ref: ldap://a.example.net/ +> dn: dc=subtree, dc=example, dc=net +> changetype: modify +> add: ref +> ref: ldap://a.example.net/ The server uses this information to generate referrals to management operations. @@ -88,13 +88,13 @@ above, the server can be configured to use directory service with {{global knowledge}}, such as the {{OpenLDAP Root Service}} (http://www.openldap.org/faq/index.cgi?file=393). -E: referral ldap://root.openldap.org/ +> referral ldap://root.openldap.org/ However, as {{EX:a.example.net}} is the {{immediate superior}} to {{EX:b.example.net}}, {{a.example.net}} would be configured as follows: -E: referral ldap://a.example.net/ +> referral ldap://a.example.net/ The server uses this information to generate referrals to operations acting upon operations not within or subordinate @@ -115,11 +115,11 @@ for requests to introgating or updating referral objects. The -M option of {{ldapmodify}}(1) (and other tools) enables ManageDsaIT. For example: -E: ldapmodify -M -f referral.ldif -x -D "cn=Manager,dc=example,dc=net" -W +> ldapmodify -M -f referral.ldif -x -D "cn=Manager,dc=example,dc=net" -W -or with ldapsearch: +or with {{ldapsearch}}(1): -E: ldapsearch -M -b "dc=example,dc=net" -x "(objectclass=referral)" '*' ref +> ldapsearch -M -b "dc=example,dc=net" -x "(objectclass=referral)" '*' ref Note: the {{EX:ref}} attribute is operational and must be explicitly requested when desired in search results. diff --git a/doc/guide/admin/replication.sdf b/doc/guide/admin/replication.sdf index abc30999ce..949b886a1b 100644 --- a/doc/guide/admin/replication.sdf +++ b/doc/guide/admin/replication.sdf @@ -71,19 +71,19 @@ Changes to various operational attributes, such as {{EX:modifiersName}} and {{EX:modifyTimestamp}}, are included in the change record and will be propagated to the slave slapd. -E: replica: slave.example.com:389 -E: time: 809618633 -E: dn: uid=bjensen, dc=example, dc=com -E: changetype: modify -E: replace: multiLineDescription -E: description: A dreamer... -E: - -E: replace: modifiersName -E: modifiersName: uid=bjensen, dc=example, dc=com -E: - -E: replace: modifyTimestamp -E: modifyTimestamp: 20000805073308Z -E: - +> replica: slave.example.com:389 +> time: 809618633 +> dn: uid=bjensen, dc=example, dc=com +> changetype: modify +> replace: multiLineDescription +> description: A dreamer... +> - +> replace: modifiersName +> modifiersName: uid=bjensen, dc=example, dc=com +> - +> replace: modifyTimestamp +> modifyTimestamp: 20000805073308Z +> - The modifications to {{EX:modifiersName}} and {{EX:modifyTimestamp}} operational attributes were added by the master {{slapd}}. @@ -94,7 +94,7 @@ H2: Command-Line Options {{slurpd}}(8) supports the following command-line options. -E: -d | ? +> -d | ? This option sets the slurpd debug level to {{EX: }}. When level is a `?' character, the various debugging levels are @@ -102,24 +102,23 @@ printed and slapd exits, regardless of any other options you give it. Current debugging levels (a subset of slapd's debugging levels) are - -E: 4 heavy trace debugging -E: 64 configuration file processing -E: 65535 enable all debugging +> 4 heavy trace debugging +> 64 configuration file processing +> 65535 enable all debugging Debugging levels are additive. That is, if you want heavy trace debugging and want to watch the config file being processed, you would set level to the sum of those two levels (in this case, 68). -E: -f +> -f This option specifies an alternate slapd configuration file. Slurpd does not have its own configuration file. Instead, all configuration information is read from the slapd configuration file. -E: -r +> -r This option specifies an alternate slapd replication log file. Under normal circumstances, slurpd reads the name of @@ -129,7 +128,7 @@ cause slurpd to process a different replication log file. See section 10.5, Advanced slurpd Operation, for a discussion of how you might use this option. -E: -o +> -o Operate in "one-shot" mode. Under normal circumstances, when slurpd finishes processing a @@ -140,12 +139,12 @@ replication log and exits immediately. If the -o option is given, the replication log file must be explicitly specified with the -r option -E: -t +> -t Specify an alternate directory for slurpd's temporary copies of replication logs. The default location is /usr/tmp. -E: -k +> -k When slurpd uses kerberos to authenticate to slave slapd instances, it needs to have an appropriate srvtab file for @@ -159,7 +158,6 @@ more complete discussion of using kerberos with slapd and slurpd may be found in Appendix D. - H2: Configuring slurpd and a slave slapd instance To bring up a replica slapd instance, you must configure @@ -228,7 +226,6 @@ time, the master slapd will return an "unwilling to perform" error to clients that attempt to modify data. - H3: Copy the master slapd's database to the slave Copy the master's database(s) to the slave. For an @@ -254,9 +251,9 @@ config file. For example, if we wish to propagate changes to the slapd instance running on host slave.example.com: -E: replica host=slave.example.com:389 -E: binddn="cn=Replicator,dc=example,dc=com" -E: bindmethod=simple credentials=secret +> replica host=slave.example.com:389 +> binddn="cn=Replicator,dc=example,dc=com" +> bindmethod=simple credentials=secret In this example, changes will be sent to port 389 (the standard LDAP port) on host slave.example.com. The slurpd @@ -281,7 +278,6 @@ entry in the database, and check that data has been written to the log file. - H3: Start slurpd Start the slurpd process. Slurpd should immediately send @@ -289,7 +285,7 @@ the test modification you made to the slave slapd. Watch the slave slapd's logfile to be sure that the modification was sent. -{{EX: slurpd -f }} +> slurpd -f @@ -306,24 +302,24 @@ string ".rej" appended. For example, for a replica running on host slave.example.com, port 389, the reject file, if it exists, will be named -E: /usr/local/var/openldap/replog.slave.example.com:389. +> /usr/local/var/openldap/replog.slave.example.com:389. A sample rejection log entry follows: -E: ERROR: No such attribute -E: replica: slave.example.com:389 -E: time: 809618633 -E: dn: uid=bjensen, dc=example, dc=com -E: changetype: modify -E: replace: description -E: description: A dreamer... -E: - -E: replace: modifiersName -E: modifiersName: uid=bjensen, dc=example, dc=com -E: - -E: replace: modifyTimestamp -E: modifyTimestamp: 20000805073308Z -E: - +> ERROR: No such attribute +> replica: slave.example.com:389 +> time: 809618633 +> dn: uid=bjensen, dc=example, dc=com +> changetype: modify +> replace: description +> description: A dreamer... +> - +> replace: modifiersName +> modifiersName: uid=bjensen, dc=example, dc=com +> - +> replace: modifyTimestamp +> modifyTimestamp: 20000805073308Z +> - Note that this is precisely the same format as the original replication log entry, but with an ERROR line prepended to @@ -349,7 +345,7 @@ to process the rejection log file {{F:/usr/local/var/openldap/replog.slave.example.com:389}} and exit, use the command -E: slurpd -r /usr/tmp/replog.slave.example.com:389 -o +> slurpd -r /usr/tmp/replog.slave.example.com:389 -o H2: Replication from a slapd directory server to an X.500 DSA @@ -365,7 +361,8 @@ X.500 DSA, slurpd runs on the master slapd host, and sends changes to an ldapd which acts as a gateway to the X.500 DSA: -!import "replication.gif"; align="center"; title="Replication from slapd to an X.500 DSA" +!import "replication.gif"; align="center"; \ + title="Replication from slapd to an X.500 DSA" FT: Figure 6: Replication from slapd to an X.500 DSA Note that the X.500 DSA must be a read-only copy. Since diff --git a/doc/guide/admin/runningslapd.sdf b/doc/guide/admin/runningslapd.sdf index 8bd442add0..8bce94ba93 100644 --- a/doc/guide/admin/runningslapd.sdf +++ b/doc/guide/admin/runningslapd.sdf @@ -14,20 +14,21 @@ H2: Command-Line Options {{slapd}}(8) supports a number of command-line options as detailed in manual page. This section details a few commonly used options. -E: -f +> -f This option specifies an alternate configuration file for slapd. The default is normally {{F:/usr/local/etc/openldap/slapd.conf}}. -E: -d | ? +> -d | ? This option sets the slapd debug level to . When level is a `?' character, the various debugging levels are printed and slapd exits, regardless of any other options you give it. Current debugging levels are -!block table; colaligns="RL"; align=Center; title="Table 6.1: Debugging Levels" +!block table; colaligns="RL"; align=Center; \ + title="Table 6.1: Debugging Levels" Level Description -1 enable all debugging 0 no debugging @@ -63,7 +64,7 @@ H2: Starting slapd In general, slapd is run like this: -E: /usr/local/etc/libexec/slapd [