Environment

OS: Ubuntu 9.04, 64bit, Server edition (can be freely downloaded), Debian 5 or 6 works as well.
Hardware: 64bit VMWare Server 2.0 guest machine with 3GB memory, 50GB of HDD and 2 CPUs.
Notice:This installation guide is describing installation on OS and HW, which IS NOT officially supported by IBM. For officially supported configurations see IBM web pages
I assume that all the commands are run with root privileges.

Goal

The goal is to have the most recent versions of RTC, RRC and RQM installed on one server and integrated as on C/ALM solution. LDAP will be installed and used by the tools to let the users have one login and password for all tools. phpLdapAdmin will be used for easy LDAP administration.

LDAP

  1. Install openldap package and phpldapadmin
  2.    apt-get install slapd ldap-utils phpldapadmin
                            
  3. Reconfigure the base DN (the rest of the manual will use dc=rtc,dc=fi,dc=muni,dc=cz as the base DN)
  4.    dpkg-reconfigure slapd
                            
  5. Create file /tmp/initial.ldif and fill it with the following content
  6. dn: ou=people,dc=rtc,dc=fi,dc=muni,dc=cz
    ou: people
    objectClass: top
    objectClass: organizationalUnit
    
    dn: uid=jan.stastny, ou=people, dc=rtc, dc=fi, dc=muni, dc=cz
    sn: Šťastný
    cn:  Jan Šťastný
    userPassword: {SSHA}P+oqjdnSDhgVDWjDzub+VI+geqZ4WXor
    description: Batch imported user
    mail: jan.stastny@example.com
    objectClass: inetOrgPerson
    
    dn: ou=JazzGroups,dc=rtc,dc=fi,dc=muni,dc=cz
    ou: JazzGroups
    objectClass: top
    ObjectClass: organizationalUnit
    
    dn: cn=JazzAdmins,ou=JazzGroups,dc=rtc,dc=fi,dc=muni,dc=cz
    cn: JazzAdmins
    objectClass: top
    ObjectClass: groupOfNames
    member: uid=jan.stastny, ou=people, dc=rtc, dc=fi, dc=muni, dc=cz
    
    dn: cn=JazzUsers,ou=JazzGroups,dc=rtc,dc=fi,dc=muni,dc=cz
    cn: JazzUsers
    objectClass: top
    ObjectClass: groupOfNames
    member: uid=jan.stastny, ou=people, dc=rtc, dc=fi, dc=muni, dc=cz
    
    dn: cn=JazzDWAdmins,ou=JazzGroups,dc=rtc,dc=fi,dc=muni,dc=cz
    cn: JazzDWAdmins
    objectClass: top
    ObjectClass: groupOfNames
    member: uid=jan.stastny, ou=people, dc=rtc, dc=fi, dc=muni, dc=cz
    
    dn: cn=JazzGuests,ou=JazzGroups,dc=rtc,dc=fi,dc=muni,dc=cz
    cn: JazzGuests
    objectClass: top
    ObjectClass: groupOfNames
    member:
    
    dn: cn=JazzProjectAdmins,ou=JazzGroups,dc=rtc,dc=fi,dc=muni,dc=cz
    cn: JazzProjectAdmins
    objectClass: top
    ObjectClass: groupOfNames
    member:
    
                            
  7. Import the initial groups and users into LDAP:
  8.  ldapadd -xv -D "cn=admin,dc=rtc,dc=fi,dc=muni,dc=cz" -W -f /tmp/initial.ldif
                            
Other users can be easily added via phpldapadmin, which is by default accessible at http://your_hostname/phpldapadmin/. Use cn=admin,dc=rtc,dc=fi,dc=muni,dc=cz and password you created during slapd installation to log in.
Nice free GUI LDAP management tool is LDAP Browser/Editor



Rational Team Concert

RTC is easiest to install as it is distributed as a ZIP file.

  1. Download the ZIP installation package and unzip the content of jazz folder to /opt/rtc so that ls of /opt/rtc looks like this:
  2.  
    root@rtc:/opt# ls -l /opt/rtc
    total 680
    -rw-r--r--  1 root root 12747 2009-12-11 13:14 help.css
    -rw-r--r--  1 root root  7043 2009-12-11 13:14 ibmidwb.css
    -rw-r--r--  1 root root 58790 2009-12-11 13:14 install_server_cs.html
    -rw-r--r--  1 root root 58027 2009-12-11 13:14 install_server_de.html
    -rw-r--r--  1 root root 56678 2009-12-11 13:14 install_server_es.html
    -rw-r--r--  1 root root 60849 2009-12-11 13:14 install_server_fr.html
    -rw-r--r--  1 root root 48345 2009-12-11 13:14 install_server.html
    -rw-r--r--  1 root root 54066 2009-12-11 13:14 install_server_it.html
    -rw-r--r--  1 root root 50883 2009-12-11 13:14 install_server_ja.html
    -rw-r--r--  1 root root 45854 2009-12-11 13:14 install_server_ko.html
    -rw-r--r--  1 root root 61234 2009-12-11 13:14 install_server_pt_BR.html
    -rw-r--r--  1 root root 37872 2009-12-11 13:14 install_server_zh_HK.html
    -rw-r--r--  1 root root 38262 2009-12-11 13:14 install_server_zh.html
    -rw-r--r--  1 root root 37872 2009-12-11 13:14 install_server_zh_TW.html
    drwxr-xr-x  3 root root  4096 2009-12-11 16:08 repotools
    drwxr-xr-x 18 root root  4096 2010-02-06 16:25 server
    
                            
  3. On your DB2 machine create DB2 database named JAZZ
  4. 	db2 create database JAZZ using codeset UTF-8 territory en PAGESIZE 8192
                            
  5. Create startup script /etc/init.d/rtc containing this:
  6. 	
    #!/bin/bash
    #
    ### BEGIN INIT INFO
    # Provides:          RTC
    # Required-Start:    $remote_fs $network
    # Required-Stop:     $remote_fs $network
    # Default-Start:     2 3 4 5
    # Default-Stop:      0 1 6
    # Short-Description: Start Rational Team Concert at boot time
    # Description:       Rational Team Concert startup script
    ### END INIT INFO
    
    
    prog=rtc
    rtchome=/opt/rtc/server
    RETVAL=0
    
    start() {
            echo -n $"Starting $prog: "
    	${rtchome}/server.startup
            RETVAL=$?
            echo
            return $RETVAL
    }
    
    stop() {
    	echo -n $"Stopping $prog: "
    	${rtchome}/server.shutdown
    	RETVAL=$?
    	echo
    }
    
    # See how we were called.
    case "$1" in
      start)
    	start
    	;;
      stop)
    	stop
    	;;
      restart)
    	stop
    	sleep 10
    	start
    	;;
      *)
    	echo $"Usage: $prog {start|stop|restart}"
    	RETVAL=3
    esac
    
    exit $RETVAL
                            
  7. Change the permissions so that root can execute it:
  8. 	chmod u+x /etc/init.d/rtc
                            
  9. Configure RTC to start automatically after boot and stop on shutdown and reboot:
  10. 	update-rc.d rtc defaults
                            
  11. Start the RTC server
  12. 	/etc/init.d/rtc start
                            
  13. Open instalation wizard at https://rtc.fi.muni.cz:9443/jazz/setup Use username: ADMIN and password ADMIN
  14. Choose Custom path
  15. Choose DB2 Database vendor and fill JDBC password and JDBC Location. JDBC location should look something like this (depending on your DB2 configuration):
  16. 	//db2.fi.muni.cz:50002/JAZZ:user=db2inst3;password={password};
                            
  17. Go Next and configure E-Mail notifications according to your environment. If you want to use Gmail SMTP, follow these instuctions
  18. Go Next twice (Public URI Root can be usually left empty. Read the onpage instuctions to find out whether you need to configure Public URI root or not)
  19. Select LDAP as the type of user registry and fill the following fields:
    • LDAP Registry Location: ldap://localhost:389
    • Base User DN: ou=people,dc=rtc,dc=fi,dc=muni,dc=cz
    • User Property Names Mapping: userId=uid,name=cn,emailAddress=mail
    • Base Group DN: ou=JazzGroups,dc=rtc,dc=fi,dc=muni,dc=cz
    • Jazz to LDAP Group Mapping:
      JazzAdmins=JazzAdmins,JazzUsers=JazzUsers, JazzDWAdmins=JazzDWAdmins,JazzProjectAdmins=JazzProjectAdmins,JazzGuests=JazzGuests
    • Group Name Property: cn
    • Group Member Property: member
  20. Keep the Compute and save additional LDAP queries based on these configuration values checked and click Test connection and Next
  21. Backup the Tomcat configuration file:
  22. 	cp /opt/rtc/server/tomcat/conf/server.xml /opt/rtc/server/tomcat/conf/server-backup.xml
                            
  23. Open the file /opt/rtc/server/tomcat/conf/server.xml and remove this piece of code:
  24. 	  <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 resourceName="UserDatabase" 
                 digest="SHA-1"
                 digestEncoding="UTF-8"/>
                            
  25. Put this code in the place of the removed:
  26. 	
    	<Realm className="org.apache.catalina.realm.JNDIRealm"
               debug="9"
               connectionURL="ldap://localhost:389"
               userBase="ou=people,dc=rtc,dc=fi,dc=muni,dc=cz"
               userSearch="(uid={0})"
               userSubtree="true"
               roleBase="ou=JazzGroups,dc=rtc,dc=fi,dc=muni,dc=cz"
               roleSubtree="false"
               roleSearch="(member={0})"
               roleName="cn"
            />
    	
                            
  27. Restart the RTC server:
  28. 	/etc/init.d/rtc restart
                            
  29. RTC should be successfully installed.

All rights reserved, Initiative RTC4U, 2011 ©