Amazon Linux2 に Nginx フロントエンド構成で GitBucket をインストールする
Amazon Linux2 に GitBucket をインストールする手順をメモしておきます。
Java のインストール
GitBucket の公式ページには下記の記載があります。
GitBucket requires Java8. You have to install it, if it is not already installed.
試しに amazon-linux-extras にある Java11 でチャレンジしてみたのですが、やはり GitBucket が起動しませんでした。 ここは素直に Java8 をインストールしていきます。 Java8 であれば Amazon Linux の標準リポジトリからインストール出来ます。 現時点でインストール可能なバージョンは 1.8.0.201.b09 でした。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 | # yum info java-1.8.0-openjdk
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
Available Packages
Name : java-1.8.0-openjdk
Arch : x86_64
Epoch : 1
Version : 1.8.0.201.b09
Release : 0.amzn2
Size : 259 k
Repo : amzn2-core/2/x86_64
Summary : OpenJDK Runtime Environment 8
URL : http://openjdk.java.net/
License : ASL 1.1 and ASL 2.0 and BSD and BSD with advertising and GPL+ and GPLv2 and GPLv2 with exceptions and IJG and LGPLv2+ and MIT and
: MPLv2.0 and Public Domain and W3C and zlib
Description : The OpenJDK runtime environment.
|
インストールします。
| yum -y install java-1.8.0-openjdk
|
Tomcat のインストール
次は Tomcat をインストールします。 Tomcat は amazon-linux-extras からインストールします。
| amazon-linux-extras enable tomcat8.5
yum clean metadata
yum -y install tomcat
|
Nginx のインストール
続いて Nginx をインストールします。 Amazon Linux 標準リポジトリにある Nginx はバージョンが古い為、Nginx 公式リポジトリからインストールします。 まず、リポジトリを定義します。 /etc/yum.repos.d/nginx.repo
を以下の内容で新規作成します。
| [nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
|
Nginx をインストールします。
| yum check-update
yum -y install nginx
|
サーバ証明書の用意
今回は GitBucket の通信を SSL/TLS で保護したい為、サーバ証明書を用意しておきます。 CA 局はお好みで良いと思いますが、Let's Encrypt で取得するのが手軽だと思います。
GitBucket のダウンロード
GitBucket は .war ファイルで提供されている為、所定のディレクトリ (Tomcat の webapps) へ配置するだけでインストール完了です。 トップディレクトリ (https://example.com/
等) でサービスを提供出来るよう、ROOT.war
へファイル名を変更しておきます。
| wget -P /usr/share/tomcat/webapps/ https://github.com/gitbucket/gitbucket/releases/download/4.31.2/gitbucket.war
mv /usr/share/tomcat/webapps/gitbucket.war /usr/share/tomcat/webapps/ROOT.war
|
GitBucket 用 Nginx 設定ファイルの準備
GitBucket 用の Nginx 設定ファイルを用意します。 /etc/nginx/conf.d/gitbucket.conf
を以下の内容で新規作成します。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 | upstream gitbucket {
server localhost:8080;
}
server {
listen 80;
server_name gitbucket.example.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
server_name gitbucket.example.com;
ssl_certificate /etc/letsencrypt/certificatesexample.comm.crt;
ssl_certificate_key /etc/letsencrypt/certificates/example.com.key;
ssl_protocols TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDH !aNULL !eNULL !SSLv2 !SSLv3';
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
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;
location / {
proxy_pass http://gitbucket;
proxy_redirect http:// https://;
}
}
|
自動起動&起動の設定
Nginx と Tomcat を自動起動させます。
| systemctl enable nginx tomcat
systemctl start nginx tomcat
|
GitBucket へアクセスする
ブラウザから GitBucket をインストールした URL (例えば https://gitbucket.example.com
) へアクセスし、以下のように GitBucket の画面が表示されることが確認出来ればインストールは完了です。
GitBucket の初期ユーザは以下です。 パスワードが安易な為、すぐに変更することがお勧めです。
項目 |
値 |
ユーザ名 |
root |
パスワード |
root |