JIRA と Confluence 入れたら次は Stash かなと。
Gitlab や Gitbucket があるので別に Stash である必要はないんだけどね。
それに Bitbucket より機能減ってるし、オンプレミスって以外に入れる利点はないような気がする。
nginx のインストール
Web サーバは nginx を利用
# rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
# vi /etc/yum.repos.d/nginx.repo
enable = 0
# yum install --enablerepo=nginx nginx
デフォルトで 7990 ポートを使うのでリバースプロキシを設定。
# vi /etc/nginx/conf.d/stash.conf
proxy_cache_path /var/run/nginx-cache levels=1:2 keys_zone=nginx-cache:50m max_size=50m inactive=1440m;
proxy_temp_path /var/run/nginx-cache/tmp;
server {
server_name stash.example.com;
fastcgi_connect_timeout 300s;
fastcgi_send_timeout 300s;
fastcgi_read_timeout 300s;
send_timeout 180;
location / {
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass http://127.0.0.1:7990;
set $do_not_cache 0;
if ($request_uri ~* ^(/secure/admin|/plugins|/secure/project)) {
set $do_not_cache 1;
}
proxy_cache nginx-cache;
proxy_cache_key "$scheme://$host$request_uri";
proxy_cache_bypass $do_not_cache;
proxy_cache_valid 1440m;
proxy_cache_min_uses 1;
proxy_read_timeout 300;
proxy_send_timeout 300;
}
}
git のインストール
CentOS でデフォ git だとサポート対象外なので、
サポート対象範囲の git をインストールする。
# yum install -y zlib-devel perl-devel gettext gcc curl-devel
# wget https://www.kernel.org/pub/software/scm/git/git-2.1.4.tar.gz
# tar xvfz git-2.1.4.tar.gz
# cd git-2.1.4
# ./configure
# make
# make install
# git --version
git version 2.1.4
ちなみに git を入れずに Stash をインストールしようとすると、
以下のようなエラー文が出る。出るけどインストールはできる。
Unable to find Git! Please install Git before installing Stash.
For more information please visit: http://go.atlassian.com/installgit
NOTE: If you proceed without a working Git, Stash won't be able to start
after installation until a working Git is found.
If you proceed without a working Git, Stash won't be able to start after installation.
Java のインストール
Java のバージョンも古いので上げておく。
# yum install java-1.8.0-openjdk-devel
データベースの作成
mysql> CREATE DATABASE stash CHARACTER SET utf8 COLLATE utf8_bin;
Query OK, 1 row affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON stash.* TO [email protected] IDENTIFIED BY 'stashpass';
Query OK, 0 rows affected (0.00 sec)
Stash のインストール
# wget https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-3.9.2-x64.bin --no-check-certificate
# chmod +x atlassian-stash-3.9.2-x64.bin
# ./atlassian-stash-3.9.2-x64.bin
Are you sure you want to continue?
Yes [y, Enter], No [n]
This will install Stash 3.9.2 on your computer.
OK [o, Enter], Cancel [c]
Please choose one of the following:
Install a new Stash instance [1, Enter], Upgrade an existing Stash instance [2]
Where should Stash be installed?
[/opt/atlassian/stash/3.9.2]
/usr/local/atlassian/stash/3.9.2/
Default location for Stash home directory
The location for Stash data.
This will be the default location for repositories, plugins, and other data.
Ensure that this location is not used by another Stash installation.
[/var/atlassian/application-data/stash]
Configure which ports Stash will use.
Stash requires two TCP ports that are not being used by any other
applications.
The HTTP port is where users will access Stash through their browsers. The
control port is used to start and stop Stash.
HTTP Port Number
[7990]
Control Port Number
[8006]
For a production server we recommend that you run Stash as a Windows/Linux
service because Stash will restart automatically when the computer restarts.
Install Stash as Service?
Yes [y, Enter], No [n]
Please review your Stash installation settings
Installation Directory: /usr/local/atlassian/stash/3.9.2
Home Directory: /var/atlassian/application-data/stash
HTTP Port: 7990
Control Port: 8006
Install as service: Yes
Install [i, Enter], Exit [e]
If you proceed without a working Git, Stash won't be able to start after installation.
Are you sure you want to continue?
Yes [y, Enter], No [n]
Extracting files ...
Installation of Stash is complete
Would you like to launch Stash?
Yes [y, Enter], No [n]
Please wait a few moments while Stash starts up.
Launching Stash ...
Installation of Stash 3.9.2 is complete
Your installation of Stash 3.9.2 is now ready and can be accessed via your
browser.
Stash 3.9.2 can be accessed at http://localhost:7990
Launch Stash 3.9.2 in browser?
Yes [y, Enter], No [n]
Finishing installation ...
# wget https://www.atlassian.com/software/stash/downloads/binary/atlassian-stash-3.9.2-x64.bin --no-check-certificate
# tar xvfz ./mysql-connector-java-5.1.34.tar.gz
# cp mysql-connector-java-5.1.34/mysql-connector-java-5.1.34-bin.jar /usr/local/atlassian/stash/3.9.2/lib/
# /etc/init.d/atlstash stop
# /etc/init.d/atlstash start
初期設定
ブラウザからアクセスして初期設定を行う。
終わらない starting up
初期設定も終わって JIRA とも連携ができたのだが、
以下のような画面のままずっと進まない現象が起きた。
Stash のマークがくるくる回り続けて、Initializing が終わらない。
「/」「/setup」にアクセスしても「/unavailable」に飛ばされるし訳分からん。
■Starting upページに飛ばされるURL
/ → /unavailable
/setup → /unavailable
いろいろ試したところ conf/server.xml に書いてあった
docBase の「/atlassian-stash」にアクセスしたら普通に Stash が利用できた!
その後プロジェクトを作ったらドメイン直下のアクセスでも unavailable に飛ばされることはなくなった。
試していないが「/getting-started?next=/projects」や「/projects」へのアクセスでもいいかもしれない。
■通常利用できるURL
/atlassian-stash
/getting-started?next=/projects (未確認)
/projects (未確認)
今は普通に使えているから、原因は分からないが良しとしよう。
終わらない starting up(原因解明)
(追記:2015/06/26)
nginx の Cache が悪さをしていた。
location / {
#proxy_cache nginx-cache;
#proxy_cache_key "$scheme://$host$request_uri";
#proxy_cache_bypass $do_not_cache;
#proxy_cache_valid 1440m;
#proxy_cache_min_uses 1;
一旦コメントアウトしたら問題なくプログレスバーも進んで、
完了後 projects のページへリダイレクトされた。