Subversion 1.8.5 + SASL2 を Windows 7 または Server 2008 で動作させようとしていますが、いずれも 64 ビットです。DIGEST-MD5 を使用した SASL からのローカル暗号化が必要なだけです。LDAP、AD、SSPI、またはその他の認証方法は必要ありません。
私はこれに 2 日間苦労してきたので、私が試したさまざまなことをすべて文書化することは、助けを求める価値のある方法ではありません。
私が見つけたすべてのリンク、チュートリアルなどは、これが XP マシン、Server 2003、または 32 ビット マシンでかなり簡単であることを示しているようです。しかし、私の環境は私を頭痛の種にするのに十分逸脱しているようです.
私の結論は、svnserve/sasl ライブラリは sasldb ファイルを読み取れないということです。これが私が行ったことと、その結論を引き出す方法です。
サーバーのセットアップに関する章の指示に従っています。これも役に立ちました: http://tortoisesvn.net/sasl_howto.html (そして、これの多くは「ネット全体で繰り返されています」)
(ドキュメントの多くは、レジストリの「キー」SearchPath および ConfFile を追加すると述べていますが、CollabNet および Cyrus インストーラーはこれらのキーの下に「文字列」を追加しました...ドキュメントで修正する必要がある可能性が高いものです。また、Wow6432Node についても認識しています。 64 ビット環境の 32 ビット アプリの場合)
Linux(Ubuntu)でセットアップ全体が機能するようになりました。だから、DIGEST-MD5 暗号化を設定してユーザーを追加する方法を知っています。(Windows が必要な理由は、マシン上で Windows ビルドも行っているため、Windows 環境が必要です)
私は CollabNet、Win32 ビルドを使用しています (ただし、x64 ビルドも試しました)。既に存在する Sasl ライブラリが付属していますが、sasldb を管理するための実行可能ファイルはありませんでした。そこで、sourceforge (cyrus-sasl-2.1.26-static-x86) から Sasl のバイナリもダウンロードして、sasldb ファイルを作成および管理できるようにしました。
背景は十分。私の問題は、エラーが発生していることです:
SASL(-13): ユーザーが見つかりません
ユーザーはDBファイルにあります。そこに置いて、sasldblistusers2 コマンドで見ることができます。
興味深いことに、これらは Windows バージョンで 3 回リストされています。
me@TheRealm: ユーザーパスワード
me@TheRealm: cmusaslsecretOTP
me@TheRealm: cmusaslsecretSRP
しかし、Linux マシンで作成した sasldb の最初の行に 1 回だけリストされています。
最初にコマンドラインから svnserve を実行しています。そして、物事が機能するようになり、サービスとしてインストールする準備が整うまで続けます。
残念ながら、実行が libSasl に入ったように見えた後、エラー メッセージは 1 つも報告されません。
ここに私が推測した流れは次のとおりです。
クライアント -> Svnserve ->libSasl -> SearchPath レジストリ -> ライブラリ -> ConfFile レジストリ -> Sasldb ファイル
そのため、上記のパスに沿っていくつかの設定を体系的に破損して、エラーの内容を確認しました。
パスワードファイルのみを使用するように subsersion.conf を変更しました。すべてが良いです。
libSasl を削除しました - 明らかに、サーバーは起動さえしませんでした。
SearchPath を変更しました - 「svn could not get list of...」で失敗しました。
私はそれを元に戻し、「ユーザーが見つかりません」になりました。Ok
svn.conf ファイルを削除しました。「svn could not get list...」を取得しました。
元に戻し、ConfFile の設定を変更しました。同じエラー:「svn はリストを取得できませんでした...」
svn.conf のエントリ「mech_list: DIGEST-MD5」を破損しました。同じエラー:「svn はリストを取得できませんでした...」
したがって、すべてが適切に設定されている場合、「ユーザーが見つかりません」というエラーが表示されます。
「sasldb_path:」エントリを削除または変更しても、「user not found」エラーが発生します。
私の結論は、server/sasl ライブラリは svn.conf ファイルに到達するためのすべてのステップを見つけており、そこから「mech_list:」行を読み取っているので、指定した sasldb ファイルの名前を見つけることができるはずです。 .
しかし、何らかの理由で、実際にはファイルを開くことができないか、開いたとしても、追加した名前が見つかりません。
ファイルを移動し、権限を変更しました。変わりはない。
sasldb ファイルを Linux マシンから Windows マシンにコピーしました (名前が 1 つしかないファイルを読み取ろうとしており、Linux インストールで動作することがわかっています)。しかし、違いはありませんでした。
誰かアドバイスはありますか?
これを 64 ビット システムで動作させた人はいますか?
助けてくれてありがとう。
-スコット