Atlassian JIRA: установка и настройка на CentOS

Автор: | 31/03/2014

jira_logoУстановка будет производится на:

# cat /etc/redhat-release
CentOS release 6.4 (Final)

Хотя, т.к. JIRA работает на Java и Tomcat – то система роли особо не играет.

Tomcat JIRA использует свой, а установка Java описана в посте Bamboo: установка и настройка на CentOS + MySQL/MariaDB.

В качестве сервера базы данных будет использоваться MySQL:

# yum list installed | grep mysql-server
mysql-server.i686                    5.5.34-1.el6.remi         @remi

Установка будет проводится не под пользователем root, поэтому – создадим пользователя вручную:

# useradd jira
# passwd jira
# su -l jira
07:05:52 [jira@localhost ~] $

Создадим временную директорию для установки:

$ mkdir jira && cd jira

Для загрузки – переходим на страницу https://www.atlassian.com/software/jira/download, и внизу кликаем на:

All JIRA Download Options

Выбираем:

JIRA 6.2.1 (Linux 32 Bit Installer)

или:

JIRA 6.2.1 (Linux 64 Bit Installer)

Качаем:

$ wget http://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2.1-x32.bin
$ ls -l
total 207848
-rw-r--r-- 1 jira jira 212835395 Mar 31 05:43 atlassian-jira-6.2.1-x32.bin

Устанавливаем бит выполнения:

$ chmod u+x atlassian-jira-6.2.1-x32.bin

И запускаем установку:

$ ./atlassian-jira-6.2.1-x32.bin
Unpacking JRE ...
Starting Installer ...
Mar 31, 2014 5:46:03 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
You do not have administrator rights to this machine and as such, some installation options will not be available. Are you sure you want to continue?
Yes [y, Enter], No [n]
y

This will install JIRA 6.2.1 on your computer.
OK [o, Enter], Cancel [c]
o
Choose the appropriate installation or upgrade option.
Please choose one of the following:
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]
1
See where JIRA will be installed and the settings that will be used.
Installation Directory: /home/jira/atlassian/jira
Home Directory: /home/jira/atlassian/application-data/jira
HTTP Port: 8080
RMI Port: 8005
Install as service: No
Install [i, Enter], Exit [e]
i

Extracting files ...
lib/rt.jar
...

Please wait a few moments while JIRA starts up.
Launching JIRA ...
Installation of JIRA 6.2.1 is complete
Your installation of JIRA 6.2.1 is now ready and can be accessed via your
browser.
JIRA 6.2.1 can be accessed at http://localhost:8080
Finishing installation ...

Если выбрать Custom Install – можно задать свои параметры установки:

...
Express Install (use default settings) [1], Custom Install (recommended for advanced users) [2, Enter], Upgrade an existing JIRA installation [3]
2

Where should JIRA 6.2.2 be installed?
[/home/jira/atlassian/jira]

Default location for JIRA data
[/home/jira/atlassian/application-data/jira]

Configure which ports JIRA will use.
JIRA requires two TCP ports that are not being used by any other
applications on this machine. The HTTP port is where you will access JIRA
through your browser. The Control port is used to Startup and Shutdown JIRA.
Use default ports (HTTP: 8080, Control: 8005) - Recommended [1, Enter], Set custom value for HTTP and Control ports [2]
2
HTTP Port Number
[8080]
8084
Control Port Number
[8005]
8007

Extracting files ...
  atlassian-jira/includes/jquery/plugins/shorten/shorten-min.js

Возвращаемся в домашнюю директорию:

$ cd ../

Установка произведена в каталог atlassian:

$ ls -l
total 8
drwxrwxr-x 4 jira jira 4096 Mar 31 05:54 atlassian
drwxrwxr-x 3 jira jira 4096 Mar 31 05:50 jira

Структура каталогов JIRA выглядит так:

$ tree -d -L 3 atlassian/
atlassian/
├── application-data
│   └── jira
└── jira
├── atlassian-jira
│   ├── aui-examples
│   ├── decorators
│   ├── func
│   ├── images
│   ├── includes
│   ├── META-INF
│   ├── portlets
│   ├── secure
│   ├── static
│   ├── static-assets
│   ├── styles
│   ├── template
│   ├── ui
│   ├── views
│   └── WEB-INF
├── bin
│   └── apr
├── conf
├── external-source
├── __i4j_jre_backup
│   ├── bin
│   ├── lib
│   ├── man
│   └── plugin
├── jre
│   ├── bin
│   ├── lib
│   ├── man
│   └── plugin
├── lib
├── logs
├── temp
├── tomcat-docs
├── webapps
└── work
└── Catalina

Переходим в JIRA Installation Directory:

$ cd ~/atlassian/jira/

Управление запуском и остановкой выполняется через через скрипты start-jira.sh и stop-jira.sh в каталоге bin.

После установки JIRA уже должна быть запущена.

Проверяем:

$ ps ux | grep jira | grep java | grep -v grep
jira 4864 28.5 41.3 1283824 425916 pts/1 Sl 06:48 0:44 /home/jira/atlassian/jira/jre//bin/java -Djava.util.logging.config.file=/home/jira/atlassian/jira/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -XX:MaxPermSize=384m -Xms384m -Xmx768m -Djava.awt.headless=true -Datlassian.standalone=JIRA -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Dmail.mime.decodeparameters=true -Dorg.dom4j.factory=com.atlassian.core.xml.InterningDocumentFactory -XX:+PrintGCDateStamps -XX:-OmitStackTraceInFastThrow -Djava.endorsed.dirs=/home/jira/atlassian/jira/endorsed -classpath /home/jira/atlassian/jira/bin/bootstrap.jar:/home/jira/atlassian/jira/bin/tomcat-juli.jar -Dcatalina.base=/home/jira/atlassian/jira -Dcatalina.home=/home/jira/atlassian/jira -Djava.io.tmpdir=/home/jira/atlassian/jira/temp org.apache.catalina.startup.Bootstrap start
$ netstat -np | grep 8080
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp 0 0 ::ffff:10.***.***.104:8080 ::ffff:10.***.***.15:58307 TIME_WAIT -
tcp 0 0 ::ffff:10.***.***.104:8080 ::ffff:10.***.***.15:58306 TIME_WAIT -
tcp 0 0 ::ffff:10.***.***.104:8080 ::ffff:10.***.***.15:58299 TIME_WAIT -
tcp 0 0 ::ffff:10.***.***.104:8080 ::ffff:10.***.***.15:58305 TIME_WAIT -

Заходим на страницу хоста, и видим предложение продолжить установку:

JIRA: установка и настройка на CentOS

Переходим к серверу MySQL:

$ mysql -u root -p
Enter password:

Создаём базу:

mysql> CREATE DATABASE jiradb CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.07 sec)

Назначаем права доступа:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,ALTER,INDEX on jiradb.* TO 'jiradb'@'localhost' IDENTIFIED BY 'jiradb';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.04 sec)

Пробуем зайти под созданным пользователем, и проверяем доступ к базе:

$ mysql -u jiradb -pjiradb
Welcome to the MySQL monitor. Commands end with ; or g.
...
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| jiradb             |
+--------------------+
2 rows in set (0.03 sec)
mysql> use jiradb;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed

Для дальнейшей работы – нам понадобится драйвер JDBC-коннектора для MySQL.

Качаем его со страницы http://dev.mysql.com/downloads/connector/j. Выбираем “Platform Independent“, и тип tar.gz:

$ cd && mkdir tmp
$ cd tmp/
$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.29.tar.gz
--2014-03-31 07:00:50-- http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.29.tar.gz
...
Length: 3614703 (3.4M) [application/x-tar-gz]
Saving to: “mysql-connector-java-5.1.29.tar.gz”
...
2014-03-31 07:00:55 (823 KB/s) - “mysql-connector-java-5.1.29.tar.gz” saved [3614703/3614703]

Распаковываем архив:

$ tar xfp mysql-connector-java-5.1.29.tar.gz

Находим jar-файл с драйвером:

$ find mysql-connector-java-5.1.29 -name "mysql-connector-java-*-bin.jar"
mysql-connector-java-5.1.29/mysql-connector-java-5.1.29-bin.jar

И копируем его в директорию JIRA Installation Directory/lib:

$ cp mysql-connector-java-5.1.29/mysql-connector-java-5.1.29-bin.jar ~/atlassian/jira/lib/

Переходим в домашнюю директорию:

$ cd

Перезапускаем JIRA:

$ ./atlassian/jira/bin/stop-jira.sh
executing as current user
...
$ ./atlassian/jira/bin/start-jira.sh

To run JIRA in the foreground, start the server with start-jira.sh -fg
executing as current user
...

Обновляем страницу в браузере и продолжаем установку. После заполнения полей – жмём Test connection для проверки::

JIRA: установка и настройка на CentOS

И Next, если всё в порядке. Ждём, пока JIRA заполнит таблицы в базе, и попадаем на следующую страницу:

JIRA: установка и настройка на CentOS

Нажиаем Next, и попадаем на страницу лицензирования:

JIRA: установка и настройка на CentOS

Заполняем по своему усмотрению, и попадаем на следующую страницу, где создаём аккаунт администратора:

JIRA: установка и настройка на CentOS

На следующей странцице нам предложат настроить email-нотификацию, после чего – мы сможет, наконец-то, попасть в веб-интнерфйес нашей новой JIRA:

JIRA: установка и настройка на CentOS

Готово.