Ubuntu Basisinstallation

Die Default Ubuntu Installation beinhaltet zahlreiche Programmpakete wie OpenOffice usw., die für die Evaluierung nicht benötigt werden, aber erheblichen Speicherplatz verbrauchen. Daher ist es sinnvoll, ein minimales Ubuntu System zu installieren und nur die tatsächlich benötigten Pakete nachzuinstallieren.

Ubuntu Command Line Version installieren

X Grundsystem installieren

apt-get install xserver-xorg x-window-system-core xdm fluxbox

Nach der Installation ist fluxbox noch nicht korrekt lauffähig. Folgende Kommandos müssen als normaler user ausgeführt werden:

$ update-menus
$ cd ~/.fluxbox
$ mv fluxbox-menu menu

Dann kann man (als root) den XDM starten (er wird von jetzt an auch bei jedem Systemstart ausgeführt):

/etc/init.d/xdm start

Sun Java installieren

Paket: sun-java5-jdk

Tomcat und Apache installieren

Paket: tomcat5.5, apache2, libapache2-mod-jk

MySQL installieren

Pakete: mysql-client, mysql-server, libmysql-java

Datenbankpasswort kann weggelassen werden

Subversion installieren

Pakete: subversion, libapache2-svn

Tomcat konfigurieren

in /etc/defaults/tomcat5.5:

Debian (und damit auch Ubuntu) ist für rigorose Sicherheitseinstellungen bekannt. Daher muss man für Tomcat entweder alle Zugriffe des application servers auf das lokale Dateisystem einzeln genehmigen (das geht über die Dateien im Verzeichnis /etc/tomcat5.5/policy.d) oder das Security System für Tomcat abschalten. Dazu ändert man die folgende Voreinstellung:

JAVA_SECURITY=no

in /etc/tomcat5.5/server.xml:

Für die beiden <Connector> Einträge sollte der Parameter URIEncoding="UTF-8" hinzugefügt werden.

JIRA und Confluence erwarten eine Datenbankverbindung. Diese wird als DataSource definiert. Die u.a. Einträge am Ende der server.xml Datei einfügen.

...
    <!-- Define a non-SSL HTTP/1.1 Connector on port 8180 -->
    <Connector port="8180" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
               URIEncoding="UTF-8" />
...
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <Connector port="8009"
               enableLookups="false" redirectPort="8443" protocol="AJP/1.3"
               URIEncoding="UTF-8" />

...
        <Context path="/confluence" docBase="confluence" debug="0">
          <Resource name="jdbc/ConfluenceDS" auth="Container" type="javax.sql.DataSource"
                 username="demo"
                 password="demo"
                 driverClassName="com.mysql.jdbc.Driver"
                 url="jdbc:mysql://localhost:3306/confluence?autoReconnect=true&useUnicode=true&characterEncoding=utf8"/>
        </Context>

        <Context path="/jira" docBase="jira" debug="0">
          <Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"
                 username="demo"
                 password="demo"
                 driverClassName="com.mysql.jdbc.Driver"
                 url="jdbc:mysql://localhost:3306/jira?autoReconnect=true&useUnicode=true&characterEncoding=utf8"/>
          <Resource name="UserTransaction" auth="Container" type="javax.transaction.UserTransaction"
                 factory="org.objectweb.jotm.UserTransactionFactory" jotm.timeout="60"/>
          <Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>
        </Context>

      </Host>

    </Engine>

  </Service>

</Server>

in /usr/share/tomcat5.5/common/lib:

Für JIRA werden zusätzliche Java Libraries benötigt. Man holt sie sich von der Atlassian Website und kopiert sie in Tomcats lib Verzeichnis:

# cd /tmp
# wget http://www.atlassian.com/software/jira/docs/servers/jars/v1/jira-jars-tomcat5.zip
# unzip jira-jars-tomcat5.zip
Archive:  jira-jars-tomcat5.zip
   creating: jira-jars-tomcat5/
  inflating: jira-jars-tomcat5/carol-1.5.2.jar  
  inflating: jira-jars-tomcat5/hsqldb-1.8.0.5.jar  
  inflating: jira-jars-tomcat5/jonas_timer-1.4.3.jar  
  inflating: jira-jars-tomcat5/carol-properties.jar  
  inflating: jira-jars-tomcat5/jta-1.0.1.jar  
  inflating: jira-jars-tomcat5/jotm-iiop_stubs-1.4.3.jar  
  inflating: jira-jars-tomcat5/jotm-jrmp_stubs-1.4.3.jar  
  inflating: jira-jars-tomcat5/objectweb-datasource-1.4.3.jar  
  inflating: jira-jars-tomcat5/ots-jts_1.0.jar  
  inflating: jira-jars-tomcat5/xapool-1.3.1.jar  
  inflating: jira-jars-tomcat5/jotm-1.4.3.jar  
# mv jira-jars-tomcat5/* /usr/share/tomcat5.5/common/lib

Außerdem braucht man die MySQL Java Library:

# cd /usr/share/tomcat5.5/common/lib
# ln -s ../../../java/mysql.jar

Apache konfigurieren

Datei /etc/ apache2/workers.properties anlegen:

# Define 1 real worker using ajp13
worker.list=tomcat

# Set properties for tomcat (ajp13)
worker.tomcat.type=ajp13
worker.tomcat.host=localhost
worker.tomcat.port=8009
worker.tomcat.lbfactor=50
worker.tomcat.cachesize=10
worker.tomcat.cache_timeout=600
worker.tomcat.socket_keepalive=1
worker.tomcat.socket_timeout=300

Datei /etc/apache2/mods-available/jk.conf anlegen:

 
# Where to find workers.properties
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)
JkWorkersFile /etc/apache2/workers.properties

Datei /etc/apache2/mods-enabled/jk,conf anlegen:

# cd /etc/apache2/mods-enabled
# ln -s ../mods-available/jk.conf

MySQL Datenbanken anlegen

Die benötigten MySQL Datenbanken werden am einfachsten mit dem "mysql" Client Tool angelegt:

# mysql
mysql> create database confluence;
mysql> grant all privileges on confluence.* to demo identified by 'demo';
mysql> create database jira
mysql> grant all privileges on jira to demo identified by 'demo';
mysql> quit

Confluence installieren

Im Home Verzeichnis:

mkdir confluence
chmod 777 confluence

confluence-2.6.1.tar.gz auspacken, das Directory confluence-2.6.1/confluence nach /var/lib/tomcat5.5/webapps moven.
Den Pfadname in der Datei confluence/WEB-INF/classes/confluence-init.properties eintragen: