2008年1月23日(水曜日)

WebDAV+SVNの設定で苦戦

カテゴリー: - gusagi @ 18時47分10秒

gusagiです。
今日は、WebDAV+SVNの設定に苦戦した一日だったので、はまった部分と設定方法について書きたいと思います。

RYUSでは、スタッフが増えてきたこともあり、作業の効率化のために色々と取り組んでいたりします。
ソースの管理についても、LAN内部でSVNを使うか、インターネット経由でもSVNを利用可能にするか検討中なのですが、実際に使ってみようということで、svn+sshでのアクセスや、WebDAV+SVNでのアクセスなど試してみました。
元々、svn+sshでの設定方法は判っていたのであっさりと実験出来たのですが、この場合サーバアカウントが必要になるなど、SVN利用者が増えるに従って管理が複雑になってきます。
逆に、WebDAV+SVNの場合は、アカウント管理はかなり単純になります。
ただし、暗号化やアクセス制御などは必要なので、こちらの設定が多少複雑化も知れません。

例として、http://example.com/repos でSVNにアクセス出来るようにしようと思います。
ドキュメントルートは /var/www/html、リポジトリは /home/project/svn とします。
WebDAV+SVNを利用する場合、mod_dav_svnやmod_authz_svnが必要なので、これらのモジュールを事前にインストールしておきます。
次に、apacheの設定ファイルで

<Location "/repos">
    DAV svn
    SVNPath /home/project/svn
    AuthzSVNAccessFile /var/www/html/svn/.authz
    AuthType Basic
    AuthName "Authentication"
    AuthUserFile /var/www/html/svn/.htpasswd
    Require valid-user
</Location>

と記述します。
上記の設定をした場合、/var/www/html/svn/.htpasswdに記述されたユーザのみ、/var/www/html/svn/.authzに記述された権限に従って、リポジトリにアクセスが可能になります。
なお、上記2ファイルはドキュメントルートの外に置いた方が安全です。

ここまで設定したら、apacheを再起動して、設定を有効にしてからブラウザでアクセスが出来るか確認します。
私も、ここまでは問題なく出来たのですが、この先ではまりました。

TortoiseSVNや、コマンドラインでリポジトリにアクセスしようとしたところ、

svn: PROPFIND of '/repos': 403 Forbidden

というエラーが発生したのです。
ブラウザでは問題なくアクセス出来ているので、しばらくあれこれと調べてみたところ、apacheのエラーログにこんな記述が。

client denied by server configuration: /var/www/html/repos

「ブラウザではアクセス出来ているのに、なぜ設定で不許可?」と思いつつgoogleで検索したところ、参考になるサイトを発見!
どうやら、
設定がされていたため、PROPFINDでのアクセスが弾かれていたようです。
さっそく上記のサイトを参考に、

<Directory /var/www/html/repos>
    AllowOverride All
    Options All
    <Limit GET POST OPTIONS>
        Order allow,deny
        Allow from all
    </Limit>
    <LimitExcept GET POST OPTIONS PROPFIND MKACTIVITY CHECKOUT MKACTIVITY DELETE PROPPATCH MKCOL MERGE REPORT PUT COPY>
        Order deny,allow
        Deny from all
    </LimitExcept>
</Directory>

とすることで、無事にアクセスが出来るようになりました。


RSS feed for comments on this post.

  1. バージョンアップしました
    サーバに利用しているOSの最新バージョンがリリースされたので、久しぶりに全面的なバージョンアップを行いました。
    22時前後から開始して、ついさっきまで掛かったので、大体2時間弱の間サイトが見れない状態となってしまい、見に来て下さった方には大変失礼いたしまし…

    Trackback by ぐさぎ どっと こむ - ブログ — 2008年1月24日(木曜日) @ 00時06分35秒

Ȥ

ʤߥȤդ뤳ȤϽޤ

10 queries. 0.013 sec.
Powered by WordPress Module based on WordPress ME & WordPress

〒104-0061 東京都中央区銀座1丁目3番3号 G1ビル7階
お問い合わせ TEL 03-3524-8860

Copyright(c) 2012 RYUS.All Rights Reserved.