This page last changed on Mar 19, 2010 by jcurry.
Linux system administration is outside the scope of Atlassian support- this document is for informational purposes only

On Unix/Linux, 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 run JIRA automatically on Unix/Linux:

  1. Create a jira user for instance, using the following command:

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


  2. Create a directory to install JIRA into:

    sudo mkdir /usr/local/jira
    sudo chown jira: /usr/local/jira
    


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

    sudo su - jira
    cd /usr/local/jira/
    tar zxvf /tmp/atlassian-jira-enterprise-4.0.2-standalone.tar.gz
    ln -s atlassian-jira-enterprise-4.0.1-standalone/ current
    


  4. Edit current/atlassian-jira/WEB-INF/classes/jira-application.properties, and set jira.home=/usr/local/jira/home

  5. 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=/usr/local/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
  1. Make the init script executable:
    chmod \+x /etc/init.d/jira
  1. 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/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
  2. 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.
Document generated by Confluence on Mar 27, 2011 18:38