Clean up references to copyright file in doc sources
This patch has the side effect of removing some trailing spaces.
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2013 ForgeRock AS |
| | | ! |
| | | ! Copyright 2013-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | <section name="Get the OpenDJ LDAP SDK"> |
| | | <p> |
| | | You can start developing your LDAP applications now by obtaining the |
| | | OpenDJ LDAP SDK using any of the following methods: |
| | | OpenDJ LDAP SDK using any of the following methods: |
| | | </p> |
| | | <subsection name="Maven"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2013 ForgeRock AS |
| | | ! |
| | | ! Copyright 2013-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | <section name="Get ${project.name}"> |
| | | <p> |
| | | Start developing your applications by obtaining ${project.name} |
| | | using any of the following methods: |
| | | using any of the following methods: |
| | | </p> |
| | | <subsection name="Maven"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | </section> |
| | | <section name="Get ${project.name}"> |
| | | <p> |
| | | You can get ${project.name} using any of the following methods: |
| | | You can get ${project.name} using any of the following methods: |
| | | </p> |
| | | <subsection name="Download"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | </section> |
| | | <section name="Get ${project.name}"> |
| | | <p> |
| | | You can get ${project.name} using any of the following methods: |
| | | You can get ${project.name} using any of the following methods: |
| | | </p> |
| | | <subsection name="Download"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2013 ForgeRock AS |
| | | ! |
| | | ! Copyright 2013-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | <section name="Get ${project.name}"> |
| | | <p> |
| | | Start developing your applications by obtaining ${project.name} |
| | | using any of the following methods: |
| | | using any of the following methods: |
| | | </p> |
| | | <subsection name="Maven"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2013 ForgeRock AS |
| | | ! |
| | | ! Copyright 2013-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | <section name="Get ${project.name}"> |
| | | <p> |
| | | Start developing your applications by obtaining ${project.name} |
| | | using any of the following methods: |
| | | using any of the following methods: |
| | | </p> |
| | | <subsection name="Maven"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | <section name="Get ${project.name}"> |
| | | <p> |
| | | Start developing your applications by obtaining ${project.name} |
| | | using any of the following methods: |
| | | using any of the following methods: |
| | | </p> |
| | | <subsection name="Maven"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2012-2013 ForgeRock AS |
| | | ! |
| | | ! Copyright 2012-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <appendix xml:id='appendix-log-messages' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-account-lockout' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | http://docbook.org/xml/5.0/xsd/docbook.xsd' |
| | | xmlns:xlink='http://www.w3.org/1999/xlink'> |
| | | <title>Implementing Account Lockout & Notification</title> |
| | | |
| | | |
| | | <para>OpenDJ directory server supports automatic account lockout. |
| | | The aim of account lockout is not to punish users who mistype their |
| | | passwords, but instead to protect the directory against attacks |
| | |
| | | lockout, you can opt to have OpenDJ directory server unlock the account |
| | | again after a specified interval, or you can leave the account locked |
| | | until the password is reset.</para> |
| | | |
| | | |
| | | <note> |
| | | <para>When you configure account lockout as part of password policy, OpenDJ |
| | | locks an account after the specified number of consecutive authentication |
| | |
| | | access to multiple replicas could try to authenticate up to the specified |
| | | number of times on each replica before being locked out on all replicas.</para> |
| | | </note> |
| | | |
| | | |
| | | <para> |
| | | This chapter shows you how to set up account lockout policies by using the |
| | | <link |
| | |
| | | xlink:role="http://docbook.org/xlink/role/olink" |
| | | ><command>manage-account</command></link> command. |
| | | </para> |
| | | |
| | | |
| | | <section xml:id="configure-account-lockout"> |
| | | <title>Configuring Account Lockout</title> |
| | | <indexterm><primary>Accounts</primary><secondary>Lockout</secondary></indexterm> |
| | |
| | | demonstrates configuring account lockout as part of the default password |
| | | policy. Users are allowed three consecutive failures before being locked out |
| | | for five minutes. Failures themselves also expire after five minutes.</para> |
| | | |
| | | |
| | | <para>Change the default password policy to activate lockout using the |
| | | <command>dsconfig</command> command. As the password policy is part of |
| | | the server configuration, you must manually apply the changes to each |
| | | replica in a replication topology.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-password-policy-prop \ |
| | |
| | | |
| | | <para>Users having the default password policy are then locked out after |
| | | three failed attempts in succession.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch \ |
| | | --port 1389 \ |
| | |
| | | Result Code: 49 (Invalid Credentials)</computeroutput> |
| | | </screen> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="manage-accounts"> |
| | | <title>Managing Accounts Manually</title> |
| | | |
| | | |
| | | <para>This section covers disabling and enabling accounts by using the |
| | | <command>manage-account</command> command. Password reset is covered in |
| | | the chapter on performing LDAP operations.</para> |
| | | |
| | | |
| | | <para>For the following examples, the directory admin user, Kirsten Vaughan, |
| | | has <literal>ds-privilege-name: password-reset</literal>, and the following |
| | | ACI on <literal>ou=People,dc=example,dc=com</literal>.</para> |
| | |
| | | version 3.0;acl "Admins can run amok"; allow(all) groupdn = |
| | | "ldap:///cn=Directory Administrators,ou=Groups,dc=example,dc=com";) |
| | | </programlisting> |
| | | |
| | | |
| | | <procedure xml:id="disable-account"> |
| | | <title>To Disable an Account</title> |
| | | <indexterm> |
| | |
| | | <step> |
| | | <para>Set the account status to disabled with the |
| | | <command>manage-account</command> command.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>manage-account \ |
| | | set-account-is-disabled \ |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="reactivate-account"> |
| | | <title>To Activate a Disabled Account</title> |
| | | <indexterm> |
| | |
| | | <step> |
| | | <para>Clear the disabled status using the <command>manage-account</command> |
| | | command.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>manage-account \ |
| | | clear-account-is-disabled \ |
| | |
| | | </step> |
| | | </procedure> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="account-status-notification"> |
| | | <title>Managing Account Status Notification</title> |
| | | <indexterm> |
| | |
| | | SMTP server to send messages, and needs templates for the mail it sends. |
| | | By default, message templates are in English, under |
| | | <filename>/path/to/opendj/config/messages/</filename>.</para> |
| | | |
| | | |
| | | <para>OpenDJ generates notifications only when OpenDJ writes to an entry or |
| | | evaluates a user entry for authentication. OpenDJ generates account enabled |
| | | and account disabled notifications when the user account is enabled or |
| | | disabled with the <command>manage-account</command> command, which writes |
| | | to the entry. OpenDJ generates password expiration notifications when a |
| | | user tries to bind.</para> |
| | | |
| | | |
| | | <para>For example, if you set up OpenDJ to send a notification about password |
| | | expiration, that notification gets triggered when the user authenticates |
| | | during the password expiration warning interval. OpenDJ does not |
| | |
| | | xlink:role="http://docbook.org/xlink/role/olink"><citetitle>LDAP |
| | | Controls</citetitle></link> for a list. You can send notifications then |
| | | based on the results of your search.</para> |
| | | |
| | | |
| | | <procedure xml:id="mail-account-status-notifications"> |
| | | <title>To Mail Users About Account Status</title> |
| | | |
| | | |
| | | <para>The following steps demonstrate how to set up notifications. Whether |
| | | OpenDJ sends notifications depends on the settings in the password policy, |
| | | and on account activity as described above.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Identify the SMTP server to which OpenDJ sends messages.</para> |
| | | |
| | |
| | | --no-prompt</userinput> |
| | | </screen> |
| | | </step> |
| | | |
| | | |
| | | <step> |
| | | <para>Set up OpenDJ to be able to mail users about account status.</para> |
| | | |
| | |
| | | <filename>config/messages</filename> directory. You can edit the templates |
| | | to suit your purposes.</para> |
| | | </step> |
| | | |
| | | |
| | | <step> |
| | | <para>Adjust applicable password policies to use the account status |
| | | notification handler you configured.</para> |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <variablelist xml:id="about-message-templates"> |
| | | <title>About Notification Message Templates</title> |
| | | <indexterm> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-admin-tools' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | <para>OpenDJ server software installs with a cross-platform, Java Swing-based |
| | | Control Panel for many day-to-day tasks. OpenDJ server software also installs |
| | | command-line tools for configuration and management tasks.</para> |
| | | |
| | | |
| | | <para>This chapter is one of the few to include screen shots of the control |
| | | panel. Most examples make use of the command-line tools. Once you understand |
| | | the concepts, and how to perform a task using the command-line tools, you |
| | |
| | | <para>At a protocol level, administration tools and interfaces connect to |
| | | servers through a different network port than that used to listen for traffic |
| | | from other client applications.</para> |
| | | |
| | | |
| | | <para>This chapter takes a quick look at the tools for managing directory |
| | | services.</para> |
| | | |
| | | |
| | | <section xml:id="control-panel"> |
| | | <title>Control Panel</title> |
| | | <indexterm><primary>Control panel</primary></indexterm> |
| | |
| | | managing both local and remote servers. You choose the server to manage |
| | | when you start the Control Panel. The Control Panel connects to the |
| | | administration server port, making a secure LDAPS connection.</para> |
| | | |
| | | |
| | | <itemizedlist> |
| | | <para> |
| | | Start OpenDJ Control Panel by running the |
| | |
| | | <para>(Mac OS X) Double-click <filename>/path/to/opendj/bin/ControlPanel.app</filename>.</para> |
| | | </listitem> |
| | | </itemizedlist> |
| | | |
| | | |
| | | <para>When you login to OpenDJ Control Panel, you authenticate over LDAP. |
| | | This means that if users can run the Control Panel, they can use it to manage |
| | | a running server. Yet, to start and stop the server process through OpenDJ |
| | |
| | | runs, as the user who owns the OpenDJ server files (such as the user who |
| | | installed OpenDJ). In other words, the OpenDJ Control Panel does not do |
| | | remote process management.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-opendj-control-panel"> |
| | | <imageobject> |
| | | <imagedata fileref="images/OpenDJ-Control-Panel.png" format="PNG" /> |
| | |
| | | </listitem> |
| | | </varlistentry> |
| | | </variablelist> |
| | | |
| | | |
| | | </section> |
| | | |
| | | <xinclude:include href="../shared/sec-cli-overview.xml" /> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-attribute-uniqueness' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | http://docbook.org/xml/5.0/xsd/docbook.xsd' |
| | | xmlns:xlink='http://www.w3.org/1999/xlink'> |
| | | <title>Implementing Attribute Value Uniqueness</title> |
| | | |
| | | |
| | | <para>Some attribute values ought to remain unique. If you are using |
| | | <literal>uid</literal> values as RDNs to distinguish between millions of |
| | | user entries stored under <literal>ou=People</literal>, then you do not |
| | |
| | | stored as an attribute value on your directory entry, you certainly do not |
| | | want to share that credit card or mobile number with another customer. |
| | | The same is true for your email address.</para> |
| | | |
| | | |
| | | <indexterm><primary>Unique attribute values</primary></indexterm> |
| | | |
| | | |
| | | <para>The difficulty for you as directory administrator lies in |
| | | implementing attribute value uniqueness without sacrificing the high |
| | | availability that comes from using OpenDJ's loosely consistent, |
| | |
| | | |
| | | <procedure xml:id="enable-unique-uids"> |
| | | <title>To Enable Unique UIDs</title> |
| | | |
| | | |
| | | <para>OpenDJ provides a unique attribute plugin that you configure by using |
| | | the <command>dsconfig</command> command. By default, the plugin is prepared |
| | | to ensure attribute values are unique for <literal>uid</literal> |
| | | attributes.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Set the base DN where <literal>uid</literal> should have unique |
| | | values, and enable the plugin.</para> |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="enable-unique-attributes"> |
| | | <title>To Enable Unique Values For Other Attributes</title> |
| | | |
| | | |
| | | <para>You can also configure the unique attribute plugin for use with |
| | | other attributes, such as <literal>mail</literal>, <literal>mobile</literal>, |
| | | or attributes you define, for example <literal>cardNumber</literal>.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Before you set up the plugin, index the attribute for equality.</para> |
| | | |
| | |
| | | separately write the same attribute value at the same time on different |
| | | directory replicas, it is possible that both servers consider the duplicate |
| | | value unique, especially if the network is down between the replicas.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Enable the plugin identically on all replicas.</para> |
| | | </step> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-backup-restore' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | to backup and to restore OpenDJ data from archives, and explains portability |
| | | of backup archives, as well as backing up server configuration |
| | | information.</para> |
| | | |
| | | |
| | | <section xml:id="backup"> |
| | | <title>Backing Up Directory Data</title> |
| | | <indexterm><primary>Backup</primary></indexterm> |
| | |
| | | OpenDJ, as a location to save binary backups. When you create a backup, |
| | | the <filename>bak/backup.info</filename> contains information about the |
| | | archive.</para> |
| | | |
| | | |
| | | <para>Archives produced by the <command>backup</command> command contain |
| | | backups only of the directory data. Backups of server configuration are |
| | | found in <filename>config/archived-configs/</filename>.</para> |
| | |
| | | </stepalternatives> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="schedule-backup"> |
| | | <title>To Schedule Data Backup</title> |
| | | |
| | | |
| | | <para>You can schedule online data backup using <command>crontab</command> |
| | | format.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Back up all user data every night at 2 AM, and notify |
| | | diradmin@example.com when finished, or on error.</para> |
| | |
| | | <primary>Restoring</primary> |
| | | <secondary>From backup</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>When you restore data, the procedure to follow depends on whether |
| | | the OpenDJ directory server is replicated.</para> |
| | | |
| | | |
| | | <procedure xml:id="restore-standalone-server"> |
| | | <title>To Restore a Stand-alone Server</title> |
| | | |
| | |
| | | </stepalternatives> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="restore-replica"> |
| | | <title>To Restore a Replica</title> |
| | | <indexterm> |
| | | <primary>Replication</primary> |
| | | <secondary>Restoring from backup</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>After you restore a replica from backup, replication brings the replica |
| | | up to date with changes that happened after you created the backup. In order |
| | | to bring the replica up to date, replication must apply changes that |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-chaining' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | between directory servers in your deployment.</para> |
| | | |
| | | </chapter> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-failover' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | the switch. This chapter describes how to carry out the configuration.</para> |
| | | |
| | | </chapter> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-indexing' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | <indexterm> |
| | | <primary>Indexes</primary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>OpenDJ provides several indexing schemes to speed up searches.</para> |
| | | |
| | | |
| | | <para>When a client requests a directory search operation, the client sends |
| | | the server a filter expression such as |
| | | <literal>(&(uid=*jensen*)(l=Stavanger))</literal>. The server then uses |
| | | applicable indexes to find entries with attribute values likely to match |
| | | the search. If no indexes are applicable, then the server potentially has |
| | | to go through all entries to look for candidate matches.</para> |
| | | |
| | | |
| | | <para>Looking through all entries is resource-intensive for large directories. |
| | | For this reason, the <literal>unindexed-search</literal> privilege, allowing |
| | | users to request searches for which no applicable index exists, is reserved |
| | | for the directory root user by default.</para> |
| | | |
| | | |
| | | <para>Rather than granting the <literal>unindexed-search</literal> privilege |
| | | to more users and client applications, you configure indexes to correspond |
| | | to the searches that clients need to perform. See |
| | | <xref linkend="debug-search-indexes" /> for details.</para> |
| | | |
| | | |
| | | <para>This chapter first describes index types, and demonstrates how to |
| | | index attribute values. This chapter also lists the default indexing |
| | | configuration for OpenDJ directory server.</para> |
| | | |
| | | |
| | | <section xml:id="indexes-overview"> |
| | | <title>Index Types & What Each Does</title> |
| | | |
| | | |
| | | <para>OpenDJ provides several different index types, each corresponding |
| | | to a different type of search.</para> |
| | | |
| | | |
| | | <section xml:id="indexes-approximate"> |
| | | <title>Approximate Index</title> |
| | | <indexterm> |
| | | <primary>Indexes</primary> |
| | | <secondary>Approximate</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>An approximate index is used to match values that "sound like" those |
| | | provided in the filter. An approximate index on <literal>cn</literal> |
| | | allows clients to find people even when they misspell names as in the |
| | | following example.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch --port 1389 --baseDN dc=example,dc=com "(cn~=Babs Jansen)" cn</userinput> |
| | | <computeroutput>dn: uid=bjensen,ou=People,dc=example,dc=com |
| | |
| | | cn: Babs Jensen</computeroutput> |
| | | </screen> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="indexes-equality"> |
| | | <title>Equality Index</title> |
| | | <indexterm> |
| | | <primary>Indexes</primary> |
| | | <secondary>Equality</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>An equality index is used to match values that correspond exactly |
| | | (though generally without case sensitivity) to the value provided in |
| | | the search filter. An equality index requires clients to match values |
| | | without wildcards or misspellings.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch --port 1389 --baseDN dc=example,dc=com "(uid=bjensen)" mail</userinput> |
| | | <computeroutput>dn: uid=bjensen,ou=People,dc=example,dc=com |
| | | mail: bjensen@example.com</computeroutput> |
| | | </screen> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="indexes-ordering"> |
| | | <title>Ordering Index</title> |
| | | <indexterm> |
| | | <primary>Indexes</primary> |
| | | <secondary>Ordering</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>An ordering index is used to match values for a filter that |
| | | specifies a range. The <literal>ds-sync-hist</literal> has an ordering |
| | | index by default because searches on that attribute often seek entries |
| | | with changes more recent than the last time a search was performed.</para> |
| | | |
| | | |
| | | <para>The following example shows a search that specifies ranges.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch --port 1389 --baseDN dc=example,dc=com \ |
| | | "(&(uidNumber>=1120)(roomNumber>=4500))" uid</userinput> |
| | |
| | | uid: pchassin</computeroutput> |
| | | </screen> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="indexes-presence"> |
| | | <title>Presence Index</title> |
| | | <indexterm> |
| | | <primary>Indexes</primary> |
| | | <secondary>Presence</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>A presence index is used to match the fact that an attribute is |
| | | present on the entry, regardless of the value. The <literal>aci</literal> |
| | | attribute is indexed for presence by default to allow quick retrieval |
| | | of entries with ACIs.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch --port 1389 --baseDN dc=example,dc=com "(aci=*)" -</userinput> |
| | | <computeroutput>dn: dc=example,dc=com |
| | |
| | | dn: ou=People,dc=example,dc=com</computeroutput> |
| | | </screen> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="indexes-substring"> |
| | | <title>Substring Index</title> |
| | | <indexterm> |
| | | <primary>Indexes</primary> |
| | | <secondary>Substring</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>A substring index is used to match values specified with wildcards |
| | | in the filter. Substring indexes can be expensive to maintain, especially |
| | | for large attribute values.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch --port 1389 --baseDN dc=example,dc=com "(cn=Barb*)" cn</userinput> |
| | | <computeroutput>dn: uid=bfrancis,ou=People,dc=example,dc=com |
| | |
| | | cn: Barbara Maddox</computeroutput> |
| | | </screen> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="indexes-vlv"> |
| | | <title>Virtual List View (Browsing) Index</title> |
| | | <indexterm> |
| | | <primary>Indexes</primary> |
| | | <secondary>Virtual list view (browsing)</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>A VLV or browsing index are designed to help the server respond to |
| | | client applications that need virtual list view results, for example to |
| | | browse through a long list in a GUI. They also help the server respond |
| | | to clients that request server-side sorting of the search results.</para> |
| | | |
| | | |
| | | <para>VLV indexes correspond to particular searches. Configure your |
| | | VLV indexes using the Control Panel, and copy the command-line |
| | | equivalent from the Details pane for the operation, if necessary.</para> |
| | |
| | | <primary>Indexes</primary> |
| | | <secondary>Configuring</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para> |
| | | You modify index configurations by using the |
| | | <link |
| | |
| | | The <command>dsconfig --help-database</command> command lists subcommands |
| | | for creating, reading, updating, and deleting index configuration. |
| | | </para> |
| | | |
| | | |
| | | <tip> |
| | | <para>Indexes are per directory backend rather than per suffix. To maintain |
| | | separate indexes for different suffixes on the same directory server, put |
| | | the suffixes in different backends.</para> |
| | | </tip> |
| | | |
| | | |
| | | <section xml:id="configure-standard-index"> |
| | | <title>Configuring a Standard Index</title> |
| | | |
| | | |
| | | <para>You can configure standard indexes from the Control Panel, and also |
| | | on the command line using the <command>dsconfig</command> command. After |
| | | you finish configuring the index, you must rebuild the index for the changes |
| | | to take effect.</para> |
| | | |
| | | |
| | | <example xml:id="create-index-example"> |
| | | <title>Create a New Index</title> |
| | | |
| | | |
| | | <para condition="local-db"> |
| | | The following example creates a new substring index |
| | | for the <literal>description</literal> attribute |
| | | in a backend of type <literal>local-db</literal>. |
| | | </para> |
| | | |
| | | |
| | | <screen condition="local-db"> |
| | | $ <userinput>dsconfig \ |
| | | create-local-db-index \ |
| | |
| | | --no-prompt</userinput> |
| | | </screen> |
| | | </example> |
| | | |
| | | |
| | | <example xml:id="approx-index-example"> |
| | | <title>Configure an Approximate Index</title> |
| | | <indexterm> |
| | |
| | | the <literal>cn</literal> (common name) attribute |
| | | in a backend of type <literal>local-db</literal>. |
| | | </para> |
| | | |
| | | |
| | | <screen condition="local-db"> |
| | | $ <userinput>dsconfig \ |
| | | set-local-db-index-prop \ |
| | |
| | | </screen> |
| | | </example> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="configure-vlv"> |
| | | <title>Configuring a Virtual List View Index</title> |
| | | <indexterm> |
| | | <primary>Indexes</primary> |
| | | <secondary>Virtual list view (browsing)</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>In the OpenDJ Control Panel, select Manage Indexes > |
| | | New VLV Index, and then set up your VLV index using the New VLV |
| | | Index window.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-create-vlv-index"> |
| | | <alt>New VLV Index window</alt> |
| | | <imageobject> |
| | |
| | | <para>After you finish configuring your index and click OK, the Control |
| | | Panel prompts you to make the additional changes necessary to complete the |
| | | VLV index configuration, and then to build the index.</para> |
| | | |
| | | |
| | | <para> |
| | | You can also create the equivalent index configuration |
| | | by using the <command>dsconfig</command> command. |
| | |
| | | The following example shows how to create the VLV index |
| | | for a backend of type <literal>local-db</literal>. |
| | | </para> |
| | | |
| | | |
| | | <screen condition="local-db"> |
| | | $ <userinput>dsconfig \ |
| | | create-local-db-vlv-index \ |
| | |
| | | <primary>Indexes</primary> |
| | | <secondary>Rebuilding</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>After you change an index configuration, or when you find that |
| | | an index is corrupt, you can rebuild the index. When you rebuild indexes, |
| | | you specify the base DN of the data to index, and either the list of indexes |
| | |
| | | the server is offline, or while the server is online. If you rebuild the |
| | | index while the server is online, then you must schedule the rebuild process |
| | | as a task.</para> |
| | | |
| | | |
| | | <example xml:id="rebuild-index-example"> |
| | | <title>Rebuild Index</title> |
| | | |
| | | <para>The following example rebuilds the <literal>cn</literal> index |
| | | immediately with the server online.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>rebuild-index \ |
| | | --port 4444 \ |
| | |
| | | <primary>Indexes</primary> |
| | | <secondary>Entry limits</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>As the number of entries in your directory grows, it can make sense |
| | | not to maintain indexes for particular values. For example, every entry |
| | | in the directory has the value <literal>top</literal> for the |
| | |
| | | reasonable use of resources. In a very, very large directory, the same can |
| | | be true for <literal>(givenName=John)</literal> and |
| | | <literal>(sn=Smith)</literal>.</para> |
| | | |
| | | |
| | | <para>In an index, each index key points to a list of entries that |
| | | are candidates to match. For the <literal>objectClass</literal> index key |
| | | that corresponds to <literal>=top</literal>, the list of entries can |
| | | include every entry in the directory.</para> |
| | | |
| | | |
| | | <para>OpenDJ directory server therefore defines an index entry limit. When |
| | | the number of entries that an index key points to exceeds the index entry |
| | | limit, OpenDJ stops maintaining the list of entries for that index key.</para> |
| | | |
| | | |
| | | <para>The default index entry limit value is 4000. 4000 is intended to be |
| | | large enough for most index keys, though it prevents OpenDJ from maintaining |
| | | indexes at any cost. |
| | |
| | | |
| | | <example xml:id="change-index-entry-limit"> |
| | | <title>Change Index Entry Limit</title> |
| | | |
| | | |
| | | <para>The following example changes the index entry limit for the |
| | | <literal>objectClass</literal> index, and then rebuilds the index for the |
| | | configuration change to take effect. The example is contrived, but the |
| | |
| | | PM CEST</computeroutput> |
| | | </screen> |
| | | </example> |
| | | |
| | | |
| | | <para>Alternatively, you can configure the index entry limit for all |
| | | indexes stored in a backend by using the <command>dsconfig |
| | | set-backend-prop</command> command with the <option>--backend-name |
| | |
| | | <primary>Indexes</primary> |
| | | <secondary>Verifying</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para> |
| | | You can verify that indexes correspond to current directory data, |
| | | and that indexes do not contain errors by using the |
| | |
| | | xlink:role="http://docbook.org/xlink/role/olink" |
| | | ><command>verify-index</command></link> command. |
| | | </para> |
| | | |
| | | |
| | | <example xml:id="verify-index-example"> |
| | | <title>Verify Index</title> |
| | | |
| | | |
| | | <para>The following example verifies the <literal>cn</literal> (common |
| | | name) index for completeness and for errors.</para> |
| | | |
| | |
| | | <primary>Indexes</primary> |
| | | <secondary>Default settings</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>When you first install OpenDJ directory server and import your |
| | | data from LDIF, the following indexes are configured.</para> |
| | | |
| | | |
| | | <table pgwide="1" rules="none"> |
| | | <title>Default Indexes</title> |
| | | <tgroup cols="7"> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-load-balancing' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | can also be used in reverse for write operations, as in a replicated |
| | | environment the results of each write operation must be applied on all |
| | | directory servers to keep their data in sync.</para> |
| | | |
| | | |
| | | <para>This chapter demonstrates how to configure proxy load balancing of |
| | | client application traffic.</para> |
| | | |
| | | </chapter> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-monitoring' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | http://docbook.org/xml/5.0/xsd/docbook.xsd' |
| | | xmlns:xlink='http://www.w3.org/1999/xlink'> |
| | | <title>Monitoring, Logging, & Alerts</title> |
| | | |
| | | |
| | | <para>This chapter describes the monitoring capabilities that OpenDJ |
| | | implements, and shows how to configure them.</para> |
| | | |
| | | |
| | | <indexterm><primary>Monitoring</primary></indexterm> |
| | | |
| | | |
| | | <para>OpenDJ Control Panel provides basic monitoring capabilities under |
| | | Monitoring > General Information, Monitoring > Connection Handler, and |
| | | Monitoring > Manage Tasks. This chapter covers the other options for |
| | | monitoring OpenDJ.</para> |
| | | |
| | | |
| | | <section xml:id="ldap-monitoring"> |
| | | <title>LDAP-Based Monitoring</title> |
| | | |
| | | |
| | | <para>OpenDJ exposes monitoring information over LDAP under the entry |
| | | <literal>cn=monitor</literal>. Many different types of information are |
| | | exposed. The following example shows monitoring information about the |
| | | <literal>userRoot</literal> backend holding Example.com data.</para> |
| | | |
| | | |
| | | <para>Interface stability: <link xlink:href="reference#interface-stability" |
| | | xlink:show="new" xlink:role="http://docbook.org/xlink/role/olink" |
| | | >Evolving</link></para> |
| | |
| | | <section xml:id="snmp-monitoring"> |
| | | <title>SNMP-Based Monitoring</title> |
| | | <indexterm><primary>SNMP</primary></indexterm> |
| | | |
| | | |
| | | <para>OpenDJ lets you monitor the server over the Simple Network Management |
| | | Protocol (SNMP), with support for the Management Information Base described |
| | | in <link xlink:href="http://tools.ietf.org/html/rfc2605">RFC 2605: Directory |
| | | Server Monitoring MIB</link>.</para> |
| | | |
| | | |
| | | <para>OpenDJ SNMP-based monitoring depends on OpenDMK, which you must |
| | | <link xlink:href="http://opendmk.java.net/download/" xlink:show="new">download |
| | | separately</link>. Install the <link xlink:show="new" |
| | |
| | | <para>Once you have installed OpenDMK, you can set up a connection handler |
| | | for SNMP by enabling the connection handler, and pointing OpenDJ to your |
| | | installation of the OpenDMK <filename>jdmkrt.jar</filename> library.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-connection-handler-prop \ |
| | |
| | | --trustAll \ |
| | | --no-prompt</userinput> |
| | | </screen> |
| | | |
| | | |
| | | <para>By default, the SNMP Connection Handler listens on port 161 and uses |
| | | port 162 for traps. On UNIX and Linux systems, only root can normally open |
| | | these ports. Therefore if you install as a normal user, you might want |
| | | to change the listen and trap ports.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-connection-handler-prop \ |
| | |
| | | <section xml:id="jmx-monitoring"> |
| | | <title>JMX-Based Monitoring</title> |
| | | <indexterm><primary>JMX</primary></indexterm> |
| | | |
| | | |
| | | <para>OpenDJ provides Java Management eXtensions (JMX) based monitoring. A |
| | | number of tools support JMX, including <command>jconsole</command> and |
| | | <command>jvisualvm</command>, which are bundled with the Sun/Oracle Java |
| | | platform. JMX is not configured by default. Use the |
| | | <command>dsconfig</command> command to configure the JMX connection |
| | | handler.</para> |
| | | |
| | | |
| | | <para>Interface stability: <link xlink:href="reference#interface-stability" |
| | | xlink:show="new" xlink:role="http://docbook.org/xlink/role/olink" |
| | | >Evolving</link></para> |
| | |
| | | xlink:href="http://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html#SSL_enabled" |
| | | xlink:show="new"><citetitle>Monitoring and Management Using |
| | | JMX</citetitle></link> for hints.</para> |
| | | |
| | | |
| | | <para>Alternatively, you can connect to a local server process by using the |
| | | server process identifier.</para> |
| | | |
| | |
| | | |
| | | <section xml:id="monitoring-status-and-tasks"> |
| | | <title>Server Operation & Tasks</title> |
| | | |
| | | |
| | | <para> |
| | | OpenDJ comes with two commands for monitoring server processes and tasks. |
| | | The |
| | |
| | | ><command>manage-tasks</command></link> command |
| | | lets you manage tasks scheduled on a server, such as nightly backup. |
| | | </para> |
| | | |
| | | |
| | | <para>The <command>status</command> command takes administrative credentials |
| | | to read the configuration, as does the Control Panel.</para> |
| | | <screen> |
| | |
| | | <para>The <command>manage-tasks</command> command connects over the |
| | | administration port, and so can connect to both local and remote |
| | | servers.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>manage-tasks \ |
| | | --hostname opendj.example.com \ |
| | |
| | | <primary>Replication</primary> |
| | | <secondary>Log</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>By default OpenDJ stores access and errors logs as well as a |
| | | server process ID file under the <filename>logs/</filename> directory. |
| | | For the replication service, OpenDJ also keeps a replication log there. |
| | | You can also configure a debug log. Furthermore, you can configure policies |
| | | about how logs are rotated, and how they are retained. You configure logging |
| | | using the <command>dsconfig</command> command.</para> |
| | | |
| | | |
| | | <itemizedlist> |
| | | <listitem> |
| | | <para>The <firstterm>access log</firstterm> traces the operations the |
| | |
| | | <programlisting language="none"> |
| | | [22/Jun/2011:14:37:34 +0200] category=SYNC severity=NOTICE msgID=15139026 |
| | | msg=Finished total update: exported domain "dc=example,dc=com" from this |
| | | directory server DS(24065) to all remote directory servers. |
| | | directory server DS(24065) to all remote directory servers. |
| | | [22/Jun/2011:14:37:35 +0200] category=SYNC severity=MILD_WARNING msgID=14745663 |
| | | msg=Replication server RS(23947) at opendj.example.com/10.10.0.168:8989 has |
| | | closed the connection to this directory server DS(24065). This directory |
| | |
| | | and therefore no debug logs are enabled by default.</para> |
| | | </listitem> |
| | | </itemizedlist> |
| | | |
| | | |
| | | <para>Each log depends on a <firstterm>log publisher</firstterm>, whose |
| | | type corresponds to the type of log. OpenDJ uses file-based log publishers. |
| | | The design allows for custom log publishers, however, which could publish |
| | | the logs elsewhere besides a file.</para> |
| | | |
| | | |
| | | <para>For debug logging, you also set a <firstterm>debug target</firstterm> |
| | | to control what gets logged.</para> |
| | | |
| | |
| | | <primary>Logs</primary> |
| | | <secondary>Filtering</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>Each time a client application sends a request to OpenDJ, the server |
| | | writes to its access log. As shown above, a simple search operation results |
| | | in five messages written to the access log. This volume of logging gives you |
| | | the information to analyze overall access patterns, or to audit access when |
| | | you do not know in advance what you are looking for.</para> |
| | | |
| | | |
| | | <para>Yet when you do know what you are looking for, log filtering |
| | | lets you limit what the server logs, and focus on what you want to see. |
| | | You define the filter criteria, and also set the filtering policy.</para> |
| | | |
| | | |
| | | <para>You can filter both access and also audit logs.</para> |
| | | |
| | | |
| | | <itemizedlist> |
| | | <para>Log filtering lets you define rules based these criteria.</para> |
| | | <listitem> |
| | |
| | | whether to include or exclude log messages that match the criteria you |
| | | define. OpenDJ does not filter logs until you update the log publisher |
| | | configuration.</para> |
| | | |
| | | |
| | | <example xml:id="log-filtering-exclude-control-panel"> |
| | | <title>Example: Exclude Control Panel-Related Messages</title> |
| | | |
| | | |
| | | <para>A common development troubleshooting technique consists of sending |
| | | client requests while tailing the access log:</para> |
| | | <screen>$ tail -f /path/to/opendj/logs/access</screen> |
| | |
| | | command, OpenDJ writes access log messages related to administration. |
| | | These might prevent you from noticing the messages that interest |
| | | you.</para> |
| | | |
| | | |
| | | <para>This example demonstrates how to filter out access log messages |
| | | due to administrative connections over LDAPS on ports 1636 and 4444.</para> |
| | | |
| | | |
| | | <para>Create access log filtering criteria rules.</para> |
| | | |
| | | <screen> |
| | |
| | | --trustAll \ |
| | | --no-prompt</userinput> |
| | | </screen> |
| | | |
| | | |
| | | <para>Activate filtering to exclude messages from the default access log |
| | | according to the criteria you specified.</para> |
| | | |
| | |
| | | --trustAll \ |
| | | --no-prompt</userinput> |
| | | </screen> |
| | | |
| | | |
| | | <para>At this point, OpenDJ filters out connections over LDAPS to ports |
| | | 1636 and 4444. While performing operations in OpenDJ Control Panel, if |
| | | you perform a simple <command>ldapsearch --port 1389 --baseDN |
| | |
| | | [19/Oct/2011:16:37:16 +0200] DISCONNECT conn=8 reason="Client Unbind"</computeroutput> |
| | | </screen> |
| | | </example> |
| | | |
| | | |
| | | <para>In addition to the filtering policy, you can also adjust how OpenDJ |
| | | writes log messages. By default, OpenDJ writes one log message for a |
| | | request, and another for a response. You can set the log publisher |
| | |
| | | <section xml:id="alert-notifications"> |
| | | <title>Alert Notifications</title> |
| | | <indexterm><primary>Alerts</primary></indexterm> |
| | | |
| | | |
| | | <para>OpenDJ can send alerts to provide notifications of significant server |
| | | events. Yet alert notifications are not enabled by default. You can use |
| | | the <command>dsconfig</command> command to enable alert notifications.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-alert-handler-prop \ |
| | |
| | | <para>OpenDJ can also send mail over SMTP instead of JMX notifications. |
| | | Before you set up the SMTP-based alert handler, you must identify an SMTP |
| | | server to which OpenDJ sends messages.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-global-configuration-prop \ |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-mv-servers' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | xmlns:xlink='http://www.w3.org/1999/xlink'> |
| | | <title>Moving Servers</title> |
| | | <indexterm><primary>Moving servers</primary></indexterm> |
| | | |
| | | |
| | | <para>When you change where OpenDJ is deployed, you must take host names, |
| | | port numbers, and certificates into account. The changes can also affect |
| | | your replication configuration. This chapter shows what to do when moving |
| | |
| | | <primary>Replication</primary> |
| | | <secondary>Moving servers</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <section xml:id="moving-servers-overview"> |
| | | <title>Overview</title> |
| | | |
| | | |
| | | <para>From time to time you might change server hardware, file system layout, |
| | | or host names. At those times you move the services running on the system. |
| | | You can move OpenDJ data between servers and operating systems. Most of the |
| | | configuration is also portable.</para> |
| | | |
| | | |
| | | <indexterm><primary>Certificates</primary></indexterm> |
| | | <itemizedlist> |
| | | <para>Two aspects of the configuration are not portable.</para> |
| | |
| | | disabling replication for the server before the move, and then enabling and |
| | | initializing replication again after the move.</para> |
| | | </listitem> |
| | | </itemizedlist> |
| | | </itemizedlist> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="before-moving-servers"> |
| | | <title>Before You Move</title> |
| | | |
| | | |
| | | <para>Take a moment to determine whether you find it quicker and easier to |
| | | move your server, or instead to recreate a copy. To recreate a copy, install |
| | | a new server, set up the new server configuration to match the old, and then |
| | | copy only the data from the old server to the new server, initializing |
| | | replication from existing data, or even from LDIF if your database is not |
| | | too large.</para> |
| | | |
| | | |
| | | <para>After you decide to move a server, start by taking it out of |
| | | service. Taking it out of service means directing client applications |
| | | elsewhere, and then preventing updates from client applications, and finally |
| | |
| | | configuration. The other two steps can be completed with the |
| | | <command>dsconfig</command> and <command>dsreplication</command> |
| | | commands.</para> |
| | | |
| | | |
| | | <procedure xml:id="remove-server"> |
| | | <title>To Take the Server Out of Service</title> |
| | | |
| | | |
| | | <step> |
| | | <para>Direct client applications to other servers.</para> |
| | | <para>How you do this depends on your network and client application |
| | |
| | | <para>You might also choose to remove extra log files from the server |
| | | <filename>logs/</filename> directory before moving the server.</para> |
| | | </step> |
| | | </procedure> |
| | | </procedure> |
| | | </section> |
| | | |
| | | <section xml:id="moving-servers"> |
| | | <title>Moving a Server</title> |
| | | |
| | | |
| | | <para>Now that you have decided to move your server, and prepared for the |
| | | move, you must not only move the files but also fix the configuration and |
| | | the server certificates, and then enable replication.</para> |
| | | |
| | | |
| | | <procedure xml:id="mv-one-server"> |
| | | <title>To Move the Server</title> |
| | | |
| | | |
| | | <step> |
| | | <para>Move the contents of the server installation directory to the new |
| | | location.</para> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-pta' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | http://docbook.org/xml/5.0/xsd/docbook.xsd'> |
| | | <title>Configuring Pass Through Authentication</title> |
| | | <indexterm><primary>Pass through authentication</primary></indexterm> |
| | | |
| | | |
| | | <para>This chapter focuses on pass through authentication (PTA), whereby you |
| | | configure another server to determine the response to an authentication |
| | | request. A typical use case for pass through authentication involves |
| | | passing authentication through to Active Directory for users coming |
| | | from Microsoft Windows systems.</para> |
| | | |
| | | |
| | | <section xml:id="about-pta"> |
| | | <title>About Pass Through Authentication</title> |
| | | |
| | | |
| | | <para>You use <firstterm>LDAP pass through authentication</firstterm> when |
| | | the credentials for authenticating are stored not in OpenDJ, but instead |
| | | in a remote directory service. In effect OpenDJ redirects the bind operation |
| | | against a remote LDAP server.</para> |
| | | |
| | | |
| | | <para>Exactly how OpenDJ redirects the bind depends on how the user entry |
| | | in OpenDJ maps to the corresponding user entry in the remote directory.</para> |
| | | |
| | | |
| | | <itemizedlist> |
| | | <para>OpenDJ provides you several choices to set up the mapping.</para> |
| | | <listitem> |
| | |
| | | redirects the bind with the DN from the remote entry.</para> |
| | | </listitem> |
| | | </itemizedlist> |
| | | |
| | | |
| | | <para>You configure pass through authentication as an authentication policy |
| | | that you associate with a user's entry in the same way that you associate |
| | | a password policy with a user's entry. Either a user has an authentication |
| | | policy for pass through authentication, or the user has a local password |
| | | policy.</para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="configure-pta"> |
| | | <title>Setting Up Pass Through Authentication</title> |
| | | |
| | | |
| | | <para>When setting up pass through authentication, you need to know to which |
| | | remote server or servers to redirect binds, and you need to know how you map |
| | | user entries in OpenDJ to user entries in the remote directory.</para> |
| | | |
| | | |
| | | <procedure xml:id="configure-ssl-to-test-pta"> |
| | | <title>To Set Up SSL Communication For Testing</title> |
| | | |
| | | |
| | | <para>When performing pass through authentication, you no doubt protect |
| | | communications between OpenDJ and the server providing authentication. If |
| | | you test using SSL with self-signed certificates, and you do not want |
| | | the client blindly to trust the server, follow these steps to import |
| | | the authentication server's certificate into the OpenDJ key store.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Export the server certificate from the authentication server.</para> |
| | | <para>How you perform this step depends on the authentication directory |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="configure-pta-policy"> |
| | | <title>To Configure an LDAP Pass Through Authentication Policy</title> |
| | | |
| | | |
| | | <para>You configure authentication policies with the |
| | | <command>dsconfig</command> command. Notice that authentication policies |
| | | are part of the server configuration, and therefore not replicated.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Set up an authentication policy for pass through |
| | | authentication to the authentication server.</para> |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="configure-pta-to-ad"> |
| | | <title>To Configure Pass Through Authentication To Active Directory</title> |
| | | <indexterm> |
| | | <primary>Active Directory</primary> |
| | | <see>Pass through authentication</see> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>The steps below demonstrate setting up pass through authentication |
| | | to Active Directory. Here is some background to help you make sense of the |
| | | steps.</para> |
| | | |
| | | |
| | | <para>Entries on the OpenDJ side use <literal>uid</literal> as the naming |
| | | attribute, and entries also have <literal>cn</literal> attributes. Active |
| | | Directory entries use <literal>cn</literal> as the naming attribute. |
| | | User entries on both sides share the same <literal>cn</literal> values. The |
| | | mapping between entries therefore uses <literal>cn</literal>.</para> |
| | | |
| | | |
| | | <para>Consider the example where an OpenDJ account with <literal>cn=LDAP |
| | | PTA User</literal> and DN |
| | | <literal>uid=ldapptauser,ou=People,dc=example,dc=com</literal> corresponds |
| | |
| | | User,CN=Users,DC=internal,DC=forgerock,DC=com</literal>. The steps below |
| | | enable the user with <literal>cn=LDAP PTA User</literal> on OpenDJ |
| | | authenticate through to Active Directory.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch \ |
| | | --hostname opendj.example.com \ |
| | |
| | | <computeroutput>dn: CN=LDAP PTA User,CN=Users,DC=internal,DC=forgerock,DC=com |
| | | cn: LDAP PTA User</computeroutput> |
| | | </screen> |
| | | |
| | | |
| | | <para>OpenDJ must map its |
| | | <literal>uid=ldapptauser,ou=People,dc=example,dc=com</literal> entry to the |
| | | Active Directory entry, <literal>CN=LDAP PTA |
| | |
| | | user. Active Directory does not allow anonymous searches, so part of the |
| | | authentication policy configuration consists of the administrator DN and |
| | | password OpenDJ uses to bind to Active Directory to be able to search.</para> |
| | | |
| | | |
| | | <para>Finally, before setting up the pass through authentication policy, |
| | | make sure OpenDJ can connect to Active Directory over a secure connection |
| | | to avoid sending passwords in the clear.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Export the certificate from the Windows server.</para> |
| | | <substeps> |
| | |
| | | Signature algorithm name: SHA1withRSA |
| | | Version: 3 |
| | | |
| | | Extensions: |
| | | Extensions: |
| | | |
| | | #1: ObjectId: 2.5.29.19 Criticality=true |
| | | BasicConstraints:[ |
| | |
| | | </step> |
| | | </procedure> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="assigning-pta"> |
| | | <title>Assigning Pass Through Authentication Policies</title> |
| | | |
| | | |
| | | <para>You assign authentication policies in the same way as you |
| | | assign password policies, by using the |
| | | <literal>ds-pwp-password-policy-dn</literal> attribute.</para> |
| | | |
| | | |
| | | <note> |
| | | <para>Although you assign the pass through authentication policy using |
| | | the same attribute as for password policy, the authentication policy is |
| | |
| | | <computeroutput>dn: uid=user.0,ou=People,dc=example,dc=com</computeroutput> |
| | | </screen> |
| | | </note> |
| | | |
| | | |
| | | <procedure xml:id="assign-pta-to-user"> |
| | | <title>To Assign a Pass Through Authentication Policy To a User</title> |
| | | |
| | | |
| | | <para>Users depending on pass through authentication no longer need a local |
| | | password policy, as they no longer authenticate locally.</para> |
| | | |
| | | |
| | | <para>Examples in the following procedure work for this user, whose |
| | | entry on OpenDJ is as shown. Notice that the user has no password set. The |
| | | user's password on the authentication server is |
| | | <literal>password</literal>.</para> |
| | | |
| | | |
| | | <programlisting language="ldif"> |
| | | dn: uid=user.0,ou=People,dc=example,dc=com |
| | | cn: Aaccf Amar |
| | |
| | | telephoneNumber: +1 685 622 6202 |
| | | uid: user.0 |
| | | </programlisting> |
| | | |
| | | |
| | | <para>This user's entry on the authentication server also has |
| | | <literal>uid=user.0</literal>, and the pass through authentication policy |
| | | performs the mapping to find the user entry in the authentication |
| | | server.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Prevent users from changing their own password policies.</para> |
| | | |
| | |
| | | --bindDN "cn=Directory Manager" \ |
| | | --bindPassword password |
| | | dn: uid=user.0,ou=People,dc=example,dc=com |
| | | changetype: modify |
| | | changetype: modify |
| | | add: ds-pwp-password-policy-dn |
| | | ds-pwp-password-policy-dn: cn=PTA Policy,cn=Password Policies,cn=config</userinput> |
| | | |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="assign-pta-to-group"> |
| | | <title>To Assign a Pass Through Authentication Policy To a Group</title> |
| | | |
| | | |
| | | <para>Examples in the following steps use the pass through authentication |
| | | policy as defined above. Kirsten Vaughan's entry has been reproduced on |
| | | the authentication server under <literal>dc=PTA |
| | | Server,dc=com</literal>.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Create a subentry to assign a collective attribute that sets the |
| | | <literal>ds-pwp-password-policy-dn</literal> attribute for group |
| | | members' entries.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>cat pta-coll.ldif</userinput> |
| | | <computeroutput>dn: cn=PTA Policy for Dir Admins,dc=example,dc=com |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-replication' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | <primary>High availability</primary> |
| | | <see>Replication</see> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>You can set up replication during installation by choosing to |
| | | configure replication through the setup wizard.</para> |
| | | |
| | | |
| | | <para>In the Topology Options screen for the first server you set up, select |
| | | This server will be part of a replication topology. If you also choose |
| | | Configure as Secure, then replication traffic is protected by SSL.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-repla-setup"> |
| | | <imageobject> |
| | | <imagedata fileref="images/replA-setup.png" format="PNG" /> |
| | |
| | | <para>QuickSetup makes it easy to configure replication.</para> |
| | | </textobject> |
| | | </mediaobject> |
| | | |
| | | |
| | | <para>In the Topology Options screen for subsequent servers, also select |
| | | There is already a server in the topology, providing the Host Name, |
| | | Administration Connector Port number, Admin User, and Admin Password for |
| | | the first replica you set up.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-replb-setup"> |
| | | <imageobject> |
| | | <imagedata fileref="images/replB-setup.png" format="PNG" /> |
| | |
| | | <para>Subsequent servers can point to the first server at setup time.</para> |
| | | </textobject> |
| | | </mediaobject> |
| | | |
| | | |
| | | <para>You also set up a global administrator account, stored under |
| | | <literal>cn=admin data</literal> across replicas, used to manage replication |
| | | in the topology.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-replb-global-admin"> |
| | | <imageobject> |
| | | <imagedata fileref="images/replB-global-admin.png" format="PNG" /> |
| | |
| | | replication topology.</para> |
| | | </textobject> |
| | | </mediaobject> |
| | | |
| | | |
| | | <para>You further set up what to replicate.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-replb-data-repl"> |
| | | <imageobject> |
| | | <imagedata fileref="images/replB-data-repl.png" format="PNG" /> |
| | |
| | | administrative data and directory schema.</para> |
| | | </textobject> |
| | | </mediaobject> |
| | | |
| | | |
| | | <para>Once replication is set up, it works for all the replicas. You can |
| | | monitor the replication connection and status through the OpenDJ Control |
| | | Panel.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-repla-monitor-repl"> |
| | | <imageobject> |
| | | <imagedata fileref="images/replA-monitor-repl.png" format="PNG" /> |
| | |
| | | replicated.</para> |
| | | </textobject> |
| | | </mediaobject> |
| | | |
| | | |
| | | </section> |
| | | |
| | | <section xml:id="about-repl"> |
| | |
| | | <primary>Replication</primary> |
| | | <secondary>Overview</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>Before you take replication further than setting up replication |
| | | in the setup wizard, read this section to learn more about how OpenDJ |
| | | replication works.</para> |
| | |
| | | up connected to different replication servers for different suffixes.</para> |
| | | </section> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="configure-repl"> |
| | | <title>Configuring Replication</title> |
| | | <indexterm> |
| | | <primary>Replication</primary> |
| | | <secondary>Configuring</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para> |
| | | This section shows how to configure replication with command-line tools, |
| | | such as the |
| | |
| | | xlink:role="http://docbook.org/xlink/role/olink" |
| | | ><command>dsreplication</command></link> command. |
| | | </para> |
| | | |
| | | |
| | | <section xml:id="enable-repl"> |
| | | <title>Enabling Replication</title> |
| | | |
| | | |
| | | <para>You can start the replication process by using the |
| | | <command>dsreplication enable</command> command.</para> |
| | | |
| | | |
| | | <screen>$ <userinput>dsreplication \ |
| | | enable \ |
| | | --adminUID admin \ |
| | |
| | | /var/.../opends-replication-7958637258600693490.log |
| | | for a detailed log of this operation.</computeroutput> |
| | | </screen> |
| | | |
| | | |
| | | <para>To enable secure connections for replication use the |
| | | <option>--secureReplication1</option> and |
| | | <option>--secureReplication2</option> options, which are equivalent to |
| | | selecting Configure as Secure in the replication topology options screen of |
| | | the setup wizard.</para> |
| | | |
| | | |
| | | <para>As you see in the command output, replication is set up to function |
| | | once enabled. You must however initialize replication in order to start |
| | | the process.</para> |
| | | |
| | | |
| | | <tip> |
| | | <para>When scripting the configuration to set up multiple replicas in quick |
| | | succession, use the same initial replication server each time you run the |
| | |
| | | options for each of the other replicas that you set up in your |
| | | script.</para> |
| | | </tip> |
| | | |
| | | |
| | | <para>If you need to add another OpenDJ directory server to participate |
| | | in replication, use the <command>dsreplication enable</command> with |
| | | the new server as the second server.</para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="init-repl"> |
| | | <title>Initializing Replicas</title> |
| | | |
| | | |
| | | <para>You can initialize replication between servers by performing |
| | | initialization over the network after you have enabled replication, or by |
| | | importing the same LDIF data on all servers and then enabling replication. |
| | |
| | | <listitem><para><xref linkend="init-repl-backup" /></para></listitem> |
| | | <listitem><para><xref linkend="reinit-repl" /></para></listitem> |
| | | </itemizedlist> |
| | | |
| | | |
| | | <procedure xml:id="init-repl-online"> |
| | | <title>To Initialize Replication Over the Network</title> |
| | | |
| | | |
| | | <para>Initialization over the network while the server is online works well |
| | | when you have no initial data, or when your network bandwidth is large |
| | | compared to the initial amount of data to replicate.</para> |
| | |
| | | <step> |
| | | <para>Start replication with the <command>dsreplication |
| | | initialize-all</command> command.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsreplication \ |
| | | initialize-all \ |
| | |
| | | |
| | | <procedure xml:id="init-repl-ldif"> |
| | | <title>To Initialize All Servers From the Same LDIF</title> |
| | | |
| | | |
| | | <para>This procedure can be useful when you are starting with a large amount |
| | | of directory data that is available locally to all directory servers.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Import the same LDIF on all servers as described in the procedure, |
| | | <link xlink:show="new" xlink:role="http://docbook.org/xlink/role/olink" |
| | |
| | | one you found in <xref linkend="read-only-repl" />.</para> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="init-repl-backup"> |
| | | <title>To Create a New Replica From Existing Backup</title> |
| | | |
| | | |
| | | <para>You can create a new replica from a backup of a server in the existing |
| | | topology.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Install a new server to use as the new replica.</para> |
| | | </step> |
| | |
| | | </step> |
| | | </procedure> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="stop-repl"> |
| | | <title>Stopping Replication</title> |
| | | <indexterm> |
| | | <primary>Replication</primary> |
| | | <secondary>Stopping</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>How you stop replication depends on whether the change is meant to |
| | | be temporary or permanent.</para> |
| | | |
| | | |
| | | <procedure xml:id="stop-repl-tmp"> |
| | | <title>To Stop Replication Temporarily For a Replica</title> |
| | | |
| | |
| | | xlink:role="http://docbook.org/xlink/role/olink" |
| | | ><command>dsconfig</command></link> command. |
| | | </para> |
| | | |
| | | |
| | | <warning> |
| | | <para>Do not allow modifications on the replica for which replication is |
| | | disabled, as no record of such changes is kept, and the changes cause |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="stop-repl-permanent"> |
| | | <title>To Stop Replication Permanently For a Replica</title> |
| | | |
| | | |
| | | <para>If you need to stop a server from replicating permanently, for |
| | | example in preparation to remove a server, you can do so with the |
| | | <command>dsreplication disable</command> command.</para> |
| | |
| | | <primary>Replication</primary> |
| | | <secondary>Dedicated servers</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>Replication in OpenDJ is designed to be both easy to implement in |
| | | environments with a few servers, and also scalable in environments with |
| | | many servers. You can enable the replication service on each OpenDJ |
| | |
| | | replication server for the directory server to replicate with all others |
| | | in your topology. Yet only the stand-alone replication servers participate |
| | | in fully-meshed replication.</para> |
| | | |
| | | |
| | | |
| | | <para>All replication servers in a topology are connected to all other |
| | | replication servers. Directory servers are connected only to one replication |
| | | server at a time, and their connections should be to replication servers on |
| | | the same LAN. Therefore the total number of replication connections, |
| | | Total<subscript>conn</subscript> is expressed as follows.</para> |
| | | |
| | | |
| | | <equation> |
| | | <mathphrase>Total<subscript>conn</subscript> = (N<subscript>RS</subscript> * |
| | | N<subscript>RS</subscript>-1)/2 + N<subscript>DS</subscript></mathphrase> |
| | | </equation> |
| | | |
| | | |
| | | <para>Here, N<subscript>RS</subscript> is the number of replication servers, |
| | | and N<subscript>DS</subscript> is the number of stand-alone directory |
| | | servers. In other words, if you have only 3 servers, then |
| | |
| | | disable --disableReplicationServer</command> command to turn off the |
| | | replication service on the server.</para> |
| | | </tip> |
| | | |
| | | |
| | | <procedure xml:id="repl-setup-dedicated-server"> |
| | | <title>To Set Up a Stand-alone Replication Server</title> |
| | | |
| | | <para>This example sets up a stand-alone replication server to handle |
| | | the replication traffic between two directory servers that do not |
| | | handle replication themselves.</para> |
| | | |
| | | |
| | | <para>Here the replication server is <literal>rs.example.com</literal>. The |
| | | directory servers are <literal>opendj.example.com</literal> and |
| | | <literal>opendj2.example.com</literal>.</para> |
| | | |
| | | |
| | | <para>In a real deployment, you would have more replication servers |
| | | to avoid a single point of failure.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Setup the replication server as a directory server that has |
| | | no database.</para> |
| | |
| | | </step> |
| | | </procedure> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="repl-groups"> |
| | | <title>Replication Groups</title> |
| | | <indexterm> |
| | | <primary>Replication</primary> |
| | | <secondary>Grouping servers</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>Replication lets you define groups so that replicas communicate |
| | | first with replication servers in the group before going to replication |
| | | servers outside the group. Groups are identified with unique numeric |
| | | group IDs.</para> |
| | | |
| | | |
| | | <para>Replication groups are designed for deployments across multiple data |
| | | centers, where you aim to focus replication traffic on the LAN rather than |
| | | the WAN. In multi-data center deployments, group nearby servers |
| | | together.</para> |
| | | |
| | | |
| | | <procedure xml:id="define-repl-groups"> |
| | | <title>To Set Up Replication Groups</title> |
| | | |
| | | |
| | | <para>For each group, set the appropriate group ID for the topology |
| | | on both the replication servers and the directory servers.</para> |
| | | |
| | |
| | | <literal>rs2.example.com</literal>. In a full-scale deployment, you would |
| | | have multiple servers of each type in each group, such as all the replicas |
| | | and replication servers in each data center being in the same group.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Pick a group ID for each group.</para> |
| | | <para>The default group ID is 1.</para> |
| | |
| | | <primary>Replication</primary> |
| | | <secondary>Read-only servers</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>By default all directory servers in a replication topology are |
| | | read-write. You can however choose to make replicas take updates only |
| | | from the replication protocol, and refuse updates from client |
| | |
| | | <primary>Replication</primary> |
| | | <secondary>Assured</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>In standard replication, when a client requests an update operation |
| | | the directory server performs the update and, if the update is successful, |
| | | sends information about the update to the replication service, and sends |
| | | a result code to the client application right away. As a result, the |
| | | client application can conclude that the update was successful, |
| | | <emphasis>but only on the replica that handled the update</emphasis>.</para> |
| | | |
| | | |
| | | <para>Assured replication lets you force the replica performing the initial |
| | | update to wait for confirmation that the update has been received elsewhere |
| | | in the topology before sending a result code to the client application. |
| | | You can configure assured replication either to wait for one or more |
| | | replication servers to acknowledge having received the update, or to wait |
| | | for all directory servers to have replayed the update.</para> |
| | | |
| | | |
| | | <para>As you might imagine, assured replication is theoretically safer than |
| | | standard replication, yet it is also slower, potentially waiting for a |
| | | timeout before failing when the network or other servers are down.</para> |
| | | |
| | | <procedure xml:id="repl-safe-data"> |
| | | <title>To Ensure Updates Reach Replication Servers</title> |
| | | |
| | | |
| | | <para>Safe data mode requires the update be sent to |
| | | <literal>assured-sd-level</literal> replication servers before |
| | | acknowledgement is returned to the client application.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>For each directory server, set safe data mode for the replication |
| | | domain, and also set the safe data level.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-replication-domain-prop \ |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="repl-safe-read"> |
| | | <title>To Ensure Updates Are Replayed Everywhere</title> |
| | | |
| | | |
| | | <para>Safe read mode requires the update be replayed on all directory |
| | | servers before acknowledgement is returned to the client application.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>For each directory server, set safe read mode for the replication |
| | | domain.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-replication-domain-prop \ |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <para>When working with assured replication, the replication server property |
| | | <literal>degraded-status-threshold</literal> (default: 5000), sets the |
| | | number of operations allowed to build up in the replication queue before |
| | |
| | | <primary>Replication</primary> |
| | | <secondary>Subtree</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>OpenDJ can perform subtree replication, for example replicating |
| | | <literal>ou=People,dc=example,dc=com</literal>, but not the rest of |
| | | <literal>dc=example,dc=com</literal>, by putting the subtree in a separate |
| | | backend from the rest of the suffix.</para> |
| | | |
| | | |
| | | <para>For example, in this case you might have a <literal>userRoot</literal> |
| | | backend containing everything in <literal>dc=example,dc=com</literal> |
| | | except <literal>ou=People,dc=example,dc=com</literal>, and a separate |
| | |
| | | <primary>Replication</primary> |
| | | <secondary>Fractional</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>OpenDJ can perform fractional replication, whereby you specify |
| | | the attributes to include in or to exclude from the replication |
| | | process.</para> |
| | | |
| | | |
| | | <para>You set fractional replication configuration as |
| | | <literal>fractional-include</literal> or |
| | | <literal>fractional-exclude</literal> properties for a replication |
| | |
| | | or not. When you exclude attributes, the excluded attributes must be |
| | | optional attributes for the relevant object classes. Fractional |
| | | replicas still respect schema definitions.</para> |
| | | |
| | | |
| | | <para>Fractional replication works by filtering objects at the replication |
| | | server. Initialize replication as you would normally. Of course you cannot |
| | | create a full replica from a replica with only a subset of the data. If you |
| | |
| | | the replication server handling the updates from the directory servers |
| | | receiving the updates as described in |
| | | <xref linkend="repl-setup-dedicated-server" />.</para> |
| | | |
| | | |
| | | <para>For example, you might configure an externally facing |
| | | fractional replica to include only some <literal>inetOrgPerson</literal> |
| | | attributes.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-replication-domain-prop \ |
| | |
| | | --set \ |
| | | fractional-include:inetorgperson:cn,givenname,mail,mobile,sn,telephonenumber</userinput> |
| | | </screen> |
| | | |
| | | |
| | | <para>As another example, you might exclude a custom attribute called |
| | | <literal>sessionToken</literal> from being replicated.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-replication-domain-prop \ |
| | |
| | | </procedure> |
| | | </section> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="repl-change-notification"> |
| | | <title>Change Notification For Your Applications</title> |
| | | <indexterm> |
| | |
| | | <indexterm> |
| | | <primary>External change log</primary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>Some applications require notification when directory data updates |
| | | occur. For example, an application might need to sync directory data with |
| | | another database, or the application might need to kick off other processing |
| | | when certain updates occur.</para> |
| | | |
| | | |
| | | <para>In addition to supporting persistent search operations, OpenDJ |
| | | provides an external change log mechanism to allow applications to be |
| | | notified of changes to directory data.</para> |
| | | |
| | | |
| | | <procedure xml:id="enable-ecl"> |
| | | <title>To Enable the External Change Log</title> |
| | | |
| | |
| | | external change log. The OpenDJ server that exposes the change log must |
| | | function both as a directory server, and also as a replication server for |
| | | the suffix whose changes you want logged.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Enable replication without using the |
| | | <option>--noReplicationServer</option> or |
| | |
| | | and must have the <literal>changelog-read</literal> privilege. |
| | | By default, Directory Manager has this privilege. |
| | | </para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch \ |
| | | --hostname opendj.example.com \ |
| | |
| | | </para> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="use-ecl"> |
| | | <title>To Use the External Change Log</title> |
| | | |
| | | |
| | | <para>You read the external change log over LDAP. In addition, when you |
| | | poll the change log periodically, you can get the list of updates that |
| | | happened since your last request.</para> |
| | | |
| | | |
| | | <para>The external change log mechanism uses an LDAP control with |
| | | OID <literal>1.3.6.1.4.1.26027.1.5.4</literal> to allow the exchange |
| | | of cookies for the client application to bookmark the last changes seen, |
| | | and then start reading the next set of changes from where it left off on |
| | | the previous request.</para> |
| | | |
| | | |
| | | <para> |
| | | This procedure shows the client reading the change log as |
| | | <literal>cn=Directory Manager</literal>. |
| | | Make sure your client application reads the changes |
| | | with sufficient access and privileges to view all the changes it needs to see. |
| | | </para> |
| | | |
| | | |
| | | <step> |
| | | <para>Send an initial search request using the LDAP control with no |
| | | cookie value.</para> |
| | | |
| | | |
| | | <para>Notice the value of the <literal>changeLogCookie</literal> attribute |
| | | for the last of the two changes.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch \ |
| | | --baseDN cn=changelog \ |
| | |
| | | entryDN: replicationCSN=0000013087cbc34a12d100000002,dc=example,dc=com,cn=change |
| | | log</computeroutput> |
| | | </screen> |
| | | |
| | | |
| | | <para>In this example, two new users were added to another replica |
| | | before the change log request was made.</para> |
| | | |
| | | |
| | | <para>Here the changes are base64 encoded, so you can decode them using |
| | | the <command>base64</command> command.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>base64 decode --encodedData b2JqZW...ZmlnCg==</userinput> |
| | | <computeroutput>objectClass: person |
| | |
| | | creatorsName: cn=Directory Manager,cn=Root DNs,cn=config</computeroutput> |
| | | </screen> |
| | | </step> |
| | | |
| | | |
| | | <step> |
| | | <para>For the next search, provide the cookie to start reading where |
| | | you left off last time.</para> |
| | | |
| | | |
| | | <para>In this example, a description was added to Babs Jensen's entry.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>ldapsearch \ |
| | | --baseDN cn=changelog \ |
| | |
| | | entryDN: replicationCSN=0000013087d7e27f12d100000003,dc=example,dc=com,cn=change |
| | | log</computeroutput> |
| | | </screen> |
| | | |
| | | |
| | | <para>If we base64-decode the changes, we see the following.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>base64 decode --encodedData YWRkO...gotCg==</userinput> |
| | | <computeroutput>add: description |
| | |
| | | value for the cookie.</para> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="ecl-add-attributes"> |
| | | <title>To Include Unchanged Attributes in the External Change Log</title> |
| | | |
| | | |
| | | <para>As shown above, the changes returned from a search on the external |
| | | change log include only what was actually changed. If you have applications |
| | | that need additional attributes published with every change log entry, |
| | | regardless of whether or not the attribute itself has changed, then specify |
| | | those using <literal>ecl-include</literal> and |
| | | <literal>ecl-include-for-deletes</literal>.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Set the attributes to include for all update operations with |
| | | <literal>ecl-include</literal>.</para> |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <procedure xml:id="ecl-limit-content"> |
| | | <title>To Limit External Change Log Content</title> |
| | | |
| | | |
| | | <para>You can limit external change log content by disabling the domain |
| | | for a base DN. By default, <literal>cn=schema</literal> and |
| | | <literal>cn=admin data</literal> are not enabled.</para> |
| | | |
| | | |
| | | <step> |
| | | <para>Prevent OpenDJ from logging changes by disabling the domain.</para> |
| | | |
| | |
| | | </screen> |
| | | </step> |
| | | </procedure> |
| | | |
| | | |
| | | <para xml:id="ecl-legacy-format">The external change log can also work for |
| | | applications that follow the <link |
| | | xlink:href="http://tools.ietf.org/html/draft-good-ldap-changelog-04" |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-tuning' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | xmlns:xinclude='http://www.w3.org/2001/XInclude'> |
| | | <title>Tuning Servers For Performance</title> |
| | | <indexterm><primary>Performance tuning</primary></indexterm> |
| | | |
| | | |
| | | <para>Server tuning refers to the art of adjusting server, JVM, and system |
| | | configuration to meet the service level performance requirements of directory |
| | | clients. In the optimal case you achieve service level performance |
| | | requirements without much tuning at all, perhaps only setting JVM runtime |
| | | options when installing OpenDJ.</para> |
| | | |
| | | |
| | | <para>If you are reading this chapter, however, you are probably not |
| | | facing an optimal situation. Instead you are looking for trade offs that |
| | | maximize performance for clients given the constraints of your deployment. |
| | | This chapter therefore aims to provide suggestions on how to measure and |
| | | to improve directory service performance for better trade offs.</para> |
| | | |
| | | |
| | | <section xml:id="perf-define-starting-points"> |
| | | <title>Defining Performance Requirements & Constraints</title> |
| | | |
| | | |
| | | <para>Your key performance requirement is most likely to satisfy your |
| | | users or customers with the resources available to you. Before you can |
| | | solve potential performance problems, define what those users or customers |
| | | expect, and determine what resources you will have to satisfy their |
| | | expectations.</para> |
| | | |
| | | |
| | | <section xml:id="perf-sla"> |
| | | <title>Service-Level Agreements</title> |
| | | |
| | | |
| | | <para>Service-level agreement (SLA) is a formal name for what directory |
| | | client applications and the people who run them expect from your service in |
| | | terms of performance.</para> |
| | | |
| | | |
| | | <para>SLAs might cover many aspects of the directory service. Whether or not |
| | | your SLA is formally defined, you ought to know what is expected, or at least |
| | | what you provide, in the following four areas.</para> |
| | | |
| | | |
| | | <itemizedlist> |
| | | <listitem> |
| | | <para>Directory service <firstterm>response times</firstterm></para> |
| | | |
| | | |
| | | <para>Directory service response times range from less than a |
| | | millisecond on average across a low latency connection on the same |
| | | network to however long it takes your network to deliver the response. |
| | |
| | | </listitem> |
| | | <listitem> |
| | | <para>Directory service <firstterm>throughput</firstterm></para> |
| | | |
| | | |
| | | <indexterm> |
| | | <primary>Replication</primary> |
| | | <secondary>Write throughput</secondary> |
| | |
| | | For example, a throughput performance requirement might be expressed as, |
| | | "The directory service must sustain a mix of 5,000 operations per second |
| | | made up of 70% reads, 25% modifies, 3% adds, and 2% deletes."</para> |
| | | |
| | | |
| | | <para>Even better is to mimic the behavior of key operations for |
| | | performance testing, so that you understand the patterns of operations |
| | | in the throughput you need to provide.</para> |
| | | </listitem> |
| | | <listitem> |
| | | <para>Directory service <firstterm>availability</firstterm></para> |
| | | |
| | | |
| | | <para>OpenDJ is designed to let you build directory services that are |
| | | basically available, including during maintenance and even upgrade of |
| | | individual servers. Yet, in order to reach very high levels of |
| | |
| | | such a way as to preserve availability. Availability requirements |
| | | can be as lax as best effort, or as stringent as 99.999% or more |
| | | uptime.</para> |
| | | |
| | | |
| | | <para>Replication is the OpenDJ feature that allows you to build a |
| | | highly available directory service.</para> |
| | | </listitem> |
| | | <listitem> |
| | | <para>Directory service administrative support</para> |
| | | |
| | | |
| | | <para>Do not forget to make sure you understand and set expectations |
| | | about how you support your users when they run into trouble. Directory |
| | | services can perhaps help you turn password management into a self-service |
| | |
| | | can expect if they need your help.</para> |
| | | </listitem> |
| | | </itemizedlist> |
| | | |
| | | |
| | | <para>Writing down the SLA, even if your first version consists of |
| | | guesses, helps you reduce performance tuning from an open-ended project |
| | | to a clear set of measurable goals for a manageable project with a definite |
| | | outcome.</para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-constraints"> |
| | | <title>Available Resources</title> |
| | | |
| | | |
| | | <para>With your SLA in hand, take inventory of the server, networks, |
| | | storage, people, and other resources at your disposal. Now is the time to |
| | | estimate whether it is possible to meet the requirements at all.</para> |
| | | |
| | | |
| | | <para>If for example you are expected to serve more throughput than the |
| | | network can transfer, maintain high availability with only one physical |
| | | machine, store 100 GB of backups on a 50 GB partition, or provide 24/7 |
| | | support all alone, no amount of tweaking available resources is likely to |
| | | fix the problem.</para> |
| | | |
| | | |
| | | <para>When checking that the resources you have at least theoretically |
| | | suffice to meet your requirements, do not forget that high availability in |
| | | particular requires at least two of everything to avoid single points |
| | |
| | | |
| | | <section xml:id="perf-hardware"> |
| | | <title>Server Hardware Recommendations</title> |
| | | |
| | | |
| | | <para>Concerning server hardware, OpenDJ runs on systems with Java support, |
| | | and is therefore quite portable. That said, OpenDJ tends to perform best on |
| | | single-board, x86 systems due to low memory latency.</para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-storage"> |
| | | <title>Storage Recommendations</title> |
| | | |
| | | |
| | | <para>OpenDJ is designed to work with local storage for the database, |
| | | not for network file systems such as NFS.</para> |
| | | |
| | | |
| | | <para>High performance storage is essential if you need to handle high |
| | | write throughput.</para> |
| | | |
| | | |
| | | <para condition="local-db">The Berkeley Java Edition DB works well with traditional disks as |
| | | long as the database cache size allows the DB to stay fully cached in |
| | | memory. This is the case because the database transaction log is append |
| | | only. When the DB is too big to stay cached in memory, however, then |
| | | cache misses lead to random disk access, slowing OpenDJ performance.</para> |
| | | |
| | | |
| | | <para condition="local-db">You might mitigate this effect by using solid-state disks for |
| | | persistent storage, or for file system cache.</para> |
| | | |
| | | |
| | | <para>Regarding database size on disk, if you have sustained write traffic |
| | | then the database grows to about twice its initial size on disk. This is |
| | | normal, and due to the way the database manages its logs. The size on disk |
| | |
| | | </section> |
| | | </section> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-testing"> |
| | | <title>Testing Performance</title> |
| | | |
| | | |
| | | <para>Even if you do not need high availability, you still need two of |
| | | everything, because your test environment needs to mimic your production |
| | | environment as closely as possible if you want to avoid nasty |
| | | surprises.</para> |
| | | |
| | | |
| | | <para>In your test environment, you set up OpenDJ as you will later in |
| | | production, and then conduct experiments to determine how best to meet |
| | | the requirements defined in the SLA.</para> |
| | | |
| | | |
| | | <para>Use <link xlink:show="new" xlink:href="reference#make-ldif-1" |
| | | xlink:role="http://docbook.org/xlink/role/olink">make-ldif</link> to generate |
| | | sample data that match what you expect to find in production.</para> |
| | | |
| | | |
| | | <para> |
| | | The OpenDJ LDAP Toolkit provides command-line tools |
| | | to help with basic performance testing. |
| | | </para> |
| | | |
| | | |
| | | <itemizedlist> |
| | | <listitem> |
| | | <para> |
| | |
| | | measures search throughput and response time.</para> |
| | | </listitem> |
| | | </itemizedlist> |
| | | |
| | | |
| | | <para> |
| | | All these commands show you information about the response time distributions, |
| | | and allow you to perform tests at specific levels of throughput. |
| | |
| | | --no-prompt</userinput> |
| | | </screen> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-tweaking"> |
| | | <title>Tweaking OpenDJ Performance</title> |
| | | |
| | | |
| | | <para>When your tests show that OpenDJ performance is lacking even though |
| | | you have the right underlying network, hardware, storage, and system |
| | | resources in place, you can tweak OpenDJ performance in a number of ways. |
| | |
| | | |
| | | <section xml:id="perf-java"> |
| | | <title>Java Settings</title> |
| | | |
| | | |
| | | <para>Default Java settings let you evaluate OpenDJ using limited system |
| | | resources. If you need high performance for production system, test with |
| | | the following JVM options. These apply to the Sun/Oracle JVM.</para> |
| | | |
| | | |
| | | <tip> |
| | | <para> |
| | | To apply JVM settings for your server, |
| | |
| | | ><command>dsjavaproperties</command></link> command. |
| | | </para> |
| | | </tip> |
| | | |
| | | |
| | | <variablelist> |
| | | <varlistentry> |
| | | <term><option>-server</option></term> |
| | |
| | | </varlistentry> |
| | | </variablelist> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-data-storage"> |
| | | <title>Data Storage Settings</title> |
| | | |
| | | |
| | | <para>By default, OpenDJ compresses attribute descriptions and object class |
| | | sets to reduce data size. This is called compact encoding.</para> |
| | | |
| | |
| | | </para> |
| | | </footnote> |
| | | </para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-backend-prop \ |
| | |
| | | <computeroutput>Import task 20120917100628767 scheduled to start Sep 17, 2012 10:06:28 AM CEST</computeroutput> |
| | | </screen> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-import"> |
| | | <title>LDIF Import Settings</title> |
| | | <indexterm> |
| | | <primary>Importing data</primary> |
| | | <secondary>Performance</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>You can tweak OpenDJ to speed up import of large LDIF files.</para> |
| | | |
| | | <para> |
| | |
| | | to set this directory to a <literal>tmpfs</literal> file system, |
| | | such as <filename>/tmp</filename>. |
| | | </para> |
| | | |
| | | |
| | | <para>In some cases, you can improve performance by using the |
| | | <option>--threadCount</option> option with the |
| | | <command>import-ldif</command> command to set the thread count larger than |
| | | the default, which is twice the number of CPUs.</para> |
| | | |
| | | |
| | | <para>If you are certain your LDIF contains only valid entries with |
| | | correct syntax, because the LDIF was exported from OpenDJ with all checks |
| | | active for example, you can skip schema and DN validation. Use the |
| | |
| | | <option>--skipDNValidation</option> options with the |
| | | <command>import-ldif</command> command to skip validation.</para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-db-cache"> |
| | | <title>Database Cache Settings</title> |
| | | |
| | | |
| | | <para> |
| | | Database cache size is, by default, set as a percentage of the JVM heap |
| | | by using the backend property <literal>db-cache-percent</literal>. |
| | |
| | | For heaps larger than 2 GB, |
| | | you can allocate a larger percentage of heap space to DB cache. |
| | | </para> |
| | | |
| | | |
| | | <para>Depending on the size of your database, you have a choice to make |
| | | about database cache settings.</para> |
| | | |
| | | |
| | | <para> |
| | | By caching the entire database in the JVM heap, |
| | | you can get more deterministic response times and limit disk I/O. |
| | |
| | | Test database pre-load on startup by setting |
| | | the <literal>preload-time-limit</literal> for the backend. |
| | | </para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-backend-prop \ |
| | |
| | | --trustAll \ |
| | | --no-prompt</userinput> |
| | | </screen> |
| | | |
| | | |
| | | <para>Database pre-load is single-threaded, and loads each database one |
| | | at a time.</para> |
| | | |
| | | |
| | | <para>By allowing file system cache to hold the portion of database that |
| | | does not fit in DB cache, you trade less deterministic and slightly slower |
| | | response times for not having to pre-load the DB and not having garbage |
| | | collection pauses with large JVMs. How you configure the file system cache |
| | | depends on your operating system.</para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-entry-cache"> |
| | | <title>Entry Cache Settings</title> |
| | | |
| | | |
| | | <para>OpenDJ implements an entry cache. The entry cache is not designed to |
| | | cache every entry in your database, but is instead useful in cases where you |
| | | have a few, typically large entries that are regularly used. For example, if |
| | | you have a few large static groups and applications that regularly check |
| | | group membership, you could cache your group entries.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | create-entry-cache \ |
| | |
| | | </screen> |
| | | |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="perf-logging"> |
| | | <title>Logging Settings</title> |
| | | |
| | | |
| | | <para>Debug logs trace the internal workings of OpenDJ, and therefore |
| | | generally should be used sparingly, especially in high performance |
| | | deployments.</para> |
| | | |
| | | |
| | | <para>In general leave other logs active for production environments to |
| | | help troubleshoot any issues that arise.</para> |
| | | |
| | | |
| | | <para>For OpenDJ servers handling very high throughput, however, such as |
| | | 100,000 operations per second or more, the access log constitute a |
| | | performance bottleneck, as each client request results in multiple access log |
| | | messages. Consider disabling the access log in such cases.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>dsconfig \ |
| | | set-log-publisher-prop \ |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-jvm-opts' |
| | | xmlns='http://docbook.org/ns/docbook' |
| | |
| | | <para>In production, use at least a 2 GB heap (-Xms2G -Xmx2G).</para> |
| | | </listitem> |
| | | </varlistentry> |
| | | |
| | | |
| | | <varlistentry> |
| | | <term>Server optimizations</term> |
| | | <listitem> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-uninstall' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | xmlns:xlink='http://www.w3.org/1999/xlink'> |
| | | <title>Removing OpenDJ Servers</title> |
| | | <indexterm><primary>Uninstalling</primary></indexterm> |
| | | |
| | | |
| | | <itemizedlist> |
| | | <para>This chapter includes the following procedures.</para> |
| | | |
| | |
| | | <listitem><para><xref linkend="uninstall-msi" /></para></listitem> |
| | | <listitem><para><xref linkend="uninstall-rpm" /></para></listitem> |
| | | </itemizedlist> |
| | | |
| | | |
| | | <procedure xml:id="uninstall-gui"> |
| | | <title>To Uninstall OpenDJ From the Graphical Uninstaller</title> |
| | | <step> |
| | |
| | | <step> |
| | | <para>When the process is finished, you might still have some files |
| | | to remove manually.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-uninstall-finished"> |
| | | <imageobject> |
| | | <imagedata fileref="images/uninstall-finished.png" format="PNG" /> |
| | |
| | | |
| | | <procedure xml:id="uninstall-cli"> |
| | | <title>To Uninstall OpenDJ On the Command Line</title> |
| | | |
| | | |
| | | <step> |
| | | <para>Login as the user who installed and runs the server.</para> |
| | | </step> |
| | | |
| | | |
| | | <step> |
| | | <para>Run the <command>/path/to/opendj/uninstall --cli</command> command.</para> |
| | | |
| | | |
| | | <para>This command starts the removal program in interactive mode on the |
| | | command line, prompting you for each option. Alternatively, use additional |
| | | <command>uninstall</command> options to specify choices for the options. |
| | | See <command>uninstall --help</command> for more information.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>/path/to/opendj/uninstall --cli</userinput> |
| | | <computeroutput>Do you want to remove all components of the server or select the components to |
| | |
| | | |
| | | q) quit |
| | | |
| | | Enter choice [1]: |
| | | Enter choice [1]: |
| | | |
| | | The server is currently running and must be stopped before uninstallation can |
| | | continue. |
| | | Stop the Server and permanently delete the files? (yes / no) [yes]: |
| | | Stop the Server and permanently delete the files? (yes / no) [yes]: |
| | | |
| | | Stopping Directory Server ..... Done. |
| | | Deleting Files under the Installation Path ..... Done. |
| | |
| | | <step> |
| | | <para>If the command output tells you to delete files manually, then remove |
| | | those remaining files to complete the process.</para> |
| | | |
| | | |
| | | <screen> |
| | | $ <userinput>rm -rf /path/to/opendj</userinput> |
| | | </screen> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <book xml:id='install-guide' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | </info> |
| | | |
| | | <toc /> |
| | | |
| | | |
| | | <xinclude:include href="preface.xml" /> |
| | | |
| | | <xinclude:include href='chap-install-gui.xml' /> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <preface xml:id='preface' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2012 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <legalnotice xml:id='legalnotice' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | >Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported |
| | | License</link>.</para></caption> |
| | | </mediaobject> |
| | | |
| | | |
| | | <para>To view a copy of this license, visit |
| | | <link>http://creativecommons.org/licenses/by-nc-nd/3.0/</link> or send a |
| | | letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, |
| | | California, 94041, USA.</para> |
| | | |
| | | |
| | | <para>Trademarks are the property of their respective owners.</para> |
| | | |
| | | <para>UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR |
| | |
| | | DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT |
| | | DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED |
| | | WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.</para> |
| | | |
| | | |
| | | <para>EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL |
| | | LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, |
| | | CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR |
| | | THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF |
| | | SUCH DAMAGES.</para> |
| | | |
| | | |
| | | <para>DejaVu Fonts</para> |
| | | <para>Bitstream Vera Fonts Copyright</para> |
| | | <para>Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream |
| | |
| | | be used in advertising or otherwise to promote the sale, use or other dealings |
| | | in this Font Software without prior written authorization from Tavmjong Bah. |
| | | For further information, contact: tavmjong @ free . fr.</para> |
| | | </legalnotice> |
| | | </legalnotice> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2012-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <refentry xml:id='make-ldif-template-5' |
| | | xmlns='http://docbook.org/ns/docbook' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <appendix xml:id='appendix-controls' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | Control</link></para> |
| | | </listitem> |
| | | </varlistentry> |
| | | |
| | | |
| | | <varlistentry xml:id="public-changelog-exchange-control"> |
| | | <term>Public Changelog Exchange Control</term> |
| | | <listitem> |
| | |
| | | <secondary>Simple paged results</secondary> |
| | | </indexterm> |
| | | <para>Object Identifier: 1.2.840.113556.1.4.319</para> |
| | | <para>RFC: <link xlink:href='http://tools.ietf.org/html/rfc2696'>RFC 2696 |
| | | <para>RFC: <link xlink:href='http://tools.ietf.org/html/rfc2696'>RFC 2696 |
| | | - LDAP Control Extension for Simple Paged Results Manipulation</link> |
| | | </para> |
| | | </listitem> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <appendix xml:id='appendix-extended-ops' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | xmlns:xlink='http://www.w3.org/1999/xlink' |
| | | xmlns:xinclude='http://www.w3.org/2001/XInclude'> |
| | | <title>LDAP Extended Operations</title> |
| | | |
| | | |
| | | <para>Extended operations allow additional operations to be defined for |
| | | services not already available in the protocol</para> |
| | | |
| | | <para>OpenDJ software supports the following LDAP extended operations.</para> |
| | | |
| | | |
| | | <variablelist> |
| | | <varlistentry xml:id="cancel-extended-request"> |
| | | <term>Cancel Extended Request</term> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <appendix xml:id='appendix-ports-used' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | <varlistentry> |
| | | <term>"heartBeatTimeoutMilliSeconds" (optional)</term> |
| | | <listitem> |
| | | <para>When the gateway tests a connection, if the heartbeat does not come back after |
| | | <para>When the gateway tests a connection, if the heartbeat does not come back after |
| | | <literal>heartBeatTimeoutMilliSeconds</literal> the connection is marked as closed.</para> |
| | | |
| | | <para>Default: 500 (milliseconds)</para> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <appendix xml:id='appendix-standards' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-before-you-install' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | <primary>Java</primary> |
| | | <secondary>Requirements</secondary> |
| | | </indexterm> |
| | | |
| | | |
| | | <para>OpenDJ software consists of pure Java applications. OpenDJ servers |
| | | and clients therefore should run on any system with full Java support. |
| | | OpenDJ is tested on a variety of operating systems, including Solaris |
| | | SPARC and x86, various Linux distributions, Microsoft Windows, |
| | | and Apple Mac OS X.</para> |
| | | |
| | | |
| | | <para>OpenDJ software requires Java 7 or 8, specifically at least the Java |
| | | Standard Edition runtime environment. ForgeRock has tested most with Oracle |
| | | Java Platform, Standard Edition.</para> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-compatibility' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | |
| | | <section xml:id="deprecated-functionality"> |
| | | <title>Deprecated Functionality</title> |
| | | |
| | | |
| | | <para> |
| | | TODO: Update for next release |
| | | </para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="removed-functionality"> |
| | | <title>Removed Functionality</title> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-feedback' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-whats-new' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | |
| | | <para>Compared to the OpenDJ <?eval ${docPreviousVersion}?> release, OpenDJ |
| | | <?eval ${docTargetVersion}?> provides the following new features.</para> |
| | | |
| | | |
| | | <itemizedlist> |
| | | |
| | | <listitem> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2012-2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2012-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <glossary xml:id='glossary' |
| | | xmlns='http://docbook.org/ns/docbook' |
| | |
| | | <glossentry> |
| | | <glossterm>Password policy</glossterm> |
| | | <glossdef> |
| | | <para>A set of rules regarding what sequence of characters constitutes an |
| | | <para>A set of rules regarding what sequence of characters constitutes an |
| | | acceptable password. Acceptable passwords are generally those that would be |
| | | too difficult for another user or an automated program to guess and thereby |
| | | defeat the password mechanism. Password policies may require a minimum |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2013 ForgeRock AS |
| | | ! Copyright 2013-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <itemizedlist |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2013 ForgeRock AS |
| | | ! Copyright 2013-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <para xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <section xml:id="accessing-doc-online" |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <section xml:id="formatting-conventions" |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <section xml:id="joining-the-community" |
| | |
| | | documentation, there is a mailing list which can be found at |
| | | <link xlink:href='https://lists.forgerock.org/mailman/listinfo/opendj' |
| | | >https://lists.forgerock.org/mailman/listinfo/opendj</link> where you are |
| | | likely to find an answer. You can also make suggestions |
| | | regarding updates at the documentation mailing list |
| | | likely to find an answer. You can also make suggestions |
| | | regarding updates at the documentation mailing list |
| | | (<link xlink:href='https://lists.forgerock.org/mailman/listinfo/docs' |
| | | xlink:show="new">https://lists.forgerock.org/mailman/listinfo/docs</link>).</para> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <section xml:id="prerequisites-file-descriptors" |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2012 ForgeRock AS |
| | | ! |
| | | ! Copyright 2012-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <table xml:id='filter-operators' |
| | | xmlns='http://docbook.org/ns/docbook' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <project name="${project.name}" xmlns="http://maven.apache.org/DECORATION/1.0.1" |
| | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | </section> |
| | | </body> |
| | | </document> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | <section name="Get the OpenDJ Directory Server"> |
| | | <p> |
| | | You can obtain the OpenDJ Directory Server using any of the following |
| | | methods: |
| | | methods: |
| | | </p> |
| | | <subsection name="Download"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2013 ForgeRock AS |
| | | ! |
| | | ! Copyright 2013-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document xmlns="http://maven.apache.org/XDOC/2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" |
| | | xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd"> |
| | |
| | | <section name="Get ${project.name}"> |
| | | <p> |
| | | Start developing your applications by obtaining ${project.name} |
| | | using any of the following methods: |
| | | using any of the following methods: |
| | | </p> |
| | | <subsection name="Maven"> |
| | | <p> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-best-practices' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | share connections in a pool, avoiding the overhead of setting up and tearing |
| | | down connections if you use them often.</para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="health-check-connections"> |
| | | <title>Health Check Connections</title> |
| | | <indexterm> |
| | |
| | | such as unindexed searches fail to complete before the timeout. |
| | | </para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="request-what-you-need-all-at-once"> |
| | | <title>Request Exactly What You Need All At Once</title> |
| | | |
| | |
| | | is <literal>mail</literal> and <literal>cn</literal>, then specify both |
| | | attributes in your <literal>SearchRequest</literal>.</para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="use-specific-filters"> |
| | | <title>Use Specific LDAP Filters</title> |
| | | <indexterm> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2012 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-i18n' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-ldif' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-understanding-ldap' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | phone book to find the telephone number and street address associated with the |
| | | name. If you are bored, curious, or have lots of time, you can also read |
| | | through the dictionary, phone book, or directory, entry after entry.</para> |
| | | |
| | | |
| | | <para>Where a directory differs from a paper dictionary or phone book is |
| | | in how entries are indexed. Dictionaries typically have one index: words |
| | | in alphabetical order. Phone books, too: names in alphabetical order. |
| | |
| | | |
| | | <section xml:id="ldap-directory-history"> |
| | | <title>How Directories & LDAP Evolved</title> |
| | | |
| | | |
| | | <para>Phone companies have been managing directories for many decades. The |
| | | Internet itself has relied on distributed directory services like DNS since |
| | | the mid 1980s.</para> |
| | | |
| | | |
| | | <para>It was not until the late 1980s, however, that experts from what is now |
| | | the International Telecommunications Union brought forth the X.500 set of |
| | | international standards, including Directory Access Protocol. The X.500 |
| | |
| | | data definitions for general-purpose directory services. The X.500 standards |
| | | were designed to meet the needs of systems built according to the X.400 |
| | | standards, covering electronic mail services.</para> |
| | | |
| | | |
| | | <para>Lightweight Directory Access Protocol has been around since the early |
| | | 1990s. LDAP was originally developed as an alternative protocol that would |
| | | allow directory access over Internet protocols rather than OSI protocols, |
| | | and be lightweight enough for desktop implementations. By the mid 1990s, LDAP |
| | | directory servers became generally available and widely used.</para> |
| | | |
| | | |
| | | <para>Until the late 1990s, LDAP directory servers were designed primarily |
| | | with quick lookups and high availability for lookups in mind. LDAP directory |
| | | servers replicate data, so when an update is made, that update gets pushed |
| | |
| | | lookups can continue on other servers. Furthermore, if a directory service |
| | | needs to support more lookups, the administrator can simply add another |
| | | directory server to replicate with its peers.</para> |
| | | |
| | | |
| | | <para>As organizations rolled out larger and larger directories serving more |
| | | and more applications, they discovered that they needed high availability |
| | | not only for lookups, but also for updates. Around the year 2000 directories |
| | |
| | | read-write servers. Soon thereafter the organizations with the very largest |
| | | directories started to need higher update performance as well as |
| | | availability.</para> |
| | | |
| | | |
| | | <para>The OpenDJ code base began in the mid 2000s, when engineers solving the |
| | | update performance issue decided the cost of adapting the existing C-based |
| | | directory technology for high performance updates would be higher than the |
| | |
| | | directory server can retrieve them more quickly.<footnote><para>Attribute |
| | | values do not have to be strings. Some attribute values are pure binary like |
| | | certificates and photos.</para></footnote></para> |
| | | |
| | | <para>The entry also has a unique identifier, shown at the top of the entry, |
| | | |
| | | <para>The entry also has a unique identifier, shown at the top of the entry, |
| | | <literal>dn: uid=bjensen,ou=People,dc=example,dc=com</literal>. DN stands |
| | | for distinguished name. No two entries in the directory have the same |
| | | distinguished name. Yet, DNs are typically composed of case insensitive |
| | |
| | | sn: DN Escape Characters |
| | | mail: escape@example.com</computeroutput> |
| | | </screen></footnote></para> |
| | | |
| | | |
| | | <para>LDAP entries are arranged hierarchically in the directory. The |
| | | hierarchical organization resembles a file system on a PC or a web server, |
| | | often imagined as an upside-down tree structure, looking similar to a |
| | |
| | | separated by commas, |
| | | <literal>uid=bjensen,ou=People,dc=example,dc=com</literal>. The names are |
| | | little-endian. The components reflect the hierarchy of directory entries.</para> |
| | | |
| | | |
| | | <mediaobject xml:id="figure-data-organization"> |
| | | <alt>Directory data hierarchy as seen in OpenDJ Control Panel.</alt> |
| | | <imageobject> |
| | |
| | | the Manage Entries browser.</para> |
| | | </textobject> |
| | | </mediaobject> |
| | | |
| | | |
| | | <para>Barbara Jensen's entry is located under an entry with DN |
| | | <literal>ou=People,dc=example,dc=com</literal>, an organization unit and |
| | | parent entry for the people at Example.com. The |
| | |
| | | which are operational attributes used to control access to directory data. |
| | | </para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="ldap-client-server-communication"> |
| | | <title>LDAP Client & Server Communication</title> |
| | | <indexterm> |
| | |
| | | </listitem> |
| | | </itemizedlist> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="standard-ldapv3-extensions"> |
| | | <title>Standard LDAPv3 & Extensions</title> |
| | | <para>LDAP has standardized two mechanisms for extending what directory |
| | |
| | | server after the cancel is complete. The StartTLS Extended Operation allows |
| | | a client to connect to a server on an unsecure port, but then start |
| | | Transport Layer Security negotiations to protect communications.</para> |
| | | |
| | | |
| | | <para>Both LDAP controls and extended operations are demonstrated later in |
| | | this guide. OpenDJ directory server supports many LDAP controls and a few |
| | | LDAP extended operations, controls and extended operations matching those |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <book xml:id='dev-guide' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | </info> |
| | | |
| | | <toc /> |
| | | |
| | | |
| | | <xinclude:include href="preface.xml" /> |
| | | |
| | | |
| | | <xinclude:include href='chap-understanding-ldap.xml' /> |
| | | <xinclude:include href='chap-best-practices.xml' /> |
| | | <xinclude:include href='chap-get-sdk.xml' /> |
| | |
| | | <xinclude:include href='chap-extended-ops.xml' /> |
| | | <xinclude:include href='chap-i18n.xml' /> |
| | | <xinclude:include href='chap-simple-proxy.xml' /> |
| | | |
| | | |
| | | <reference xml:id="dev-tools-ref"> |
| | | <title>Tools Reference</title> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <preface xml:id='preface' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2012 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <legalnotice xml:id='legalnotice' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | >Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported |
| | | License</link>.</para></caption> |
| | | </mediaobject> |
| | | |
| | | |
| | | <para>To view a copy of this license, visit |
| | | <link>http://creativecommons.org/licenses/by-nc-nd/3.0/</link> or send a |
| | | letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, |
| | | California, 94041, USA.</para> |
| | | |
| | | |
| | | <para>Trademarks are the property of their respective owners.</para> |
| | | |
| | | <para>UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR |
| | |
| | | DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT |
| | | DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED |
| | | WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.</para> |
| | | |
| | | |
| | | <para>EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL |
| | | LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, |
| | | CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR |
| | | THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF |
| | | SUCH DAMAGES.</para> |
| | | |
| | | |
| | | <para>DejaVu Fonts</para> |
| | | <para>Bitstream Vera Fonts Copyright</para> |
| | | <para>Copyright (c) 2003 by Bitstream, Inc. All Rights Reserved. Bitstream |
| | |
| | | be used in advertising or otherwise to promote the sale, use or other dealings |
| | | in this Font Software without prior written authorization from Tavmjong Bah. |
| | | For further information, contact: tavmjong @ free . fr.</para> |
| | | </legalnotice> |
| | | </legalnotice> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-before-you-install' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | Microsoft Windows, |
| | | and Apple Mac OS X. |
| | | </para> |
| | | |
| | | |
| | | <para> |
| | | OpenDJ software requires Java 7 or 8, |
| | | specifically at least the Java Standard Edition runtime environment. |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-compatibility' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | |
| | | <section xml:id="deprecation"> |
| | | <title>Deprecation</title> |
| | | |
| | | |
| | | <para> |
| | | Deprecated APIs are listed in the API Specification, on the |
| | | <link |
| | |
| | | Deprecated APIs are likely to be removed in a future release. |
| | | </para> |
| | | </section> |
| | | |
| | | |
| | | <section xml:id="removals"> |
| | | <title>Removals</title> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-feedback' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-get-sdk' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014 ForgeRock AS |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-issues' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-support' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <chapter xml:id='chap-whats-new' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <book xml:id='sdk-release-notes' |
| | | xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2012 ForgeRock AS |
| | | ! |
| | | ! Copyright 2012-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <glossary xml:id='glossary' |
| | | xmlns='http://docbook.org/ns/docbook' |
| | |
| | | <glossentry> |
| | | <glossterm>Password policy</glossterm> |
| | | <glossdef> |
| | | <para>A set of rules regarding what sequence of characters constitutes an |
| | | <para>A set of rules regarding what sequence of characters constitutes an |
| | | acceptable password. Acceptable passwords are generally those that would be |
| | | too difficult for another user or an automated program to guess and thereby |
| | | defeat the password mechanism. Password policies may require a minimum |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2014 ForgeRock AS |
| | | ! Copyright 2014-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <informalexample xmlns='http://docbook.org/ns/docbook' version='5.0' xml:lang='en' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2013 ForgeRock AS |
| | | ! Copyright 2013-2015 ForgeRock AS |
| | | ! |
| | | --> |
| | | <itemizedlist |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <section xml:id="accessing-doc-online" |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <section xml:id="formatting-conventions" |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <section xml:id="joining-the-community" |
| | |
| | | documentation, there is a mailing list which can be found at |
| | | <link xlink:href='https://lists.forgerock.org/mailman/listinfo/opendj' |
| | | >https://lists.forgerock.org/mailman/listinfo/opendj</link> where you are |
| | | likely to find an answer. You can also make suggestions |
| | | regarding updates at the documentation mailing list |
| | | likely to find an answer. You can also make suggestions |
| | | regarding updates at the documentation mailing list |
| | | (<link xlink:href='https://lists.forgerock.org/mailman/listinfo/docs' |
| | | xlink:show="new">https://lists.forgerock.org/mailman/listinfo/docs</link>).</para> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2012 ForgeRock AS |
| | | ! |
| | | ! Copyright 2012-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <table xml:id='filter-operators' |
| | | xmlns='http://docbook.org/ns/docbook' |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <faqs |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | <item name="SDK Developer Guide" href="./doc/bootstrap/dev-guide/index.html" /> |
| | | <item name="SDK Javadoc" href="./opendj-core/apidocs/index.html" /> |
| | | </menu> |
| | | |
| | | |
| | | <menu name="OpenDJ Development" inherit="top"> |
| | | <item name="Source Repository" href="source-repository.html" /> |
| | | <item name="Continuous Integration" href="integration.html" /> |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011 ForgeRock AS |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document |
| | | xmlns="http://maven.apache.org/XDOC/2.0" |
| | |
| | | </section> |
| | | </body> |
| | | </document> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | ! |
| | | --> |
| | | <document |
| | | xmlns="http://maven.apache.org/XDOC/2.0" |
| | |
| | | |
| | | <dt>Configuration Reference</dt> |
| | | <dd><a href="./opendj-server/configref/index.html">HTML</a></dd> |
| | | |
| | | |
| | | <dt>Server Plugin API Specification</dt> |
| | | <dd><a href="./opendj-server/javadoc/index.html">HTML</a></dd> |
| | | |
| | | |
| | | <dt>SDK Developer Guide</dt> |
| | | <dd> |
| | | <a href="./doc/bootstrap/dev-guide/index.html">HTML</a>, |
| | |
| | | </section> |
| | | </body> |
| | | </document> |
| | | |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document |
| | |
| | | ! or send a letter to Creative Commons, 444 Castro Street, |
| | | ! Suite 900, Mountain View, California, 94041, USA. |
| | | ! |
| | | ! You can also obtain a copy of the license at |
| | | ! trunk/opendj3/legal-notices/CC-BY-NC-ND.txt. |
| | | ! You can also obtain a copy of the license at legal-notices/CC-BY-NC-ND.txt. |
| | | ! See the License for the specific language governing permissions |
| | | ! and limitations under the License. |
| | | ! |
| | |
| | | ! |
| | | ! CCPL HEADER END |
| | | ! |
| | | ! Copyright 2011-2013 ForgeRock AS |
| | | ! Copyright 2011-2015 ForgeRock AS. |
| | | ! |
| | | --> |
| | | <document |
| | |
| | | </section> |
| | | </body> |
| | | </document> |
| | | |