VPSにインストールしたBitnami RedmineにNginx経由でアクセス(CentOS)
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をリスタートして作業は完了です。