ApacheでGitBucketをリバースプロキシしてみる

動作環境

ApacheでGitBucketをリバースプロキシしてみる

  • Apacheでのリバースプロキシ設定はすでに実施済みである前提で進めます。

    • Apacheでのリバースプロキシの設定は、過去記事をみてくださいね。
  • リバースプロキシ用の設定ファイルを用意します。

<Proxy *>
  Order deny,allow
  Allow from all
</Proxy>

AllowEncodedSlashes NoDecode
ProxyPreserveHost On
ProxyPass /gitbucket http://[domain]:60001/gitbucket
ProxyPassReverse /gitbucket http://[domain]:60001/gitbucket
  • ひとまずローカルで作成するので、ログインユーザで作成できる任意の場所に作成してください。
  • ファイル名は、my-proxy.conf としておきましょう。

  • 作成したリバースプロキシファイルのコピー

$ sudo cp -p my-proxy.conf /etc/apache2/sites-available/.
$ sudo chown root:root /etc/apache2/sites-available/my-proxy.conf
  • ログインユーザで my-proxy.conf を作成していたので、コピーは sudo を使ってください。
  • コピー後は、ファイルの所有権を root に変更しています。

  • リバースプロキシを有効にします

$ sudo a2ensite my-proxy
  • /etc/apache2/sites-available 配下に存在する conf ファイルの接頭辞を指定します。
  • この結果として、sites-enabled ディレクトリにしシンボリックリンクが作成されているので確認しておいてください。
$ ls -l /etc/apache2/sites-enabled/
合計 8
drwxr-xr-x 2 root root 4096  2月  4 16:04 ./
drwxr-xr-x 8 root root 4096  1月 31 15:04 ../
lrwxrwxrwx 1 root root   35  1月 31 15:04 000-default.conf -> ../sites-available/000-default.conf
lrwxrwxrwx 1 root root   32  2月  4 16:04 my-proxy.conf -> ../sites-available/my-proxy.conf
  1. GitBucketへのアクセスパスを変更しておきます。
[Unit]
Description=The GitBucket Server

[Service]
User=develop
ExecStart=/usr/bin/java -jar [gitbucket.warを置いてあるフルパス]/gitbucket.war \
                        --gitbucket.home=[フルパスで任意の場所]] \
                        --port=60001 \
                        --prefix=/gitbucket \
                        --max_file_size=10485760 \
                        

[Install]
WantedBy=multi-user.target
  • 変更対象のファイルは、 /lib/systemd/system/gitbucket.service です。

  • 設定ファイルを再読み込みします。

$ sudo systemctl daemon-reload
  1. ApacheとGitBucketを再起動しておきましょう。
$ sudo systemctl restart apache2
$ sudo systemctl restart gitbucket
  • サーバが自由にできるなら、サーバ再起動でも良いですよ。

  • 動作確認

  • 以下のアドレスにアクセスして、GitBucketの初期画面が出てきたら成功。
http://[domain]/gitbucket/
  • 初期画面はこんなイメージ

f:id:itachi900:20220204163902p:plain
GitBucket初期画面