You are on page 1of 3

Starting JIRA Automatically on Linux

Linux/Solaris system administration is outside the scope of Atlassian support. This page is provided for
your information only.

On Linux/Solaris, the best practice is to install, configure and run each service (including JIRA) as a dedicated user
with only the permissions they require.

To install, configure and get JIRA to start automatically on Linux/Solaris:

1. Create a jira user account which will be used to run JIRA. For example, enter the following at a Linux/Solaris
console:

sudo useradd --create-home -c "JIRA role account" jira

2. Create a directory into which JIRA will be installed. For example:

sudo mkdir /opt/atlassian/jira


sudo chown jira: /opt/atlassian/jira

3. Log in as the jira user to install JIRA:

sudo su - jira

4. Assuming you downloaded the JIRA from a 'tar.gz' archive, you need to extract it:

cd /opt/atlassian/jira
tar zxvf /tmp/atlassian-jira-X.Y.tar.gz
ln -s atlassian-jira-X.Y/ current

5. Edit current/atlassian-jira/WEB-INF/classes/jira-application.properties and set


jira.home=/var/atlassian/application-data/jira
6. Then back as root, create the file /etc/init.d/jira (code shown below), which will be responsible for
starting up JIRA after a reboot (or when manually invoked).

#!/bin/sh -e
# JIRA startup script
#chkconfig: 2345 80 05
#description: JIRA

# Define some variables

# Name of app ( JIRA, Confluence, etc )


APP=jira
# Name of the user to run as
USER=jira
# Location of application's bin directory
BASE=/opt/atlassian/jira/current
# Location of Java JDK
export JAVA_HOME=/usr/lib/jvm/java-6-sun

case "$1" in
# Start command
start)
echo "Starting $APP"
/bin/su -m $USER -c "cd $BASE/logs && $BASE/bin/startup.sh &> /dev/null"
;;
# Stop command
stop)
echo "Stopping $APP"
/bin/su -m $USER -c "$BASE/bin/shutdown.sh &> /dev/null"
echo "$APP stopped successfully"
;;
# Restart command
restart)
$0 stop
sleep 5
$0 start
;;
*)
echo "Usage: /etc/init.d/$APP {start|restart|stop}"
exit 1
;;
esac

exit 0

7. Make the init script executable:

chmod \+x /etc/init.d/jira

8. Place symlinks in the run-level directories to start and stop this script automatically.

1. For Debian-based systems:

update-rc.d jira defaults

The following commands will be executed to place symlinks in the run-level directories:

Adding system startup for /etc/init.d/jira ...


/etc/rc0.d/K20jira -> ../init.d/jira
/etc/rc1.d/K20jira -> ../init.d/jira
/etc/rc6 d/K20jira -> /init d/jira
/etc/rc6.d/K20jira -> ../init.d/jira
/etc/rc2.d/S20jira -> ../init.d/jira
/etc/rc3.d/S20jira -> ../init.d/jira
/etc/rc4.d/S20jira -> ../init.d/jira
/etc/rc5.d/S20jira -> ../init.d/jira

2. For RedHat-based systems:

the init.d script contains chkconfig settings

sudo /sbin/chkconfig --add jira

9. Ensure the script is executed in the correct order, in particular after the database startup script.

Thank you for this information

Thank you to Matthew Block and Pete Toscano for the original comments that we based this
information on.

Last modified on Nov 8, 2011

You might also like