Novell Home

Installing the Identity Manager Remote Loader on Debian Linux

Novell Cool Solutions: Feature
By Phillip Cockrell

Digg This - Slashdot This

Posted: 23 Mar 2006
 

Problem

I need to install the Identity Manager Remote Loader on Debian Linux.

Solution

Note: You must have alien installed (apt-get install alien).

1. Get the Nsure_Identity_Manager_2_0_1.tar.gz from novell.com

2. Extract the tarball (tar -xzvf Nsure_Identity_Manager_2_0_1.tar.gz)

3. Change to the setup directory (cd ~/linux/setup)

4. Run the setup script (./dirxml_linux.bin)

5. Accept the EULA.

6. Select the components you want to install:

  • Remote Loader
  • Delimited Text Driver

The install will most likely fail with the following errors:

Installing Manual Task Service Driver...
/root/idm/linux/setup/packages/novell-DXMLmtask did not get installed successfully
Installing Entitlement Service Driver...
/root/idm/linux/setup/packages/novell-DXMLtlmnt did not get installed successfully
/root/idm/linux/setup/packages/novell-NOVLjvml did not get installed successfully
Installing Remote Loader...
/root/idm/linux/setup/packages/novell-DXMLbase did not get installed successfully
/root/idm/linux/setup/packages/novell-DXMLrdxml did not get installed successfully
/root/idm/linux/setup/packages/novell-AUDTplatformagent did not get installed successfully
Installing Delimited Text Driver...
/root/idm/linux/setup/packages/novell-DXMLdelim did not get installed successfully 

In order to install these packages, you will need to create .deb's from the RPMs:

7. cd to the packages directory.

8. Use alien to convert the RPMs:

# alien --to-deb novell-DXMLmtask-1.0.0-51.i386.rpm novell-DXMLtlmnt-1.0.0-51.i386.rpm novell-NOVLjvml-2.0.5-51.i386.rpm novell-DXMLbase-2.0.5-51.i386.rpm novell-DXMLrdxml-2.0.5-51.i386.rpm novell-AUDTplatformagent-1.0.2-45.i586.rpm novell-DXMLdelim-1.0.0-51.i386.rpm

The result should look like this when you do an 'ls -l | grep deb' :

-rw-r--r-- 1 root root 643268 Dec 19 10:54 novell-audtplatformagent_1.0.2-46_i386.deb -rw-r--r-- 1 root root 2030318 Dec 19 10:54 novell-dxmlbase_2.0.5-52_i386.deb -rw-r--r-- 1 root root 40574 Dec 19 10:55 novell-dxmldelim_1.0.0-52_i386.deb -rw-r--r-- 1 root root 554638 Dec 19 10:54 novell-dxmlmtask_1.0.0-52_i386.deb -rw-r--r-- 1 root root 532822 Dec 19 10:54 novell-dxmlrdxml_2.0.5-52_i386.deb -rw-r--r-- 1 root root 172306 Dec 19 10:54 novell-dxmltlmnt_1.0.0-52_i386.deb -rw-r--r-- 1 root root 13848082 Dec 19 10:54 novell-novljvml_2.0.5-52_i386.deb

9. Install the deb files:

    # dpkg -i *.deb

10. Fix the directory structure:

    # ln -s /usr/lib/dirxml/classes /usr/lib/dirxml/lib

11. Install java:

    # cd /usr/lib/nds-modules/
    # ./j2re-1_4_2_02-linux-i586.bin

12. Create a symlink for java (you can actually do this with a PATH statement in the init script if you want):

    # ln -s /usr/lib/nds-modules/j2re1.4.2_02/bin/java /usr/bin/java

13. Create your remote loader configuration (I use /usr/local/etc/DXMLdelimitedtxt.conf):

  • -commandport 8003
  • -connection "port=8093"
  • -trace 0
  • -tracefile /var/log/dirxml_hr_portal.log
  • -class com.novell.nds.dirxml.driver.delimitedtext.DelimitedTextDriver
  • 14. Create an init script for your remote loader. My example is listed below.

    15. Add the Remote Loader to the default runlevels:

    # update-rc.d novell-remoteloader default

    Example (/etc/init.d/novell-remoteloader)

    # -- [ Remote loader startup and shutdown script ] --
    DIRXML_HOME="/usr/lib/dirxml"
    DIRXML_CONF="/usr/local/etc/DXMLdelimitedtxt.conf"
    REMOTELOADER="/usr/bin/dirxml_jremote"
    REMOTELOADERPASSWD=""
    DRIVERPASSWD=""
    PIDFILE="/var/run/remoteloader.pid"
    
    case "$1" in
    
           "start" )
                   /bin/echo -n "Setting up DirXML Remote Loader..."
                   cd $DIRXML_HOME
                   $REMOTELOADER -config $DIRXML_CONF -sp $REMOTELOADERPASSWD $DRIVERPASSWD
                   /bin/echo -n "Starting the DirXML Remote Loader..."
                   $REMOTELOADER -config $DIRXML_CONF &
                   sleep 1s
                   # This is probably not the best way to get the PID, but it certainly works. Change 8003 to whatever the local listening port is.
                   netstat -plant | grep LIST | grep java | grep 8003 |awk '{print $7}' | awk -F "/" '{print $1}' > $PIDFILE
                   echo "done"
           ;;
    
           "stop" )
                   /bin/echo -n "Stopping the DirXML Remote Loader..."
                   /bin/kill `cat $PIDFILE`
                   rm -f $PIDFILE
                   /bin/echo "done"
           ;;
    
           * )
                   /bin/echo "Usage: /etc/init.d/novell-remoteloader {start|stop}"
                   exit 1
           ;;
    esac
    
    exit 0


    Novell Cool Solutions (corporate web communities) are produced by WebWise Solutions. www.webwiseone.com

    © 2014 Novell