プロが教える店舗&オフィスのセキュリティ対策術

こんにちは。ただいまWindowsXPでsvn(Subversion)サーバの設定を行っている者です。apacheのhttpd.confファイルにsvnの設定として以下のように設定しています。

<Location /svn>
DAV svn
SVNParentPath "C:\svn_repos"
SVNListParentPath on
AuthType Digest
  AuthDigestProvider file
AuthName "SVN Repositry"
AuthUserFile "C:\Program Files\Apache Software Foundation\Apache2.2\svn_digest\.htpass_dig"
Require valid-user
AuthzSVNAccessFile "C:\svn_repos\repos\conf\authz"
</Location>

この状態でhttp://localhost/svn/とウェブアクセスすると、必ずapacheに問題が発生してアクセスできなくなります。

エラーの内容は以下の通り
szAppName : httpd.exe szAppVer : 2.2.11.0 szModName : mod_dav_svn.so
szModVer : 1.6.1.37116 offset : 00005e53

ちなみにAuthzSVNAccessFile "C:\svn_repos\repos\conf\authz"の1行を削除すればサーバが落ちることはなくなります。authzファイルの中身は以下の通り
[groups]
group1 = name1,name2

[/]
@group1 = rw

[repos:/]
@group1 = rw

いろんなサイトを検索しても全くこの症状で同様の悩みを訴えている人がいなかったので、わらにもすがる思いでここに質問しました・・・。どなたか、原因と対策を教えていただけないでしょうか。お願いします。

apacheのバージョン2.2.11
svnのバージョン1.6.1
です。

「httpd.confでのsvn設定でAu」の質問画像

A 回答 (3件)

>ただ、そこで新たな問題が発生しました・・・認証成功後に、HTTP 403アクセスエラー画面へ遷移してしまい、



認証時のユーザー名が違うとか、認証用のパスワードファイル("C:\Program Files\Apache Software Foundation\Apache2.2\svn_digest\.htpass_dig")が正しくないとか…
apacheのログファイルも確認された方がよいと思います。

ちなみに、403エラーが出たのはhttp://localhost/svn/の時でしょうか?
http://daipresents.com/weblog/fujihalab/archives …
の「1ファイルですべてのリポジトリのアクセス設定をする」によると、
authzファイルファイルにちょっと工夫が必要らしいです。

http://www.google.co.jp/search?hl=ja&q=AuthzSVNA …
http://wiki.livedoor.jp/syo1976/d/SubversionInst …
SVNListParentPathが無効化されるらしい…とも。

# authzでの制御ってやったことないです…
    • good
    • 0
この回答へのお礼

Wr5さん、丁寧に回答をしていただいてありがとうございました!はい、403エラーが出たのはhttp://localhost/svn/のときです。その配下のhttp://localhost/svn/repos/にアクセスしたら閲覧できました!!

http://wiki.livedoor.jp/syo1976/d/SubversionInst …

の記事にあるように、Parentpathの設定が無効になっていたからなんでしょうね・・。でも、だめな理由がはっきり分かってすっきりしました。そもそもアクセスしたいのはrepos/フォルダ以下なのでこれで万事解決です。本当に最後まで親切にありがとうございました!!!

お礼日時:2009/05/06 23:40

順番が影響するのかちょっと不明ですが…


>LoadModule authz_svn_module modules/mod_authz_svn.so
>LoadModule dav_svn_module modules/mod_dav_svn.so
を逆にしてみてはどうでしょうか?

Linuxでインストールした場合の設定例でも、
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
となっています。

>掲載していただいたリンク先の内容は<Location>ディレクティブ内部に書けばいいのでしょうか?デフォルトがOnと書いてあったので、Offに設定してみましたが、やはりダメでした。

デフォルトOnのものはそのままでもよいかと。
AuthzSVNAccessFileの設定を<Location>~</Location>内に…ですね。

あとは、複数のリポジトリがある場合に、
http://syo.cocolog-nifty.com/freely/2005/10/subv …
という例もあるようです。

# apache連携はほとんどやったことありませんが…

この回答への補足

またまた回答ありがとうございます!順番を入れ替えたところ、見事にサーバが落ちるエラーは消えました!!!ありがとうございます。

ただ、そこで新たな問題が発生しました・・・認証成功後に、HTTP 403アクセスエラー画面へ遷移してしまい、

Web サイトによってこのページの表示を拒否されました
HTTP 403
可能性のある原因:
この Web サイトを表示するにはログインが必要です。

対処方法:
前のページに戻る。

詳細情報

このエラー (HTTP 403 アクセス不可) は、Web サーバーに接続できましたが、この Web ページを表示するアクセス許可がなかったことを意味します。

HTTP エラーの詳細はヘルプを参照してください。

と言うエラーが出てしまいます。原因分かりますでしょうか。

補足日時:2009/05/05 03:55
    • good
    • 0

LoadModuleでmod_authz_svnを読み込ませていますか?



http://www.caldron.jp/~nabetaro/svn/svnbook-1.5- …

この回答への補足

回答ありがとうございます。一応httpd.confファイルでは以下のように設定しています。

##svn
LoadModule authz_svn_module modules/mod_authz_svn.so
LoadModule dav_svn_module modules/mod_dav_svn.so

掲載していただいたリンク先の内容は<Location>ディレクティブ内部に書けばいいのでしょうか?デフォルトがOnと書いてあったので、Offに設定してみましたが、やはりダメでした。

補足日時:2009/05/03 18:42
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!