====== JIRA ======
===== [[http://confluence.atlassian.com/display/JIRA/Installing+JIRA+on+Tomcat+6.0|Installation]] =====
* Install necessary packages: \\
''apt-get install sun-java6-jre tomcat6 libmysql-java libcommons-modeler-java''
* Download and unpack JIRA into temporary directory:
# wget -nv http://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-enterprise-4.1.1.tar.gz
# tar -xzf atlassian-jira-enterprise-4.1.1.tar.gz
* Setup the database type and local JIRA directory location:
diff -du -ruN edit-webapp.orig/WEB-INF/classes/entityengine.xml edit-webapp/WEB-INF/classes/entityengine.xml
--- edit-webapp.orig/WEB-INF/classes/entityengine.xml 2010-04-19 11:17:45.000000000 +0200
+++ edit-webapp/WEB-INF/classes/entityengine.xml 2010-05-21 00:57:39.791404832 +0200
@@ -95,8 +95,7 @@
PLEASE DO NOT set the use-foreign-key* values to "true" as JIRA does not currently support this.
-->
-
* Build a package: ''cd atlassian-jira-enterprise-4.1.1 && ./build.sh && mkdir -p /usr/local/jira && mv dist-tomcat/tomcat-6/atlassian-jira-4.1.1.war /usr/local/jira && cd /usr/local/jira''
* Create context descriptor ''/usr/local/jira/jira.xml'':
* Download the addon library package and unpack it to ''/usr/local/jira/lib'' directory:
# wget -nv http://confluence.atlassian.com/download/attachments/200709089/jira-jars-tomcat6.zip
# unzip -v jira-jars-tomcat6.zip -d /usr/local/jira
# mv /usr/local/jira/jira-jars-tomcat6 /usr/local/jira/lib
# ls -1 /usr/local/jira/lib
carol-1.5.2.jar
carol-properties.jar
commons-logging-1.0.4.jar
hsqldb-1.8.0.5.jar
jonas_timer-1.4.3.jar
jotm-1.4.3.jar
jotm-iiop_stubs-1.4.3.jar
jotm-jrmp_stubs-1.4.3.jar
jta-1.0.1.jar
log4j-1.2.15.jar
objectweb-datasource-1.4.3.jar
ots-jts_1.0.jar
xapool-1.3.1.jar
* Tune file permissions:
# cd /usr/local/jira
# chown tomcat6.www -R .
# chmod a-w,o-rwx -R .
# chmod 750 .
# mkdir /var/backups/jira
# chown tomcat6.www /var/backups/jira
# chmod 750 /var/backups/jira
* Configure tomcat startup JIRA application descriptor and JIRA libraries (exclude ''commons-logging-1.0.4.jar'' and ''log4j-1.2.15.jar'' as they should be already included into the package):
# cd /etc/tomcat6/Catalina/localhost
# ln -s /usr/local/jira/jira.xml
# cd /usr/share/tomcat6/lib
# ln -s ../../../java/mysql-connector-java.jar
# rm commons-logging-1.0.4.jar log4j-1.2.15.jar
* Configure tomcat server:
--- /etc/default/tomcat6.orig 2007-09-26 00:00:00.000000000 +0200
+++ /etc/default/tomcat6 2009-06-05 14:51:45.593168235 +0200
@@ -7,6 +7,7 @@
# the Sun JDK, various J2SE 1.4 versions, and the free runtimes
# java-gcj-compat-dev and kaffe are tried.
#JAVA_HOME=/usr/lib/jvm/java-6-sun
+JAVA_HOME=/usr/lib/jvm/java-6-sun/jre
# Directory for per-instance configuration files and webapps. It contain the
# directories conf, logs, webapps, work and temp. See RUNNING.txt for details.
@@ -14,7 +15,11 @@
#CATALINA_BASE=/var/lib/tomcat6
# Arguments to pass to the Java virtual machine (JVM).
-#JAVA_OPTS="-Djava.awt.headless=true -Xmx128M"
+JAVA_OPTS="-Djava.awt.headless=true -Xmx512M -XX:MaxPermSize=128m"
+
+# Read more here about this:
+# http://confluence.atlassian.com/display/JIRA/Installing+JIRA+on+Tomcat+5.5#InstallingJIRAonTomcat5.5-memleak
+JAVA_OPTS="$JAVA_OPTS -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true"
# Java compiler to use for translating JavaServer Pages (JSPs). You can use all
# compilers that are accepted by Ant's build.compiler property.
@@ -25,4 +30,4 @@
# the consequences!
# NOTE: java-gcj-compat-dev currently doesn't support a security
# manager.
-#TOMCAT6_SECURITY=yes
+TOMCAT6_SECURITY=no
* Start tomcat ''/etc/init.d/tomcat start'' and check logs in ''/usr/share/tomcat6/logs/catalina.*.log''
==== Problems ====
=== ''BaseModelMBean'' creation fails due to missed ''logging.properties'' ===
You need to disable the security manager in ''TOMCAT6_SECURITY=no'' in ''/etc/default/tomcat6'' or tweak ''/etc/tomcat6/catalina.policy''. [[http://forums.atlassian.com/thread.jspa?threadID=34575|This post]] is about the same issue.
=== Auto export service does not clean old backups, which are accumulated with no limit ===
The instruction about how to disable ''ExportService'' is [[http://www.atlassian.com/software/jira/docs/v3.13.5/automated_backups.html|here]]. However it is not possible to configure backup expiration period. This should be done via external means.
=== JIRA main page displays //The Gadget Dashboard bundled plugin is not available// and main page is not rendered correctly ===
The full message is:
ERROR
The Gadget Dashboard bundled plugin is not available. Please contact an administrator to ensure the Gadget Dashboard plugin is enabled!
Also the administration console says:
There was a problem loading the module descriptor: null.
Unable to enable web fragment
Another sympthom is the following message in log:
Caused by: java.lang.NoClassDefFoundError: org/apache/log4j/Logger
at com.atlassian.templaterenderer.velocity.CompositeClassLoader.(CompositeClassLoader.java:19)
at com.atlassian.templaterenderer.velocity.one.six.internal.VelocityTemplateRendererImpl.(VelocityTemplateRendererImpl.java:58)
The problem is in ''log4j'' version: the one which is bundled with Tomcat Server is too old. You need to upgrade it:
# cd /usr/share/tomcat6/lib
# ls -l log4j*
lrwxrwxrwx 1 root root 24 Oct 7 2009 log4j-1.2.jar -> ../../java/log4j-1.2.jar
# rm log4j-1.2.jar
# ln -s /usr/local/jira/lib/log4j-1.2.15.jar
The problem is also discussed [[http://forums.atlassian.com/thread.jspa?messageID=257320079|here]] (log dump was found [[http://jira.atlassian.com/secure/attachment/34663/atlassian-jira.log|here]]).