SVN/Apache のなぞのエラー
Apache2.2の経由でSVN(1.4.4)を使っていて普通に動かせていたのだが、今日、別のマシンに同じ設定をして動かそうとしたところ以下のようなエラーが出てコミットができないという問題にぶちあたった。
No such file or directory
svn: Commit failed (details follow):
svn: PROPFIND request failed on '/some/repository/url/path'
svn: Could not open the requested SVN filesystem
EclipseのプラグインSubclipseを使ってプロジェクトの中身をコミットしようとすると
このエラーが発生。しかも、以下のような条件でのみ発生する。
- プロジェクト直下のファイルをコミットしようとすると発生
- ディレクトリは普通にコミットできる。
- 直下でないファイルも普通にコミットできる。
ほぼ一日中頭を悩ましつつ色々いじってるうちに次のこともわかった。
- コミットしたディレクトリの名前を変えようとしても発生する。
無論以下は疑って何度も確認したのだが、何をどうやってもエラーがなくならない。
結局原因はよくわからなかったが、一個だけラッキーだったのは同じように自分が設定したはずの他のマシンでは上記のような問題もなく普通にSVNできていたこと。
よくよく比べてみると正常に動いているマシンとこのマシンの違いがちょっとだけあった。動作のおかしいマシンは、/etc/apache2/apache2.confファイルの中身、なぜか以下の部分をコメントアウトを外して有効にして動かしてしまっていたのだ。(何考えていじったのだろう・・忘れた^^)
Alias /error/ "/usr/share/apache2/error/" <Directory "/usr/share/apache2/error"> AllowOverride None Options IncludesNoExec AddOutputFilter Includes html AddHandler type-map var Order allow,deny Allow from all LanguagePriority en cs de es fr it nl sv pt-br ro ForceLanguagePriority Prefer Fallback </Directory> ErrorDocument 400 /error/HTTP_BAD_REQUEST.html.var ErrorDocument 401 /error/HTTP_UNAUTHORIZED.html.var ErrorDocument 403 /error/HTTP_FORBIDDEN.html.var ..略.. ErrorDocument 502 /error/HTTP_BAD_GATEWAY.html.var ErrorDocument 503 /error/HTTP_SERVICE_UNAVAILABLE.html.var ErrorDocument 506 /error/HTTP_VARIANT_ALSO_VARIES.html.var
ここをコメントアウトに戻したところ問題は解決。なぜ悪かったのかは良くわからないが、ちゃんと直下のファイルもコミットでき、ディレクトリのリネームもできるようになった。
「メインサーバにエイリアス設定しちゃったから、SVNのvhostの中にも変なエイリアスが出来てしまってそれでおかしな挙動をしていた」
ということかな? うーん。動いたから、まあいっか。