Administration Interfaces & Tools 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. 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 no doubt need no more than to know where to start in the Control Panel to accomplish what you set out to do. 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. This chapter takes a quick look at the tools for managing directory services.
Control Panel Control panel OpenDJ Control Panel offers a graphical user interface for 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. Start OpenDJ Control Panel. (UNIX) Run opendj/bin/control-panel. (Windows) Double-click opendj\bat\control-panel.bat. (Mac OS X) Double-click opendj/bin/ControlPanel.app. 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 Control Panel, you must start the Control Panel on the system where 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. OpenDJ Control Panel displays key information about the server. Down the left side of OpenDJ Control Panel, notice what you can configure. Directory Data Directory data provisioning is typically not something you do by hand in most deployments. Usually entries are created, modified, and deleted through specific directory client applications. The Manage Entries window can be useful, however, both in the lab as you design and test directory data, and also if you modify individual ACIs or debug issues with particular entries. The Manage Entries window can check that your changes are valid before sending the request to the directory. Additionally, the Directory Data list makes it easy to create a new base DN, and then import user data for the new base DN from LDIF. You can also use the tools in the list to export user data to LDIF, and to backup and restore user data. Schema The Manage Schema window lets you browse and modify the rules that define how data is stored in the directory. You can add new schema definitions such as new attribute types and new object classes while the server is running, and the changes you make take effect immediately. Indexes The Manage Indexes window gives you a quick overview of all the indexes currently maintained for directory attributes. To protect your directory resources from being absorbed by costly searches on unindexed attributes, you may choose to keep the default behavior, preventing unindexed searches, instead adding indexes required by specific applications. (Notice that if the number of user data entries is smaller than the default resource limits, you can still perform what appear to be unindexed searches. That is because the dn2id index returns all user data entries without hitting a resource limit that would make the search unindexed.) OpenDJ Control Panel also allows you to verify and rebuild existing indexes, which you may have to do after an upgrade operation, or if you have reason to suspect index corruption. Monitoring The Monitoring list gives you windows to observe information about the system, the JVM used, and indications about how the cache is used, whether the work queue has been filling up, as well as details about the database. You can also view the numbers and types of requests arriving over the connection handlers, and the current tasks in progress as well. Runtime Options If you did not set appropriate JVM runtime options during the installation process, this is the list that allows you to do so through the Control Panel.
Command-Line Tools Commands All OpenDJ command-line tools take the option. All commands call Java programs and therefore involve starting a JVM. Setup, upgrade, and uninstall tools are located in the directory where you unpacked OpenDJ, such as /path/to/opendj. Find the additional command-line tools for your platform. (UNIX) In opendj/bin. (Windows) In opendj\bat. The following list uses the UNIX names for the tools. On Windows all command-line tools have the extension .bat. backup Backup or schedule backup of directory data. base64 Encode and decode data in base64 format. Base64 encoding represents binary data in ASCII, and can be used to encode character strings in LDIF, for example. create-rc-script (UNIX) Generate a script you can use to start, stop, and restart the server either directly or at system boot and shutdown. Use create-rc-script -f script-file. dbtest Debug JE databases. dsconfig The dsconfig command is the primary command-line tool for viewing and editing OpenDJ configuration. When started without arguments, dsconfig prompts you for administration connection information. Once connected it presents you with a menu-driven interface to the server configuration. When you pass connection information, subcommands, and additional options to dsconfig, the command runs in script mode and so is not interactive. You can prepare dsconfig batch scripts by running the tool with the option in interactive mode, then reading from the batch file with the option in script mode. Batch files can be useful when you have many dsconfig commands to run and want to avoid starting the JVM and setting up a new connection for each command. In addition to the dsconfig reference that covers subcommands, the Configuration Reference covers the properties you can set using the dsconfig command. dsjavaproperties Apply changes you make to opendj/config/java.properties, which sets Java runtime options. dsreplication Configure data replication between directory servers to keep their contents in sync. encode-password Encode a clear text password according to one of the available storage schemes. export-ldif Export directory data to LDAP Data Interchange Format, a standard, portable, text-based representation of directory content. import-ldif Load LDIF content into the directory, overwriting existing data. ldapcompare Compare the attribute values you specify with those stored on entries in the directory. ldapdelete Delete one entry or an entire branch of subordinate entries in the directory. ldapmodify Modify the specified attribute values for the specified entries. Use the ldapmodify command with the option to add new entries. ldappasswordmodify Modify user passwords. ldapsearch Search a branch of directory data for entries matching the LDAP filter that you specify. ldif-diff Display differences between two LDIF files, with the resulting output having LDIF format. ldifmodify Similar to the ldapmodify command, modify specified attribute values for specified entries in an LDIF file. ldifsearch Similar to the ldapsearch command, search a branch of data in LDIF for entries matching the LDAP filter you specify. list-backends List backends and base DNs served by OpenDJ. make-ldif Generate directory data in LDIF, based on templates that define how the data should appear. The make-ldif command is designed to help you quickly generate test data that mimics data you expect to have in production, but without compromising private information. manage-account Lock and unlock user accounts, and view and manipulate password policy state information. manage-tasks View information about tasks scheduled to run in the server, and cancel specified tasks. rebuild-index Rebuild an index stored in a JE backend. restore Restore user data from backup. start-ds Start OpenDJ directory server. status Display information about the server. stop-ds Stop OpenDJ directory server. verify-index Verify that an index stored in a JE backend is not corrupt. windows-service.bat (Windows) Register OpenDJ as a Windows Service.