1

Web ブラウザからリポジトリにアクセスしたいので、そうしてください -

WebDAV 経由でアクセスします。

パスワードファイル:

    ...
    [users]
    harry = harryssecret
    sally = sallyssecret

...

<VirtualHost remote-ip:81>
    <Location /svn>
      DAV svn
      SVNPath /home/svn
      AuthType Basic
      AuthName "...."
      AuthUserFile /etc/subversion/passwd
      Require valid-user
     </Location> 
</VirtualHost>

次に、Apache を再起動します。

ctlscript.sh restart apache

Windows ホストからの要求:

http: //remote-ip:81/svn/test

応答を取得します。

ここに画像の説明を入力

と を入力harryharryssecretますが、次のようになります。

401:承認が必要です

このサーバーは、要求されたドキュメントへのアクセスが許可されていることを確認できませんでした。入力した認証情報が間違っている (パスワードが間違っているなど) か、必要な認証情報を入力する方法をブラウザーが認識していません。

私は何を間違っていますか?

4

1 に答える 1

0

私は何が間違っているのですか?

すべて、 「ドキュメントを読んでいない」から始まります

AuthUserFileには標準のApacheのpasswdファイルが必要です。パスベースのACL( passwdに書き込もうとしました)には、LoadModuleに追加のモジュールが必要であり<Location>、svn://からのpasswdファイルに追加のディレクティブが必要です。

私のライブシステムからの例(関連部分)

https.conf

AuthType Basic
AuthBasicProvider file
AuthUserFile ...htpasswd
AuthzSVNAccessFile ...authz

Satisfy Any
Require valid-user
  • リポジトリへのRO匿名アクセスの満足+要求
  • 認証にはvalid-userが必要です。書き込みアクセス
  • AuthUserFile-フラットユーザーリスト
  • AuthzSVNAccessFile-パスベースのACL

htpasswd

lazybadger:$apr1$5tg...

(エンコードされたユーザー名の文字列-ユーザーごとのパス)

authz

[/]
*=r

[Elgg-Russian:/]
@Coders=rw

[Elgg-TranslationRU:/]
@Translators=rw

[Hello:/]
lazybadger=rw

(グループ、SVNロケーションのサブツリー、デフォルトのアクセス権から変更)

于 2012-12-09T19:54:17.963 に答える