JIRA is now available as three separate applications, JIRA Software, JIRA Service Desk, and JIRA Core. For more information on administering these applications, refer to the Administering JIRA Applications documentation.

Installing JIRA from an Archive File on Windows, Linux or Solaris

If you're upgrading to JIRA 7.0, you should consult the Migration hub. JIRA 7.0 contains functionality that affects your user management, application access and log in permissions, and it's very important that you understand the requirements and the implications before you upgrade. The Migration hub has all this information in one handy space.

To install JIRA on Windows from a 'zip' archive file or Linux/Solaris from a 'tar.gz' archive file, follow the instructions on this page.

Before you begin

  • We strongly recommend that you install the latest production version available. If you install an older version of JIRA, it may contain security vulnerabilities that were patched or fixed in subsequent versions. If you have to install an older version, check if there are any security advisories that apply to the version.
  • Please ensure that you have installed Java and set JAVA_HOME. Also refer to the Supported Platforms page for details about which Java (as well as other) platforms are supported by JIRA.
  • Note, Linux distributions frequently have an open-source implementation of Java called GCJ installed. Do not use this Java platform — it is incomplete and JIRA will not run successfully on it.

On this page:

1. Download and Extract the JIRA Archive File

  1. Download the appropriate JIRA archive file for your operating system ('zip' for Windows or 'tar.gz' for Linux/Solaris), from the JIRA Download page.
    (info) After selecting the appropriate operating system tab on the 'JIRA download' page, you may need to click the 'Show all' link to access the required installation package.
  2. Extract the downloaded file.
    (info) On Windows, we recommend using a file extraction tool such as 7-Zip.
    (warning) On Solaris, use GNU tar to extract JIRA instead of the Solaris' default tar utility as GNU tar handles long filenames better.

2. Set the JIRA Home Directory in JIRA

To set this, do one of the following:

  • Edit the jira-application.properties file and set the value of the 'jira.home' property to the desired location for your JIRA Home Directory (this location should be something different than the application directory, or you may run into problems later). If you are specifying this location's path on Windows, use double back-slashes ("\") between subdirectories. For example, X:\\path\\to\\JIRA\‌\Home.
    (info)If you define an UNC path in Microsoft Windows, be sure to double escape the leading backslash: \\\\machinename\\path\\to\\JIRA\\home
    (info) See the JIRA Installation Directory page to find where this file is located.
  • Set an environment variable named JIRA_HOME in your operating system whose value is the location of your JIRA Home Directory. To do this:
    • On Windows, do one of the following:
      • Configure this environment variable through the Windows user interface (typically through 'My Computer' or 'Computer')
      • At the command prompt, enter the following command (with your own JIRA Home path) before running JIRA from the command prompt:
        • set JIRA_HOME=X:\path\to\JIRA\Home
          (warning) Please set your JIRA_HOME  environment variable value using this format, where:
          • X is the drive letter where your JIRA Home Directory is located and
          • no spacing has been added around the equal sign ('=')
      • Specify the command above in a batch file used to start JIRA.
    • On Linux/Solaris, do one of the following:
      • Enter the following command at a shell/console prompt (with your own JIRA Home path) before running JIRA:
        • export JIRA_HOME=/path/to/jira/home
      • Specify the command above in a script used to start JIRA.

You can specify any location on a disk for your JIRA home directory. Please be sure to specify an absolute path.

Please note that you cannot use the same JIRA home directory for multiple instances of JIRA. We recommend locating your JIRA Home Directory completely independently of the JIRA Installation Directory (i.e. not nesting one within the other) as this will minimize information being lost during major operations (e.g. backing up and restoring instances).

3. Create a Dedicated User Account on the Operating System to Run JIRA

(info) This step is optional if you are evaluating JIRA but should be mandatory for JIRA installations used in production.

A dedicated user should be created to run JIRA, as JIRA runs as the user it is invoked under and therefore can potentially be abused. For example:

  • If your operating system is *nix-based (for example, Linux or Solaris), type the following in a console:
    $ sudo /usr/sbin/useradd --create-home --comment "Account for running JIRA" --shell /bin/bash jira
  • If your operating system is Windows:
    1. Create the dedicated user account by either:
      • Typing the following at the Windows command line:
        > net user jira mypassword /add /comment:"Account for running JIRA"
        (This creates a user account with user name 'jira' and password 'mypassword'. You should choose your own password.)
      • Opening the Windows 'Computer Management' console to add your 'jira' user with its own password.
    2. (Optional) Use the Windows 'Computer Management' console to remove the 'jira' user's membership of all unnecessary Windows groups, such as the default 'Users' group.
      (tick) If Windows is operating under a Microsoft Active Directory, ask your Active Directory administrator to create your 'jira' account (with no prior privileges).

Ensure that only the following directories can be written to by this dedicated user account (e.g. 'jira'):

(warning) Do not make the JIRA Installation Directory itself writeable by the dedicated user account.

(info) See also Tomcat security best practices.

4. Start JIRA

Enter the bin subdirectory of your JIRA installation directory and execute the appropriate file to start running JIRA:

  • start-jira.sh (on Linux/Solaris)
  • start-jira.bat (on Windows)

(info) To run JIRA as the dedicated user account (e.g. 'jira') created above:

  • On Windows, use the runas command to run start-jira.bat. For example,
    runas /env /user:<DOMAIN>\jira start-jira.bat
    (where <DOMAIN> is your Windows domain or computer name.)
  • On Linux, switch to the 'jira' account using the su command before running start-jira.sh (or use su to run start-jira.sh as the 'jira' account).

Wait until the following message appears in the application's log file:

You can access JIRA from any computer with network access to your JIRA server by opening a supported web browser on the computer and visiting this URL:

  • http://<computer_name_or_IP_address>:<HTTP_port_number>


  • <computer_name_or_IP_address> is the name or IP address of the computer on which JIRA is installed and
  • <HTTP_port_number> is the HTTP port number (8080 by default).

(info) If JIRA does not appear in your web browser, you may need to change the port that JIRA runs on.

(info) Logs will be written to logs/catalina.out.

If something goes wrong, please verify that Java is installed correctly. If the problem persists, please contact us — we're happy to help.

5. Run the Setup Wizard

See Running the Setup Wizard.

Next Steps

Was this helpful?

Thanks for your feedback!

Why was this unhelpful?

10 Archived comments

  1. User avatar

    Troy Murray

    Just to make sure I understand this correctly.

    So for step #3, when it states "Ensure that only the following directories can be written to by this dedicated user account (e.g. 'jira')".  Assuming the following:

    • JIRA installation is /usr/local/jira
    • JIRA home is /var/jira-data
    • dedicated account is 'jira'

    Based on this, I'd execute the following commands to setup the permissions as you outline:

    16 Jun 2011
  2. User avatar


    It should be noted that JIRA will not start on Java 1.7.0 currently. The following exception occurs:

    ERROR      [atlassian.plugin.manager.PluginEnabler] Unable to enable plugin com.atlassian.sal.JIRA
    java.lang.ClassCastException: [Ljava.lang.String; cannot be cast to java.lang.Comparable

    Java 1.6.0 is supposed to work fine, still.

    03 Jun 2012
    1. User avatar

      Giles Gaskell

      Hi there,

      That's correct — our Supported Platforms page indicates what versions of Java are supported by JIRA (along with other supported platforms that JIRA depends on or works with).

      I'll add a link to this page in the documentation above.



      04 Jun 2012
  3. User avatar


    To execute the jira should I log in as user jira?


    13 Jul 2012
    1. User avatar

      Giles Gaskell

      If you performed step 3 (above) then the answer is yes. How one does this is covered in step 4 (above) under:

      (info) To run JIRA as the dedicated user account (e.g. 'jira') ...

      Please let me know if the instructions above are not clear about this.

      16 Jul 2012
      1. User avatar


        Thanks for responding, my English is simple, so it was not so clear the issue. I am conducting tests in the organization in which work and soon we will require a license. Thank you.

        16 Jul 2012
  4. User avatar


    Why do we introduce an environment variable named JIRA_HOME in step 2? This makes very difficult to run multiple versions of JIRA under one user account.

    22 May 2013
    1. User avatar

      Jason McIntee

      You don't have to use the environment variable. You can specify the location in the jira-application.properties file.

      14 Jun 2013
  5. User avatar


    Read only permission only for JIRA or entire system?

    12 Apr 2014
  6. User avatar

    Steven Varco

    I've created a more advanced init-script for redhat (centos) systems which supports status and extened proccess handling:

    1. chkconfig: - 80 05
    2. description: JIRA
    3. author: Steven Varco
    4. pidfile: /var/run/jira.pid
    1. source functions library
      . /etc/init.d/functions

    APP_NAME=jira # Name of the application (will be excecuted!)
    APP_DESC="JIRA bugtracker" # Short description
    APP_PIDFILE=/opt/jira/prod/work/catalina.pid # PID file
    APP_DEFAULT=/etc/default/$APP_NAME # Default conf file (sourced)
    #APP_CONFIG="" # Config file

    1. source the configfile
      if [ -f $APP_DEFAULT ]; then
      . $APP_DEFAULT

    if [ -z "$APP_USER" ]; then

    if [ -z "$APP_BASEPATH" ]; then

    if [ -z "$JAVA_HOME" ]; then
    export JAVA_HOME

    case "$1" in
    echo -n "Starting $APP_NAME..."

    #check in the proccess desc
    APP_PID=$(pgrep -f 'standalone=JIRA')
    if [ "$APP_PID" != "" ] ; then
    echo "proccess seems to be already running as: $APP_PID"
    exit 1

    1. Start functions
      $(which runuser) -l $APP_USER $APP_BASEPATH/bin/startup.sh > $APP_BASEPATH/logs/startup.log 2>&1
    1. Output OK or FAIL
      if [ $RETVAL -eq 0 ]; then

    echo "Stopping $APP_NAME..."

    1. Stop functions
      if [ -f $APP_PIDFILE ] ; then
      $(which runuser) -l $APP_USER $APP_BASEPATH/bin/shutdown.sh > $APP_BASEPATH/logs/shutdown.log 2>&1
    1. Output OK or FAIL
      if [ $RETVAL -eq 0 ]; then
    2. check in the proccess desc
      APP_PID=$(pgrep -f 'standalone=JIRA')
      if [ "$APP_PID" -gt "1" ] ; then
      echo -e "PID-File ($APP_PIDFILE) not found, but $APP_NAME seems to be running!\nPlease try: kill $APP_PID"
      echo "$APP_NAME is not running"

    $0 stop && sleep 5 && $0 start || return=$0

    if [ -f "$APP_PIDFILE" ] ; then
    PID=$(cat $APP_PIDFILE)
    PSPID=$(ps -p $PID -o comm=)
    if [ -n "$PSPID" ]; then
    echo "$APP_NAME is running as PID: $PID and command: $PSPID !"
    echo "$APP_NAME dead but pid file exists!"
    #check in the proccess desc
    APP_PID=$(pgrep -f 'standalone=JIRA')
    if [ "$APP_PID" != "" ] ; then
    echo "PID-File removed, but proccess is running as: $APP_PID !"
    echo "$APP_NAME is not running"
    exit $RETVAL

    echo "Usage: $0

    Unknown macro: {start|stop|restart|status}

    exit 1

    08 Jul 2014
Powered by Confluence and Scroll Viewport