■
次に、SubversionをWebDAV経由で公開するとき、またはまりそうだなと思うのでメモしておこう。
WebDAV経由で公開する設定を終えてホットした後に、チェックアウトでもしてみるかと試してみると、
fuzzybsd@mame:~/temp$ svn co http://svn.example.com.com/amodule/ 認証領域: <http://svn.example.com:80> SVN WebDAV Authentication 'fuzzybsd' のパスワード: svn: PROPFIND リクエスト (相手: '/amodule') が失敗しました svn: PROPFIND (URL: '/amodule'): 301 Moved Permanently (http://svn.example.com)
とまぁ、この様なエラーがでて何もできない。なぜだ。設定は完璧だと思っていたのに。。*1
301 Moved Permanently
とりあえず、上記のキーワードでググったところ、公開:, Apache + Subversion, , , , , , , , , , , - 忘れたときに備えた記録(2005-03-17)さんのところでバッチリ解決することができた。
結論だけ書いておくと、DocumentRootとDAVを設定するLocationの実際のパスが同じだとダメだということ。潔く、DocumentoRootを設定しなければ問題なしとなる。
最後に、DAVの設定を一式載せておこう。
<VirtualHost *> ServerName svn.example.com # これだとエラーになるので注意しよう。 #DocumentRoot /home/svn/repositories <Location /> DAV svn SVNParentPath /home/svn/repositories AuthzSVNAccessFile /home/svn/authz.access AuthType Basic AuthName "SVN WebDAV Authentication" AuthUserFile /home/svn/.htpasswd Require valid-user </Location> ErrorLog /var/log/apache2/svn.example.com.error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/svn.example.com.access.log combined ServerSignature On </VirtualHost>