These are some short instructions how to install Jetbrain’s YouTrack on Ubuntu 12.04. Disclaimer: This setup is more for playing around and trying the software, for a productive environment with lots of users you would probably need some more optimizations.

Tested with Ubuntu 12.04.02 64 and YouTrack 4.2.2.

Download

On the download page, select “Java EE Container”. Clicking on Download will give you a .war file (the .jar file would not be suitable for the setup I’m going to describe here).

Preparation

I created a dedicated VM for YouTrack. During Ubuntu’s setup wizard, you can select ‘Tomcat Server’. This would install all needed packages (except the YouTrack package itself). However, if you are using an existing machine, all you need is to

$ sudo aptitude install tomcat6

This would install all necessary packages.

Configure Tomcat

Your Tomcat needs a little tweaking. First, you need to setup the admin user. Add these lines to /etc/tomcat6/tomcat-users.xml:

<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

As described in the installation manual, you need to increase the JVM heap size to at least 512MB. I first tried to run YouTrack on a VM with 512MB total RAM and heap size of 128MB, but YouTrack wouldn’t start. Running the server with 2GB RAM and 768MB heap size works fine. So open /etc/default/tomcat6 and edit the line

# /etc/default/tomcat6
JAVA_OPTS="-Djava.awt.headless=true -Xmx128m -XX:+UseConcMarkSweepGC"

to increase your heap size (i.e., change the 128 to at least 512).

Finally, restart Tomcat

$ sudo /etc/init.d/tomcat6 restart

Open http://yourserver:8080 to see if it works.

Configure YouTrack

There’s one little problem we need to fix before deploying YouTrack. YouTrack comes with a built in database which is by default located in {user.home}. $user is the tomcat6 user and tomcat6’s home directory is /usr/share/tomcat6. Unfortunately, /usr/share/tomcat6 is not writable for user tomcat6, so YouTrack could not create its datastore and deployment would fail with an error message like

ExodusException: Exodus 1.0.0: Failed to create directory: /usr/share/tomcat6/teamsysdata

There are a few solutions for this problem, I personally chose to tell YouTrack to use a different path. To achieve this, we first have to create a writable directory for YouTrack’s datastore:

$ sudo mkdir /opt/tomcat6
$ sudo chown tomcat6:tomcat6 /opt/tomcat6/

and then configure YouTrack to use this path:

  • Open youtrack-4.2.2.war with Ubuntu’s default zip program (double click)
  • From inside the archive, open WEB-INF/web.xml
  • Replace ${user.home}/teamsysdata by /opt/tomcat6/teamsysdata and ${user.home}/teamsysdata-backup by /opt/tomcat6/teamsysdata-backup
  • Save the file (confirm to update the .war archive)

Deploy

Now we’re ready to deploy YouTrack. Open the Tomcat Manager on http://yourserver:8080/manager/html, use the ‘Select WAR file to upload’ form, and click Deploy.

YouTrack should now be available under http://yourserver:8080/youtrack-4.2.2