思うところあり掲題の構成でサーバを立てたので、メモを残す。
- EC2のAmazon Linux のインスタンスを作成し、
- OpenJDKをインストールし、
- Tomcat 8 を立て、
- GitBucket を構築し、
- gitbucket-label-kanban-plugin を導入
する手順。環境構築苦手マンなので、Unix系OSのコマンドの基本的な部分の補足も含む。間違っているところ、不要な手順があったらご指摘ください。
環境
- macOS Mojave
- バージョン 10.14.1
EC2インスタンスの作成
AMI は、下のものを選択してみる*1。
Amazon Linux AMI 2018.03.0 (HVM), SSD Volume Type - ami-063fa8762cdc9a5a6
AMIの選択以降は、デフォルトで進める。インスタンスを作成する直前に、キーペアを作成させられるため、pemファイルをダウンロードして適当なところに配置しておく(SSHアクセスする際にこのファイルへのパスを指定することになる)。
セキュリティグループの設定
セキュリティグループを新たに作成。インバウンドのルールを下記のように設定した。
タイプ | プロトコル | ポート範囲 |
---|---|---|
HTTP | TCP | 80 |
SSH | TCP | 22 |
HTTPS | TCP | 443 |
カスタムTCPルール | TCP | 8080 |
※ソースは今回は自分のPCからのみのアクセスとしたいため「マイIP」で設定。
今回は、SSH(macのTerminalからのアクセス)、カスタムTCPルール(Tomcatのデフォルトポート)しか利用していないので、HTTPとHTTPSは要らないかもしれない。
Elastic IP の割り当て
発行して割り当てる。インターネット経由でアクセスしたいため。AWSコンソールからボタン数回で。
SSHでサーバにアクセス
sshコマンドでアクセスする。
-i
オプションは、秘密鍵ファイルを指定するもの。
$ ssh ec2-user@[Elastic IP] -i [秘密鍵のパス] @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '[秘密鍵のパス]' are too open. It is required that your private key files are NOT accessible by others. This private key will be ignored. Load key "[秘密鍵のパス]'": bad permissions ec2-user@[Elastic IP]: Permission denied (publickey).
秘密鍵の権限が広すぎると怒られている。
たまにしかサーバを触らないので毎回忘れるパーミッションの表記をまとめておく。
数字 | 二進数 | 英字 | 意味 |
---|---|---|---|
7 | 111 | rwx | 読・書・実行 |
6 | 110 | rw- | 読・書 |
5 | 101 | r-x | 読・実行 |
4 | 100 | r-- | 読 |
3 | 011 | -wx | 書・実行 |
2 | 010 | -w- | 書 |
1 | 001 | --x | 実行 |
0 | 000 | --- | なし |
上の表に従えば、0644はグループと他人に読み取りの権限がある。これがダメっぽいので600にする。あとで出てくる755と合わせてまとめておく。
数列 | 本人 | グループ | 他人 |
---|---|---|---|
644 | rw- | r-- | r-- |
600 | rw- | --- | --- |
755 | rwx | r-x | r-x |
$ chmod 600 [秘密鍵のパス]
再度SSH接続を試みる。
$ ssh ec2-user@[Elastic IP] -i [秘密鍵のパス]
無事、アクセスできた。
Open JDK 1.8.0 のインストール
今回のインスタンスにはデフォルトで1.7.0系がインストールされている。
$ java -version java version "1.7.0_191" OpenJDK Runtime Environment (amzn-2.6.15.4.82.amzn1-x86_64 u191-b01) OpenJDK 64-Bit Server VM (build 24.191-b01, mixed mode)
1.8.0が欲しいのでyumでインストールする。-y
オプションは、すべての質問にyesと応答するもの。
$ sudo yum -y install java-1.8.0-openjdk-devel
新たにインストールしたJavaを利用するように変更する。下記を参考に。
$ sudo update-alternatives --config java
使用するJavaのバージョンが変更されていることを確認する。
$ java -version openjdk version "1.8.0_191" OpenJDK Runtime Environment (build 1.8.0_191-b12) OpenJDK 64-Bit Server VM (build 25.191-b12, mixed mode)
Tomcat のインストール
特に意味はないが、8.5.x の最新である 8.5.35 をインストールした。ちなみに最新版は 9.0.13 である。
Apache Tomcat® - Apache Tomcat 8 Software Downloads
下記の記事を参考にした。
ただし、Amazon Linux は sytemd ではなく init を使用することになるため、「初期設定 & 起動」以降の手順には従っていない。
$ cd /usr/local/src $ sudo mkdir tomcat $ cd tomcat $ sudo wget http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz # 公式ミラーサイトから取得する --2018-11-28 13:56:07-- http://ftp.riken.jp/net/apache/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz ftp.riken.jp (ftp.riken.jp) をDNSに問いあわせています... 134.160.38.1 ftp.riken.jp (ftp.riken.jp)|134.160.38.1|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 9642757 (9.2M) [application/x-gzip] `apache-tomcat-8.5.35.tar.gz' に保存中 apache-tomcat-8.5.3 100%[===================>] 9.20M 27.8MB/s in 0.3s 2018-11-28 13:56:08 (27.8 MB/s) - `apache-tomcat-8.5.35.tar.gz' へ保存完了 [9642757/9642757]
ダウンロードしてきたものを解凍する。
$ sudo tar zxvf apache-tomcat-8.5.35.tar.gz
$ ls
apache-tomcat-8.5.35 apache-tomcat-8.5.35.tar.gz
/opt/配下に移動し、tomcatユーザに権限を与える。
$ sudo mv apache-tomcat-8.5.35 /opt/ $ sudo useradd -s /sbin/nologin tomcat $ sudo chown -R tomcat. /opt/apache-tomcat-8.5.35 $ sudo ln -s /opt/apache-tomcat-8.5.35 /opt/tomcat # シンボリックリンクの作成
下記の内容をファイルに書き込む。
export CATALINA_HOME=/opt/tomcat
$ cd /etc/profile.d
$ sudo vi tomcat.sh
tomcat を立ち上げてみる。
$ sudo -u tomcat /opt/tomcat/bin/startup.sh
Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.
http://[Elastic IP]:8080
にアクセスする。
アクセスできるようになった。
Gitbucket のインストール
下記をインストールしたい。
下記を参考にする。
インストールする。
$ cd /opt/tomcat $ sudo chmod webapps 755 # tomcat ユーザーにしかRead権限がない状態(drwxr-xr-x)ので、権限を追加 $ sudo wget https://github.com/takezoe/gitbucket/releases/download/4.29.0/gitbucket.war -O gitbucket.war $ sudo -u tomcat /opt/tomcat/bin/startup.sh # tomcat を再起動する
http://[Elastic IP]:8080/gitbucket/
にアクセスする。
アクセスできた。
Kanban プラグインのインストール
下記をインストールする。
GitHubのREADMEには下記のようにある。
Download jar file from the release page and put it into
GITBUCKET_HOME
/plugins.
GITBUCKET_HOME
は、GitBucketを動かしているユーザのホームにある.gitbucketディレクトリらしい。移動する。
$ cd /home $ sudo chmod 755 tomcat $ cd tomcat $ sudo chmod 755 .gitbucket $ cd .gitbucket $ sudo chmod 755 plugins $ cd plugins # ここが `GITBUCKET_HOME`/plugins $ sudo wget https://github.com/kasancode/gitbucket-label-kanban-plugin/releases/download/2.0.3/gitbucket-label-kanban-plugin_2.12-2.0.3.jar $ sudo -u tomcat /opt/tomcat/bin/startup.sh # tomcat を再起動
root/rootでログインして、リポジトリを作ると、サイドバーに「Kanban」が現れている。クリックするとアクセスできる。
Kanbanをためす
Label に TODO と DOING を作成し、サンプルの Issue を作って動かしてみた。
ぬるぬる動く。
ちなみに、Gif画像の作成は下記の記事を参考にした。便利な世の中。
感想
取り組み始めてみればそこまで難しくはなかった。新しいツールを自力で導入できることは、プロセス改善のためには必須スキルなので、少しずつ磨いていきたい。
また、Trello などのクラウドのツールを使えない現場で働くみなさんは、GitBucket + gitbucket-label-kanban-plugin でカンバン生活を始めてみてはいかがだろうか。。

- 作者: Marcus Hammarberg,Joakim Sundén,原田騎郎,安井力,吉羽龍太郎,角征典,?木正弘
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/03/26
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (8件) を見る