仕事でRedmineを使ってタスク管理をしている方も多いかと思います。
僕は個人でWeb・アプリ開発をしているので、個人/共同プロジェクト管理や
勉強したことをまとめるためにRedmineを自宅サーバに建てたいと思います。
目次
Bitnami Redmineのインストール
Redmineを簡単にインストール出来るオールインパッケージがあるので、
こちらのBitnami Redmineをインストールします。
インストール方法は、こちらの記事を参考にしてください。
インストール時に指定したポートを後から変更する。
C:\Bitnami\redmine-3.3.1-0\apache2\conf\httpd.conf
Listen 80 → Listen 8080
ServerName localhost:80 → localhost:8080
C:\Bitnami\redmine-3.3.1-0\apache2\conf\bitnami\bitnami.conf
<IfVersion < 2.3 >
NameVirtualHost *:80 → 8080
NameVirtualHost *:443 → 8443
</IfVersion>
<VirtualHost _default_:80 → 8080>
:
</VirtualHost>
Listen 443 → 8443
<VirtualHost _default_:443 → 8443>
:
</VirtualHost>
他のPCからRedmineを閲覧できるようにする。
Redmineをインストールした端末でRedmineが閲覧できる状態になっているかと思います。
しかし、LAN内の他のPCからRedmineを閲覧することができない状態です。
他のPCからもRedmineを閲覧できるように設定する方法はこちら
C:\Bitnami\redmine-3.3.1-0\apache2\conf\httpd.conf
ServerName localhost:8080 → 192.168.11.200:8080
【注意】バージョンやインストールディレクトリが、それぞれの環境で違うと思うので読み替えてください。
このように表示できれば、成功です。
SSL証明書を取得する。
Let's Encrypt を利用して、無償のドメイン証明用のSSL証明書を発行します。
僕の場合、ASUSルータを使用しているためASUSの提供するDDNSでSSL証明書を発行したいと思います。
Let's Encrypt Windows用クライアントソフトのダウンロード
下記のリンクからZipファイルをダウンロード・解凍します。
解凍後、僕はC:\Bitnami\redmine-3.3.1-0\apache2\letsencrypt
というフォルダを作成し、ここに配置しました。
ポートフォワードの設定をする。
このままクライアントソフトを走らせても、自宅サーバへ外部からアクセス出来ないことから、申請及び証明・発行が出来ないのでポートフォワードを設定します。
僕の場合、80番・443番でリクエストを受けたら、上記「他のPCからRedmineを閲覧できるようにする。」で記述したアドレスにフォワードするように設定しました。
ちなみに、ASUSルータでのポートフォワード設定はこちらを参考にしてください。
さくらVPSや既に設定済みの方は不要です。
証明書の申請
証明書の申請方法は、こちらを参考にしてください。
IISでLet's Encrypt を利用してSSLサイトを構築する (letsencrypt-win-simple クライアントを利用)
リンクの手順では、IISの設定方法で書かれています。
今回は、Apacheに設定したいのでリンクの手順の「証明書の確認」までを行います。
申請が完了すると、ユーザフォルダの配下に証明書一式がダウンロードされます。
C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\
【注意点】
- 管理者権限があるコマンドラインを使用する。
- 必ずLAN内で作業を行う。
管理者権限があれば、何でも良いです。
僕は、Bitnami Redmine Stackで作業を行いました。
必ずLAN内で作業を行ってください。
ポケットルータからVPN接続で申請作業を行っていたのですが、何度も失敗しました。
たぶんですが、ポケットルーターのポートを開けていなかったので申請に失敗した...と思われます。
RedmineにSSL証明書の設定
Redmineに証明書を設定していきたいと思います。
httpでリクエストが来た場合、httpsにリダイレクトするように合わせて設定します。
C:\Bitnami\redmine-3.3.1-0\apache2\conf\bitnami\bitnami.conf
<IfVersion < 2.3 >
NameVirtualHost *:8080
NameVirtualHost *:8443
</IfVersion>
<VirtualHost _default_:8080>
DocumentRoot "C:/Bitnami/redmine-3.3.1-0/apache2/htdocs"
#httpsにリダイレクト
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L]
<Directory "C:/Bitnami/redmine-3.3.1-0/apache2/htdocs">
:
</Directory>
Listen 8443
<VirtualHost _default_:8443>
DocumentRoot DocumentRoot "C:/Bitnami/redmine-3.3.1-0/apache2/htdocs"
SSLEngine on
SSLCertificateFile "C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\XXドメイン名XX-crt.pem"
SSLCertificateKeyFile "C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\XXドメイン名XX-key.pem"
SSLCertificateChainFile "C:\Users\Administrator\AppData\Roaming\letsencrypt-win-simple\httpsacme-v01.api.letsencrypt.org\ca-XXXXXXX.pem"
https://ドメイン名/redmine で接続出来れば成功です。
まとめ
Bitnami RedmineのインストールからSSLの設定・接続までいっきにまとめてみました。
どこからでも接続できる環境になったことで、共同プロジェクトや個人勉強メモを外出先からでも更新できるので満足しています。
外部からhttpsで接続できるので、セキュリティ的に安心できるかと思いますので、運用する機会があれば参考にして頂ければと思います。