Directory Server
Sometimes you may (or may not) want to have a Directory Server at your hand for, say, storing your addresses. Let us try if we can have Directory Server in virtual instance.
In this scenario, we use x86(i686) machine as host (not x64).
Download x86 version of Directory Server installer (V19710-01.zip) from OTN. And deploy it onto target virtual machine.
$ scp V19710-01.zip root@10.0.3.xxx:~/
As virtual machine have very limited number of tools, therefore you need to install basic commands like tar/unzip. Following sample will install Directory Server under /home/dsee7 directory.
$ sudo yum install unzip tar
$ unzip V19710-01.zip
$ tar xfv DSEE.7.0.Linux-X86-zip.tar.gz
$ DSEE_ZIP_Distribution/
$ unzip -d /home sun-dsee7.zip
Ok, installation finished. Now let’s move on to configuration.
Let’s create instance.
$ ./dsadm create /home/dsee7/instance
Choose the Directory Manager password:
Confirm the Directory Manager password:
Use 'dsadm start '/home/dsee7/instance'' to start the instance
Now you may encounter problem that instance start fails.
$ ./dsadm start ../instance/
ERROR<4167> - Startup - conn=-1 op=-1 msgId=-1 - System error Load library /home/dsee7/lib/pwdstorage-plugin.so: error /home/dsee7/lib/../lib/private/libfreebl3.so: version 'NSSRAWHASH_3.12.3' not found (required by /lib/libcrypt.so.1)
libcrypt.so is dependent upon NSS.
$ ldd pwdstorage-plugin.so
./pwdstorage-plugin.so: /home/dsee7/lib/./../lib/private/libfreebl3.so: version 'NSSRAWHASH_3.12.3' not found (required by /lib/libcrypt.so.1)
And libfreebl3.so seems not to have it.
$ find / -name libfreebl3.so -ls
27270228 320 -rwxr-xr-x 1 root root 325256 Aug 7 16:17 /lib/libfreebl3.so
27660408 364 -rwxr-xr-x 1 root root 372385 Aug 27 2009 /home/dsee7/lib/private/libfreebl3.so
27791820 0 lrwxrwxrwx 1 root root 23 Sep 22 20:03 /usr/lib/libfreebl3.so -> ../../lib/libfreebl3.so
$ objdump -x /lib/libfreebl3.so |grep NSSRAWHASH_3.12.3
3 0x00 0x04ceacd3 NSSRAWHASH_3.12.3
$ objdump -x /home/dsee7/lib/private/libfreebl3.so |grep NSSRAWHASH_3.12.3
$
As temporary workaround, configure libfreebl3.so to reference one, which OS provides.
$ ls -l libfreebl3.so*
lrwxrwxrwx 1 root root 18 Sep 24 04:37 libfreebl3.so -> /lib/libfreebl3.so
-rwxr-xr-x 1 root root 372385 Aug 27 2009 libfreebl3.so.org
Now you can start daemon.
$ ./dsadm start ../instance/
Directory Server instance '/home/dsee7/instance' started: pid=523
Let’s create a suffix to store entires.
$ ./dsconf create-suffix "dc=lupin, dc=org"