HomeProductsFAQEvaluationOrderCustomer Area

Combined RSS feed for site. RSS Feed

Plugin Smithy Software Blog


Installing IBM Rational Team Concert 1.0 Express-C on GlassFish

First the warning: The setup of IBM Rational Team Concert 1.0 Express-C to run under GlassFish with a SUN JDK is unsupported by IBM, so you will do this at your own risk. Having said that, up to now this works for me without problems.

I performed the installation with the following software:

How to install Team Concert under GlassFish can be derived to a great extent from the instructions how to install Team Concert under IBM WebSphere. The following is mostly an adoption of the Tomcat and WebSphere installation instructions to GlassFish. A few things are GlassFish-specific because of the directory layout I did choose, and because the authentication must be configured in a GlassFish-specific way.

Let me first talk about the directory layout that I did choose. We will install the Team Concert files and GlassFish under a common parent directory. I will call this "<root dir>" and use the concrete directory "/home/stm/tc" in the protocol. Under this directory we will have the "jazz" directory that is the unpacked Team Concert ZIP file, and "glassfish" with the GlassFish installation:

stm@holmium:~/tc$ cd /home/stm/tc
stm@holmium:~/tc$ ls -l
total 8
drwxr-xr-x 12 stm stmgroup 4096 Oct 3 14:47 glassfish
drwxr-xr-x 4 stm stmgroup 4096 Jun 18 23:51 jazz

Regarding GlassFish, I assume that you have set up GlassFish already, while leaving the GlassFish default ports 8080 and 8181 untouched. This will be important later because the pre-configured Team Concert Express-C repository contains different default ports for Tomcat.

First we will set up the users and groups. The bundled Tomcat installation already has an user "ADMIN" and several groups configured:

stm@holmium:~/tc$ cat jazz/server/tomcat/conf/tomcat-users.xml 
<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="JazzUsers"/>
<role rolename="JazzAdmins"/>
<role rolename="JazzDWAdmins"/>
<role rolename="JazzGuests"/>
<role rolename="manager"/>
<user username="ADMIN" password="b521caa6e1db82e5a01c924a419870cb72b81635"
roles="JazzUsers,JazzAdmins,manager"/>
</tomcat-users>

We will create this user and the groups in the GlassFish "file" realm. Log in to the GlassFish Admin Console and go to "Configuration" -> "Security" -> "Realms" -> "file":

Click on "Manage Users", and then "New...", and create the "ADMIN" user with the same group list as in the "tomcat-users.xml" file plus "admin", and enter a password of your choice:

The ADMIN user is supposed to be disabled after the Team Concert server has been set up, so create at least one additional user with the same groups. I did create an additional user "stm" like this. The result looks like this:

I don't want to have to setup a group-to-role mapping in the deployment descriptor for the Jazz web application, so I'm switching on the "Default Principal To Role Mapping" setting that maps the groups to J2EE roles. Click on "Security" and mark the corresponding check-box:

The Team Concert documentation section "Setting up a WebSphere Application Server" describes the system properties that must be set for the JVM. You can also get them from the "<root dir>/jazz/server/server.startup" file by looking at the "JAVA_OPTS" variable there. Three of the five system properties described in the documentation have to be adapted to the "<root dir>/jazz/server" directory:

  • -Dcom.ibm.team.server.configURL=\
    file:/home/stm/tc/jazz/server/teamserver.properties
  • -Dlog4j.configuration=file:/home/stm/tc/jazz/server/log4j.properties
  • -Dcom.ibm.team.repository.provision.profile=\
    file:/home/stm/tc/jazz/server/provision_profiles
  • -Dorg.eclipse.emf.ecore.plugin.EcorePlugin.doNotLoadResourcesPlugin=true
  • -Djava.awt.headless=true
In the GlassFish Admin Console, go to "Application Server", "JVM Settings", "JVM Options", enter the options and click "Save":

Do not forget to restart GlassFish to make the options effective.

Team Concert Express-C comes with a pre-configured Derby database. If you run the start-/stop-scripts from the directory "<root dir>/jazz/server", everything works out-of-the-box because all the configuration files use path names relative to the directory "<root dir>/jazz/server" in which the start-/stop-scripts are stored. As GlassFish will run with a different working directory and as I wanted to keep the Team Concert files outside of the GlassFish directory tree, we have to follow the instructions under Modifying the profile.ini files for using absolute pathnames.

Edit the files "<root dir>/jazz/server/provision_profiles/license-profile.ini" and "<root dir>/jazz/server/provision_profiles/profile.ini" and replace the relative pathnames with absolute ones. These are the files after modification:

stm@holmium:~/tc/jazz/server$ cat provision_profiles/license-profile.ini 
url=file:/home/stm/tc/jazz/server/license-update-site
featureid=com.ibm.team.rtc.server.license.express-c-release.feature
stm@holmium:~/tc/jazz/server$ cat provision_profiles/profile.ini
url=file:/home/stm/tc/jazz/server/update-site
featureid=com.ibm.team.rtc.server.feature

There are also relative pathnames in the file "<root dir>/jazz/server/teamserver.properties" file. One is the pathname to the Derby repository database, and the other one is the pathname to the Lucene fulltext index. Change those entries from relative pathnames to full pathnames. These are the relevant parts of the file:

...
# JDBC DB location, specifying this property disables system-based
# selection of default location
com.ibm.team.repository.db.vendor=DERBY
com.ibm.team.repository.db.jdbc.location=/home/stm/tc/jazz/server/repositoryDB
...
# Fulltest index location
com.ibm.team.fulltext.indexLocation=/home/stm/tc/jazz/server/workitemindex
...

The Team Concert server also brings his own log4j configuration file "<root dir>/jazz/server/log4j.properties". I want to have the "jazz.log" file together with the normal GlassFish "server.log" file in the same directory, I change the corresponding entry in the "log4j.properties" file:

stm@holmium:~/tc/jazz/server$ grep jazz.log log4j.properties 
log4j.appender.file.File=/home/stm/tc/glassfish/domains/domain1/logs/jazz.log

Now we are ready to deploy the "jazz.war" file from "<root dir>/jazz/server/tomcat/webapps/jazz.war" through the GlassFish Admin Console. After that has happened, we can follow the steps "Running the setup wizard" to complete the Team Concert server installation. Because we left the GlassFish default ports untouched, the URL is https://localhost:8181/jazz/setup (not https://localhost:9443/jazz/setup as it would be the case for Tomcat). As GlassFish out-of-the-box uses a self-signed certificate, you will have to ignore the corresponding security warning. Then the Team Server login page appears:

As we will use the bundled pre-configured Derby repository database, we can choose the Fast Path Setup:

This takes us directly to step 4 of the setup wizard (two screenshots because of the long web page):

Team Concert has recognized automatically that this is not a Tomcat User Registry (step 1). In step 2 we create a user in the Team Concert server that corresponds to the user id that we have previously created in the GlassFish file realm ("stm" in our case).

In step 3 we cannot yet disable the default ADMIN access because we are logged in as ADMIN, so that has to happen later. In step 4 we assign one of the three free Team Concert developer licenses to the new user id.

Pressing "Next" takes us to the "Summary" page:

Clicking "Finish" takes us to the Jazz Team Server Status Summary page:

What is left is to adapt the configuration to the different HTTP ports. Click on "Advanced Properties" and scroll down to the section titled "com.ibm.team.repository.service.internal.webuiInitializer.ConfigPropertyInitializer". Then change the ports to the default values for GlassFish:

Then scroll down to the next section called "com.ibm.team.repository.servlet.internal.ServletConfigurationService", and change the ports in the same manner:

Finally, scroll back all the way to the top of the page and click "Save". You will get a message that this requires a server restart. Restart GlassFish, and then you are ready to start the Team Concert client to connect to the Team Concert server. The URL for connecting to the Team Concert server will be https://localhost:8181/jazz/.


« October 2008 »
SunMonTueWedThuFriSat
   
1
2
3
4
5
6
7
8
9
10
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
       
Today