I've used the free, personal-use licenses that Atlassian used to provide and always ran into a problem with their licensing mechanism: it is tied to a machine. If I wiped my laptop to install the latest version of Ubuntu, I would have to contact Atlassian in order to get a new key. Hoping to avoid that pain, as well as providing a "time machine" I'll be installing the stack into a virtual Ubuntu server machine based on Virtual Box. Here are the basic steps I've used to get started:
- created a 20 GB Virtual Box VM based on Ubuntu 10.04 Server edition
- added the Webmin repository and installed Webmin. The box will be headless and I'll need a tool to help me manage the box remotely.
- updated the box so it is patched to current levels
- downloaded and installed the current Sun Java 6 JDK taking care to export both JAVA_HOME and JDK_HOME in the /etc/environment script. In that script, I also appended the path to point to the JDK bin directory.
- installed Virtual Box Guest Additions using these instructions
- using Webmin, installed mysql-server and mysql-client (I cheated and looked ahead at the installation directions and knew that a database was needed)
Crowd is a single-signon solution and I figured it makes sense to be the first service to install. The documentation says that deploying their applications into a single Apache Tomcat instance is not supported so I'll use their standalone versions instead.
- download and unzip Crowd. I placed mine in /opt
- created /opt/crowd-home and edited /opt/crowd/crowd-webapp/WEB-INF/classes/crowd-init.properties to point to it
- using Webmin, I created a MySQL user named crowduser and gave the account all db rights
- using Webmin, I created the Crowd database, named crowd, taking care to specify UTF-8 as the character encoding
- changed the isolation level on MySQL: sudo vi /etc/mysql/my.cnf and added transaction-isolation = READ-COMMITTED into the [mysqld] section
- using Webmin, restarted MySQL so the setting would take affect/li>
- download the JDBC driver and copy the JAR file to /opt/crowd/apache-tomcat/lib
- start crowd via start_crowd.sh
- connected to Crowd via http://localhost:8095/crowd
- followed the steps in the setup wizard