mirror of
https://github.com/bklang/ldap2dns.git
synced 2025-10-26 14:04:14 -04:00
git-svn-id: https://svn.alkaloid.net/gpl/ldap2dns/trunk@419 06cd67b6-e706-0410-b29e-9de616bca6e9
76 lines
3.7 KiB
Plaintext
76 lines
3.7 KiB
Plaintext
These instructions talk about how to configure ldap2dns to work with
|
|
Solaris 10's Service Management Framework (SMF).
|
|
|
|
Start by importing the SMF manifest into the running configuration:
|
|
$ sudo svccfg import ldap2dns.xml
|
|
|
|
This imports the manifest but does not attempt to start the service. It also
|
|
seeds a number of important environment variables which will replace the
|
|
command-line options to instruct ldap2dns how to behave.
|
|
|
|
Note that there is currently (2006/12/27) a bug in svccfg which prevents the
|
|
svccfg utility from setting environment variables whose values contain the
|
|
equals ('=') sign. Since LDAP DNs contain the equals sign, a workaround is
|
|
required. Unfortunately it has the side effect of erasing any existing
|
|
environment variables set for the service. Thus, you must set the
|
|
LDAP2DNS_BASEDN and LDAP2DNS_BINDDN before setting any other variables. This
|
|
will be true of any variable whose value contains the equals sign.
|
|
|
|
The following variables are the minimum required to make ldap2dns function:
|
|
LDAP2DNS_HOST (Can be ignored if the LDAP server is localhost)
|
|
LDAP2DNS_BASEDN (Can be ignored if /etc/ldap.conf is properly configured)
|
|
LDAP2DNS_BINDDN (Can be ignored if binding anonymously or ldap.conf is setup)
|
|
LDAP2DNS_PASSWORD (Can be ignored if binding anonymously or ldap.conf is setup)
|
|
LDAP2DNS_OUTPUT (one of "data" or "db" for TinyDNS or BIND respectively)
|
|
TINYDNS_DIR (Only if using TinyDNS output)
|
|
LDAP2DNS_DAEMONIZE (Must be set to non-null value)
|
|
|
|
Also, you'll most likely want to set LDAP2DNS_EXEC to have the name service
|
|
notified when changes occur.
|
|
|
|
After importing the manifest, execute the following command to set any required
|
|
environment variables that contain the equals sign. Here is an example which
|
|
sets BASEDN and BINDDN:
|
|
|
|
$ sudo svccfg -s ldap2dns:default 'setprop start/environment = astring: ("LDAP2DNS_BASEDN=ou=DNS,dc=alkaloid,dc=net" "LDAP2DNS_BINDDN=uid=ldap2dns,ou=People,dc=alkaloid,dc=net")'
|
|
|
|
Note that is one continuous line. The single quotes are required to ensure the
|
|
shell does not attempt to interpret the parenthesis. The parenthesis are
|
|
required to ensure that svccfg interprets the two quoted values as a single
|
|
value. The quotes are required to separate the environment variables in SMF.
|
|
|
|
If you are running multiple instances of ldap2dns, make sure you replace
|
|
":default" with the name of the instance you want to configure.
|
|
|
|
Once you've set up the variables containing equals signs, continue by setting
|
|
any remaining required variables:
|
|
$ sudo svccfg -s ldap2dns:default setenv -m start LDAP2DNS_PASSWORD secret
|
|
$ sudo svccfg -s ldap2dns:default setenv -m start LDAP2DNS_HOST ldap.example.com
|
|
$ sudo svccfg -s ldap2dns:default setenv -m start LDAP2DNS_TINYDNSDIR /etc/tinydns/root
|
|
$ sudo svccfg -s ldap2dns:default setenv -m start LDAP2DNS_OUTPUT data
|
|
$ sudo svccfg -s ldap2dns:default setenv -m start LDAP2DNS_DAEMONIZE true
|
|
|
|
|
|
When complete, let SMF know it needs to re-read the configuration for the
|
|
service:
|
|
$ sudo svcadm refresh ldap2dns:default
|
|
|
|
If you want to check your work, execute the following command to dump the
|
|
configured environment (note this only works after refreshing the service; to
|
|
check before refreshing you must use svccfg):
|
|
$ sudo svcprop -p start/environment ldap2dns:default
|
|
|
|
Finally, once everything looks good, start up ldap2dns:
|
|
$ sudo svcadm enable ldap2dns:default
|
|
|
|
Check for any errors:
|
|
$ svcs -vx ldap2dns:default
|
|
svc:/application/management/ldap2dns:default (LDAP to DNS manager)
|
|
State: online since Wed Dec 27 15:12:51 2006
|
|
See: man -M /usr/man -s 1 ldap2dns
|
|
See: /var/svc/log/application-management-ldap2dns:default.log
|
|
Impact: None.
|
|
|
|
Looks good! In case the state does not read "online" for any reason, check
|
|
the log file at /var/svc/log/application-management-ldap2dns:default.log
|