仕事でJIRA7を立てる必要があったので、ついでに手順をまとめました。
JIRA以外のアプリケーションも同じ筐体に立てる予定だったので、
リバースプロキシにnginxを使ってhttp://localhost:8080/jira
みたいな形でアクセスできるようにします。
環境
- JIRA 7
- CentOS 6.7
- nginx 1.8.1
- MySQL 5.6.28
手順
1. nginxのインストール
CentOS6でデフォルトでインストールできるnginxは古すぎるので、rpmをインストールします。
# rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
# yum -y install nginx
# nginx -v
nginx version: nginx/1.8.1
2. MySQLのインストール
MySQLのデフォルトバージョンも古すぎるので、rpmをインストールします。
# yum install http://dev.mysql.com/get/mysql-community-release-el6-5.noarch.rpm
# yum -y install mysql mysql-devel mysql-server mysql-utilities
# mysqld --version
mysqld Ver 5.6.28 for Linux on x86_64 (MySQL Community Server (GPL))
3. JIRA用のデータベースとユーザ作成
JIRA用のデータベースとユーザを作成します。
# mysql -u root -p
> create database jira default character set utf8;
> grant all privileges on jira.* to jira@localhost identified by 'jira';
> flush privileges;
> exit
4. JIRAのインストール
インストーラをダウンロードしてJIRAをインストールします。
インストーラは 必ずroot権限で実行 してください。
インストールが完了すると、jiraサービスを実行するためのjiraユーザが作成されます。
$ wget https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.0.10-jira-7.0.10-x64.bin
$ chmod a+x atlassian-jira-software-7.0.10-jira-7.0.10-x64.bin
$ sudo ./atlassian-jira-software-7.0.10-jira-7.0.10-x64.bin
5. MySQL Connectorのインストール
今回はMySQLを使うので、MySQLドライバーをインストールしてJIRAにインストールします。
$ wget http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz
$ tar xvf mysql-connector-java-5.1.38.tar.gz
$ cd mysql-connector-java-5.1.38
$ sudo cp mysql-connector-java-5.1.38-bin.jar /opt/atlassian/jira/lib/
6. nginxのリバースプロキシの設定
サブディレクトリにJIRAを配置したいので、nginxのリバースプロキシを設定します。
/etc/nginx/conf.d/jira.conf
upstream jira {
server 127.0.0.1:8080;
}
server {
location ~ /jira {
root /opt/atlassian/jira;
if (-f $request_filename) {
break;
}
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://jira;
access_log /var/log/nginx/jira_access.log;
error_log /var/log/nginx/jira_error.log;
}
}
加えてJIRAのserver.xml
のコンテキストパスの編集も必要になります。
/opt/atlassian/jira/conf/server.xml
<?xml version="1.0" encoding="utf-8"?>
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<!-- ... -->
<Engine name="Catalina" defaultHost="localhost">
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
<!-- pathを""から"/jira"に変更 -->
<Context path="/jira" docBase="${catalina.home}/atlassian-jira" reloadable="false" useHttpOnly="true">
<!-- ... -->
</Context>
</Host>
</Engine>
</Service>
</Server>
最後にJIRAとnginxを再起動してください。
http://localhost/jira
でアクセスできると思います。
$ sudo service jira stop
$ sudo service jira start
$ sudo service nginx restart