超どはまりしたのでメモ。
諸事情あって、BitnamiのAll-in-oneパッケージのRedmine(Windows版 3.0.3)をインストールしたところ、メールの構成がどうもうまくいきません。エラーメッセージはホストにつながらない、という意味のエラー。
Install Redmine, Download Redmine
No connection could be made because the target machine actively refused it. - connect(2)
WindowsのRedmineは標準ではろくにエラーログも出さない(設定すればいいけど、その設定のほうがめんどくさそう)ので、パケットキャプチャしてみました。
メールサーバのホスト名は正しいものの、ポートを25/tcpに指定したはずなのに、587/tcpというサブミッションポートを使っています。
ちなみに自ホストのキャプチャであれば、netshコマンドでパケットキャプチャ取れるので便利ですよ。キャプチャしたデータはMessage Analyzerでさっくり調査できます。
キャプチャ開始。
netsh trace start capture=yes
キャプチャ終了
netsh trace stop
Message Analyzer
Download Microsoft Message Analyzer from Official Microsoft Download Center
config/configuration.ymlをチェック
メール通知のためのconfiguration.ymlの設定 — Redmine.JP
まず基本。Windowsでは Bitnami/redmine-バージョン番号/apps/redmine/の下にあります。
production:とかdevelop:という行が末尾にあるので上書きされます。消しましょう。というアドバイスもありましたが、これは関係なかった(らしい。結局消したけど)。
properties.ini
これはbitnami版のみの様ですが、インストールするとき各種設定の問い合わせがあります。インストール直下のフォルダにproperties.iniというファイルがあり、ここも影響するようです。
結局の原因
Rubyをサービスで動かしていたことが原因でしたorz。どのドキュメント見ても「Apacheを再起動すればconfiguration.xmlは再読み込みされる」とあるのに、少なくともWindows版BitnamiはApacheの再起動だけではだめで、configuration.ymlの修正後、OS再起動でOK。
最初はね、redmineThin(サービスとして動いているRuby On Rails)の再起動でいけるかと思ったんですが、サービスを停止すると、二度と起動しませんでした(驚)。どうやったらこんなサービス作れるんだ…。
原因調べるのもめんどくさいというか、やる気が起きなくなったので、さっくり再インストールして、MySQLだけ復旧して元通り。
無駄に疲れました。