I'm no fan of proprietary software and luckily most of the software used at CosmoCode is Open Source. But we are looking for a project management tool which fits our work flow. One of the tools we are evaluating is the closed source product Projektron BCS. We've got a 30 day test license and I spent some time with installing it yesterday.
Unfortunately the documentation is sometimes missing a few bits. And because of the closed source there is nearly no info available on the net (googling for an application specific error message won't give you any hints). But this is about to change with this post - here is how to install Projektron on a Debian server.
We start with installing a few needed packages. Projektron is a Java application running atop of Tomcat and Postgres:
#> apt-get install postgresql-8.1 tomcat5.5 libpg-java sun-java5-sdk unzip
On to the database. The docs explicitly state to set the character encoding to latin1 - I have no idea why, but let's do as told. The application itself is running with UTF-8.
#> su - postgres
$> createuser -A -D -P -U postgres bcs
$> createdb -E LATIN1 -O bcs -U postgres bcs
Next: unpacking the software. We install to ”/opt/projektron”:
#> mkdir /opt/projektron
#> cd /opt/projektron
#> unzip ~/projektron-bcs-6.4.13.zip
Don't forget the license file:
#> cp ~/mylicense.lic /opt/projektron/bin/
Now it's time to configure Tomcat to use the Projektron webapps. The Projektron distribution comes with a sample file - just copy, then edit it:
#> cp /opt/projektron/conf/samples/ROOT.xml /usr/share/tomcat5.5/conf/Catalina/localhost/
#> vi /usr/share/tomcat5.5/conf/Catalina/localhost/ROOT.xml
You need to replace the “BCS_HOME” placeholder with the install path ”/opt/projektron”.
Because the app uses UTF-8 we also need to add an “URIEncoding=“UTF-8”” attribute to all “Connector” elements in ”/etc/tomcat5.5/server.xml”.
While we are at configuring the Tomcat server, let's add a security manager rule to ”/etc/tomcat5.5/policy.d/50user.policy”:
grant codeBase "file:/opt/projektron/-" {
permission java.security.AllPermission;
};
If you don't do that you will get a java.security.AccessControlException later.
Projektron needs some JDBC drivers to access the Postgres database. We installed them earlier through Debian's package management, but let's copy them to the right place (you might be able to skip this - I haven't tried).
#> cp /usr/share/java/postgres*.jar /opt/projektron/webapps/WEB-INF/lib/
Now it's time to configure the Projektron software itself. We need to create the ”/opt/projektron/conf/arkona.conf” file (just copy the sample file and edit it):
ARKONA_HOME=/opt/projektron
ORBInitialPort=1901
JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
The next file we need is the database config in ”/opt/projektron/conf/ServerConfig_Database.properties” (there's a sample in the “conf/samples” directory). Here is what we need:
DB.driver=org.postgresql.Driver
DB.url=jdbc:postgresql://localhost/bcs
DB.userName=bcs
DB.userPwd=bcs
Now we can initialize the database:
#> cd /opt/projektron/install
#> ./CreateDB.sh
Running the application should work now. But it did not for me. Instead I got this exception on startup:
java.security.AccessControlException: access denied (java.io.FilePermission /log/bcs-application.log write)
See the path? Doesn't look right, eh? For some reason the “bcs.home” environment set in the “ROOT.xml” isn't worinking in the log4j config. If anyone has an idea what the problem might be, leave a comment. What I did is to replace all occurrences of “${bcs.home}” in ”/opt/projektron/webapp/WEB-INF/classes/log4j.properties” with the full path ”/opt/projektron”.
Finally Tomcat should be able to run without any errors:
#> /etc/init.d/tomcat5.5 start
The Debian Tomcat starts a HTTP connector on port 8180 on default. So your Projektron BCS is available at http://yourserver:8180. You may want to connect Tomcat to your Apache trough “mod_jk” or reconfigure it to serve at port 80. You also might want to increase the memory for Tomcat in ”/etc/default/tomcat5.5”.
Okay. There you go. You have a running Projektron BCS system. Are you wondering how to log in? Well, I was. I couldn't find anything in the docs about the default superuser. A quick look in the database and a query at http://us.md5.crysm.net later I was wiser: “Admin/Admin” will get you in (note the case).
That's it so far. I'm sure Jörg or Detlef will follow up this post with their experiences with the software later.