Recent posts:
PC雑記帳

PCやWebに関する便利な情報や使いこなし情報を紹介

VPSにインストールしたBitnami RedmineにNginx経由でアクセス(CentOS)

2020/11/29 更新

VPSにBitnami RedmineのインストーラでインストールしたRedmineにNginxのリーバスプロキシを使用して外部から閲覧するようにした際のメモ。(OSはCentOSを使用)

概要

Redmineをゼロから構築するのは面倒ですが、Bitnami Redmineを使用すると簡単にRedmine環境をインストールすることができます。

そして、普段はNginxで公開しているサーバにインストールした際、Nginx経由でBitnami Redmineを閲覧できるようにしたときのメモです。

今回の構成

今回は次のようにポート番号・URIを設定しています。

  • Nginx (HTTP:80/HTTPS:443で動作させる前提)
  • Bitnami Redmine (HTTP:8008で動作させる前提)
  • Redmine閲覧時のURI:http(s)://example.org/redmine/

※HTTPSへの対応は本記事の内容から外れてしまうため省略しています

Bitnami Redmineのインストール

Bitnami Redmineのインストーラは「Install Redmine, Download Redmine」からダウンロードできます。

インストール方法を紹介しているサイトもあり、実際簡単にインストールできるためインストール方法は省略します。(基本的にインストーラの指示に従うだけですぐにインストール可能)

既に、あるいは今後Nginxで80/443番ポート(及びMySQLで3306番ポート)を使用する場合は、インストール時のポート番号を変更しておく必要があります。

ここでは一例としてポート番号を80⇒8008、443⇒8443、3306⇒8306と変更してインストールしています。

また、Nginxが起動しているときはBitnami Redmineも動作している前提です。必要に応じて自動起動も設定してください。

Nginxのリバースプロキシで閲覧できるようにする

インストールが完了したら、まずはローカルでRedmineのページが見られるか確認し、問題なければNginxの設定に移ります。

設定ファイルを開き、今回は次のように設定しました。

server {
    listen       80;
    server_name  example.org;

    root         /usr/share/nginx/html/example.org;

    location / {
        index  index.htm;
    }

    location /redmine {
        proxy_set_header  X-Real-IP $remote_addr;
        proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto $scheme;
        proxy_set_header  Host $http_host;
        proxy_pass        http://127.0.0.1:8008/redmine;
    }

    location ~ /\.ht {
        deny  all;
    }
}

ここではlocation /redmine部分を新しく追加したものと仮定しています。

設定の詳細については省略しますが、proxy_set_headerで渡す情報をセットし、proxy_passで渡す先を指定しています。

今回は外部に公開されているNginx(80番ポート)で受けて、ローカルで動作する(外部に公開していない)8008番ポートのBitnami Redmineに渡しています。

なお、これらの設定は一例として挙げたものであり、実際に使用する場合は各種構成・セキュリティ等を考慮して設定を行ってください。

管理人が実際に使用する際にはLet’s Encryptを使用してHTTPS化しました。

その場合に変わるのはlistenが443番ポートになり、HTTPSのための設定(ssl on,ssl_***類の設定)が増えるといった点です。

設定が完了したらNginxをリスタートして作業は完了です。