新しいシステムを作ることになったので、バージョン管理システム のサーバを立てようかと。個人だと最近はgitを使うことが多いのですが、会社ではSubversionが優勢。レポジトリをクラウドストレージと同期させればバックアップも取れるかなということで、WindowsサービスとしてSVNサーバを立てることに。
方法は検索すればごろごろ出てきますが、今回はここ を参考に。svnのコマンド類はTortoiseSVNのbinディレクトリの物を使用。
サービスも無事立ち上がりTortoiseSVNから接続もできるのですが、なぜか書き込みをしようとするとAuthorization failedを連発。ログを見てもE170001: Authorization failedとしか書かれていない。
原因は非常に馬鹿らしいミス。svnserve.confには以下の3行を追加する必要があります。anon-access = none auth-access = write password-db = passwd
一方svnadmin createで作成されるデフォルトのsvnserve.confは以下のようになってます。
# こめんと~ [general] # # たくさんのこめんと~ # [sasl] # またまたこめんと~ #
重要なのは[general]、[sasl]の順でブロックが記述されていること。何も考えず先ほどの3行をファイルの最後に書き足したので、これらは[sasl]ブロックに属すると解釈されます。ところがこれらは[general]ブロックに書かないといけない。つまり私の設定は無効。
3行を[general]ブロックに移すことでSVNサーバは期待通りの動作をするようになりました。2日潰してしまった…
[参考]
Comments