アプリ版:「スタンプのみでお礼する」機能のリリースについて

SVNサーバ(Apache経由)を従来Linuxで立ててましたが、Windows側に引っ越す事になりました。
OS:WinXP XAMPP1.7.7 を導入し、SVN1.7.2を導入しました。

普通にHTTP越しにSVNを利用する事は可能になったのですが、ロック機能が使えません。
エラー: Lock request failed: 400 Bad Request (http://url)
が表示されます。
サーバのWindows上で、リポジトリダイレクトアクセス(file://)ではロックできました。

Apacheのエラーログに
[Tue Feb 14 12:16:46 2012] [error] [client IP-addr] Tried to attach multiple locks to a resource. [400, #405]
というログが出てました。
ぐぐると、英文文献が出てくるのですが、いまひとつ理解できませんでした。

Apacheのアクセスログを見ると

IP-addr - - [14/Feb/2012:12:16:46 +0900] "LOCK /svn/filename HTTP/1.1" 400 1085 "-" "SVN/1.4.5 (r25188) neon/0.26.3"

となっていました。
Linuxのアクセスログを見ると、LOCKリクエストの時でも
IP-addr - username [17/Aug/2011:20:07:10 +0900] "LOCK 以降省略

みたいに、アカウント情報がのってました。
これが原因かな?と思ったのですが、どうやってユーザ情報をのせればいいのかわからないです。

HTTP.CONF のSVNの設定は、以下のような設定です。
何か忘れ物をしているのかどうか、よくわからないのですが、
ロックができずに困っている文献が少なく?困りました。

とっかかりでもなんでもいいので、ヒントがありましたらよろしくお願いします。

<Location /svn>

DAV svn
SVNParentPath "D:/home/svn/"

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "D:/home/svn/dav_svn.passwd"
Require valid-user

<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>

</Location>

A 回答 (3件)

ロック以外なら使えるのでしょうか?



リポジトリブラウザなどでリポジトリ内のファイル/ディレクトリの一覧が見れたり、チェックアウトしたり、コミットしたり…とか。
ちなみに、SVNクライアントって何使っているのでしょう?

svnのモジュールは2つとも正しく読み込んでいますか?
# 順番間違うとエラーになった…かなぁ。

この回答への補足

回答ありがとうございます。
モジュールの設定は以下の順番です。

LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
LoadModule dav_lock_module modules/mod_dav_lock.so
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

==
順番の入れ替えは後でやってみます。

クライアントは、亀を使って、他PCのWindows上からHTTP経由でアクセスしています。
ログインやファイル一覧、チェックアウト・コミットの操作はできています。

よろしくお願いします。

補足日時:2012/02/15 10:37
    • good
    • 0

>クライアントは、亀を使って、他PCのWindows上からHTTP経由でアクセスしています。


>ログインやファイル一覧、チェックアウト・コミットの操作はできています。

サーバにしているWindowsマシンからだとどうなんでしょう?
# まぁ、変化はないかと思いますが…。

コミットまでできるのであれば、ユーザー認証は通っているハズですよね?


ちなみに、サーバ構築の手順はどんなので?
こちらで試行してみようにも手順が違うと同様の状態になるか不明ですし。
# ただ、こちらはWindows7 64Bitですが…。XAMPPは32Bitになるのかなぁ。

この回答への補足

回答が遅くなりました。すみません。
ユーザ認証は通ってます。
ローカルから、file:// でアクセスすると、ロックが可能です。
ローカルからHTTPでアクセスすると、同じくエラーです。
(まぁVHOST使って、SVN用のアドレス指定なんで、外からと変わらない)

インストールは、
XAMPP 1.7.7 をインストール
亀のインストール
SVNサーバのインストール
SVNサーバからライブラリをXAMPP側にコピー
VHOSTの指定で、SVN用のVHOSTに最初に記載している
Locationを追加。
hostsファイルにもSVN用のドメイン名を追加
Apache再起動

というところです。
一応後で参考にする人用に補足。

補足日時:2012/02/19 19:09
    • good
    • 0

XAMPP1.7.7を普通にインストール(ただしインストール先はD:\xampp)、Setup-Subversion-1.7.3.msiでsvnの1.7.3をインストール。


Subversionのインストール先のmod_*.soと*.dllをxamppのapacheのmodulesにコピーしてmod_davを有効化、
httpd-svn.confとして下記の内容で作成して、
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

<Location /svn>
DAV svn
SVNParentPath "D:/xampp/Suvbersion"

AuthType Basic
AuthName "Subversion Repository"
AuthUserFile "D:/xampp/Suvbersion/dav_svn.passwd"
Require valid-user
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

リポジトリも作成。
んで、適当にファイル作成してコミットしてから…ロックを取得しようとすると……
掲示されたエラーになりますね。
file:///では正常にロックの取得と解除が。
リポジトリのフォルダのアクセス権をいぢってみましたが変わらないですな。
#405は…DAV_ERR_LOCK_SAVE_LOCKだそうで。
なんらかの書き込みでエラーになっている…っぽいのですが、それ以上は不明です。
mod_dav関係で何かある…んでしょうかねぇ。

この回答への補足

むむ。再現するですか。
こちらでも継続して調べております。
取り急ぎ、調査ありがとうございます。

補足日時:2012/02/19 19:10
    • good
    • 0

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