Install JIRA on Debian or Ubuntu

Skip to end of metadata
 
Go to start of metadata
 

These are some rough notes for getting JIRA installed in a Debian-friendly way, using the 'tomcat5.5' package, and copying files to FHS-approved places. Hopefully one day it will form the basis for a JIRA .deb.

Work in progress

The safe, recommended, straightforward way of getting JIRA working is still to install JIRA Standalone in /usr/local/. Using The prepackaged Tomcat described here has not been tested. It appears to work, but may well be broken in subtle ways

Install and configure the Sun JDK

Run sudo apt-get install sun-java6-jdk. This will install the Sun JDK.
Run sudo update-alternatives --config java, and make the java-6-sun version the default. Without this, Debian uses its built-in half-broken GCJ implementation.

Install Tomcat

sudo apt-get install tomcat5.5

Configure Tomcat

Edit /etc/default/tomcat5.5, and set:

  • JAVA_HOME=/usr/lib/jvm/java-6-sun
  • TOMCAT5_SECURITY=no

(this tells Tomcat to use the Sun JDK, and disables the security manager (we don't yet have a policy file written for JIRA - contributions welcome!)

Build the JIRA webapp

Download the JIRA WAR/Webapp edition. Unzip somewhere. Edit edit-webapps/WEB-INF/classes/entityengine.xml and configure for your database (see the "Configure JIRA" section of the docs for more info). Run ./build.sh to generate the webapp. Copy the dist-tomcat/atlassian-jira-3.8.1.war to a new /usr/share/jira/ directory:

jturner@psyche:/usr/share$ sudo mkdir jira
jturner@psyche:/usr/share$ sudo chown tomcat55 jira
jturner@psyche:/usr/share$ sudo cp /tmp/atlassian-jira-enterprise-3.8.1/dist-tomcat/atlassian-jira-3.8.1.war /usr/share/jira/

Setup the Tomcat JIRA config file.

jturner@psyche:/tmp/atlassian-jira-enterprise-3.8.1$ sudo cp dist-tomcat/tomcat-5.5/jira.xml /var/lib/tomcat5.5/conf/Catalina/localhost/

Now edit the copied jira.xml and:

  • Customize the database details
  • Fix the .war path to point to where to put the .war (eg. /usr/share/jira/atlassian-jira-3.8.1.war).

Mine looks like:

?
<Context path="/jira" docBase="/usr/share/jira/atlassian-jira-3.8.1.war" debug="0">
 
    <!-- NOTE: If you use a database other than hsqldb:
    * delete the minEvictableIdleTimeMillis and timeBetweenEvictionRunsMillis attributes
    * change the database type in atlassian-jira/WEB-INF/classes/entityengine.xml
    -->
    <Resource name="jdbc/JiraDS" auth="Container" type="javax.sql.DataSource"
            username="jturner"
            password="jturner"
            driverClassName="org.postgresql.Driver"
            url="jdbc:postgresql://localhost/jturner"/>
 
    <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>

Add extra jars to Tomcat

jturner@psyche:/usr/share/java$ sudo mkdir jira-jars
jturner@psyche:/usr/share/java$ sudo chown $USER jira-jars
jturner@psyche:/usr/share/java$ cd jira-jars
jturner@psyche:/usr/share/java/jira-jars$ wget -q 'http://www.atlassian.com/software/jira/docs/servers/jars/3.8.1/jira-jars-tomcat5.zip'
jturner@psyche:/usr/share/java/jira-jars$ mv jira-jars-tomcat5/* .
jturner@psyche:/usr/share/java/jira-jars$ ls
carol-1.5.2.jar       jira-jars-tomcat5      jotm-1.4.3.jar             jta-1.0.1.jar                   xapool-1.3.1.jar
carol-properties.jar  jira-jars-tomcat5.zip  jotm-iiop_stubs-1.4.3.jar  objectweb-datasource-1.4.3.jar
hsqldb-1.8.0.5.jar    jonas_timer-1.4.3.jar  jotm-jrmp_stubs-1.4.3.jar  ots-jts_1.0.jar
jturner@psyche:/usr/share/java/jira-jars$
jturner@psyche:/usr/share/java/jira-jars$  rm -r jira-jars-tomcat5*
jturner@psyche:/usr/share/java/jira-jars$ cd /usr/share/tomcat5.5/common/lib
jturner@psyche:/usr/share/tomcat5.5/common/lib$ sudo ln -s /usr/share/java/jira-jars/*.jar .

Add JDBC jar to Tomcat

Here using Postgres:

jturner@psyche:/usr/share/tomcat5.5/common/lib$ sudo apt-get install libpgjava
jturner@psyche:/usr/share/tomcat5.5/common/lib$ sudo ln -s /usr/share/java/postgresql-jdbc3.jar .

Create JIRA runtime directory

  • Create JIRA temp dir:

jturner@psyche:/var/lib$ sudo mkdir jira
jturner@psyche:/var/lib$ sudo chown tomcat55 jira/

When importing data, specify /var/lib/jira/index as your index directory.

 

 

Linux调整jira内存

  Expand to see Linux instructions
To increase heap or perm gen space memory in Linux installations,
  1. From <confluence-install>/bin (Stand-alone) or <Tomcat-home>/bin (EAR-WAR installation), open setenv.sh (you can create this file in the EAR/WAR version).
  2. Find the section JAVA_OPTS="-Xms256m -Xmx512m -XX:MaxPermSize=256m ...
  3. See Diagnosis above and enter the appropriate values. Xmx is maximum, Xms is minimum, and MaxPermSize is PermGen.

root@:/usr/share/tomcat6/bin# cat setenv.sh
export CATALINA_OPTS="$CATALINA_OPTS -Dorg.apache.jasper.runtime.BodyContentImpl                                                                                        .LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -Xms128m -Xmx1024m -XX:MaxP                                                                                        ermSize=256m"