Apache2 WebDAV Subversion
Gentoo 本に Apache2 で WebDAV を有効にする方法が書かれていたので,ついでに各所を参考にして Subversion も付けてみることにした.
WebDAV … HTTP を拡張して,ディレクトリ作成,ファイル削除など FTP っぽいファイル共有を可能にするもの.
Subversion … バージョン管理システム.CVS の後継.日本語ファイル名ヘの対応など CVS で気持ち悪かった不具合がいくらか修正されている.
# USE="apache2 berkdb" emerge subversion # USE="berkdb" emerge apache
USE フラグに apache2 を加えないと apache2 にブロックされて emerge subversion に失敗するようだ.
berkdb フラグはなんとなく付けてみた.付けないと困るのかどうかはまだ分からない.
Apache2 標準のモジュールである mod_dav.so や mod_dav_fs.so などは /usr/lib/apache2/modules にインストールされるが,Subversion の mod_dav_svn は /usr/lib/apache2/extramodules にインストールされるようだ.
WebDAV の設定は Gentoo 本では /etc/apache2/conf/apache2.conf に追加しているが,/etc/conf.d/apache2 を編集して APACHE2_OPTS に "-D DAV -D DAV_FS -D SVN" という変数定義を加え,/etc/apache2/conf/modules.d 以下にある WebDAV や Subversion の設定ファイルを有効にするのが正しい方法のようだ.
mod_dav_fs.so のために
# mkdir /var/lib/dav # chown apache:apache /var/lib/dav
を実行し,mod_dav_svn.so のために
# mkdir /var/svn # svnadmin create /var/svn/repos # chown -R apache:apache /var/svn # mkdir /var/svn/conf # htpasswd2 -c /var/svn/conf/svnusers ユーザ名
を実行した.
chown apache:apache 〜 とするのは,Apache から WebDAV のロックファイルや Subversion のリポジトリに書き込めるようにするため.
/etc/init.d/apache2 restart して,ブラウザで http://localhost/svn/repos/ にアクセスすればリポジトリが閲覧でき,コンソールから
$ svn co http://localhost/svn/repos
などとすれば svn のコマンドが実行できる.
htpasswd2 で /var/svn/conf/svnusers にユーザ情報を書き込んでおかないと,アクセスしたときに認証が掛かってびっくりする.
- 参考ページ
http://www.liris.org/zope/blog/220
http://www.strikeout.jp/hiki/memo/?(Subversion)GentooDeSVN
http://www.atmarkit.co.jp/flinux/special/webdav03/webdav02c.html