Javaと情熱のあいだ

カステラとドーナツと珈琲

BitNami::Redmineをsslとdigest認証で使う。

BitNami::RedmineTrac LightningRedmine版みたいな物です。
今回はbitnami-redmine-0.9.3-0-windows-installer.exeをWin Ser 2003 St SP2で試しました。

1.BitNami::Redmineは適当にインストールする。


2.Win32 OpenSSLを適当にインストールする。
BitNami::RedmineにもOpenSSLが入ってるようだけど使い方がよくわからないので今回はこっちで。


3.暗号キーを作成する。

openssl req -new > new.cert.csr

new.cert.csr、privkey.pemが出力される。

openssl rsa -in privkey.pem -out new.cert.key

new.cert.keyが出力される。


4.証明書を発行する。
openssl x509 -in new.cert.csr -out new.cert.cert -req -signkey new.cert.key -days 365

new.cert.certが出力される。


5.暗号キーと証明書を設置
new.cert.certとnew.cert.keyを適当にリネーム
~/apache2/conf/server.crt
~/apache2/conf/server.key


6.httpd.confの設定
\BitNami Redmine Stack\apache2\conf\httpd.confを開いて下記を編集。

110行目付近
#LoadModule ssl_module modules/mod_ssl.so

LoadModule ssl_module modules/mod_ssl.so

460行目付近
#Include conf/extra/httpd-vhosts.conf

Include conf/extra/httpd-vhosts.conf

470行目付近
#Include conf/extra/httpd-ssl.conf

Include conf/extra/httpd-ssl.conf

下記を最後に追記
RequestHeader set X_FORWARDED_PROTO 'https'


AuthType Digest
AuthName RELM_NAME
AuthDigestProvider file
AuthUserFile "C:/Program Files/BitNami Redmine Stack/apps/redmine/conf/digest"
Require valid-user


7.httpd-ssl.confを確認
\BitNami Redmine Stack\apache2\conf\extra\httpd-ssl.confを開いて5.で設置したファイルを確認
100行目付近のSSLCertificateKeyFile、SSLCertificateFileのパスを確認する。


8.httpd-vhosts.confを編集
\BitNami Redmine Stack\apache2\conf\extra\httpd-vhosts.confを開いて下記を編集。
HTTPで接続してもHTTPSに飛ばされるようになります。


ServerAdmin webmaster@dummy-host.example.com
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host.example.com"
ServerName dummy-host.example.com
ServerAlias www.dummy-host.example.com
ErrorLog "logs/dummy-host.example.com-error.log"
CustomLog "logs/dummy-host.example.com-access.log" common



ServerAdmin webmaster@dummy-host2.example.com
DocumentRoot "C:/Program Files/Apache Software Foundation/Apache2.2/docs/dummy-host2.example.com"
ServerName dummy-host2.example.com
ErrorLog "logs/dummy-host2.example.com-error.log"
CustomLog "logs/dummy-host2.example.com-access.log" common



DocumentRoot "C:\Program Files\BitNami Redmine Stack\apache2\htdocs"
ServerName www.test.com
ErrorLog logs/error_log
CustomLog logs/access_log combined
RewriteEngine On
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^/(.*)?$ https://%{HTTP_HOST}/redmine/


9.htdigest.exeでDigest認証のファイルを作成
\BitNami Redmine Stack\apache2\bin\htdigest.exeで6に設定Digestファイルに出力

htdigest.exe -c "C:/Program Files/BitNami Redmine Stack/apps/redmine/conf/digest" RELM_NAME USER_NAME

ユーザを追加する場合は-cはつけない。


10.BitNami::Redmineを再起動

BitNami::RedmineとDigest認証の連携方法がわからなかったので二重ログインにorz