Sending Parameters in the Command Line

3.3. Sending Parameters in the Command Line

The setup utility, setup-ds-admin.pl, allows settings for all three configuration components — General (host server), slapd (LDAP server), and admin (Administration Server) — to be passed directly in the command line. Command-line arguments correspond to the parameters and values set in the .inf file. The arguments used with setup-ds-admin.plspecify the .inf setup file section (General, slapd, or admin), parameter, and value in the following form:

section.parameter=value

For example, to set the machine name, suffix, and Directory Server port of the new instance, the command is as follows:

/usr/sbin/setup-ds-admin.pl General.FullMachineName=ldap.example.com

“slapd.Suffix=dc=example, dc=com” slapd.ServerPort=389

NOTE

Passing arguments in the command line or specifying an .inf sets the defaults used in the interactive prompt unless they are used with the s (silent) option.

Argument values containing spaces or other shell special characters must quoted to prevent the shell from interpreting them. In the previous example, the suffix value has a space character, so the entire parameter has to be quoted. If many of the parameters have to be quoted or escaped, use an .inf file instead.

You can use an .inf file in conjunction with command line parameters. Parameters set in the command line override those specified in an .inf file, which is useful for creating an .inf file to use to set up many Directory Servers. Many of the parameters can be the same, such as ConfigDirectoryLdapURL, ones specific to the host, such as FullMachineName have to be unique. For example:

setup-ds-admin.pl -s -f common.inf

General.FullMachineName=ldap37.example.com

slapd.ServerIdentifier=ldap37

This command uses the common parameters specified in the common.inf file, but overrides FullMachineName and ServerIdentifier with the command line arguments.

85