webdav+svnで、WindowsのTortoiseSVNからアクセスしてみた。

webdavが出来上がったので、今度はここにSVNを組み込んでみた。
Excel, Wordファイルのバージョン管理をしたいだけなので、headとかそういうブランチを作成する予定はなし。

まずwebdavとsubversionを設定しておく

そのうえで/usr/local/etc/apache22/extra/httpd-dav.confを編集

DavLockDB "/usr/local/var/DavLock"

<Location /repo>
       DAV svn
       SVNPath /usr/local/var/svn/repo

       AuthType Digest
       AuthName "svn sandbox"
       AuthUserFile "/usr/local/www/.davsvn.passwd"

       require valid-user
       Order deny,allow
</Location>

httpd-dav.confに書きこんだ設定に合わせて環境を整える。

まずパスワードファイルの作成。
AuthTypeはBasicでもいいけど、せっかくなのでDigest。
始めてパスワードファイルを作る場合には-cをつける。

パスワードファイルはどこでもよいが、外部からアクセスできないディレクトリに置くこと。
もちろん場所を変えたらhttpd-dav.confの指定も併せて修正する。
また、htdigestはrealmの設定も必要。httpd-dav.confのAuthNameと合わせること。

以下は実行例

$ htdigest --help
Usage: htdigest [-c] passwordfile realm username
The -c flag creates a new file.
$ sudo htdigest -c "/usr/local/www/.davsvn.passwd" "svn sandbox"  harukiya


次にレポジトリとレポジトリを置くディレクトリの作成。
もちろんhttp-dav.confで指定した場所に作ること。

$ sudo mkdir -p /usr/local/var/svn/repo
$ sudo svnadmin create /usr/local/var/svn/repo
$ sudo chown -R www:www /usr/local/var/svn/repo
$ sudo chmod -R 770 /usr/local/var/svn/repo

あとはapacheを再起動する。

$ sudo /usr/local/etc/rc.d/apache22 restart


WindowsTortoiseSVNをインストールして再起動。


Windowsで作業用ディレクトリを開く。どこでもよい。
そこで右クリックし、SVN checkoutを選ぶ。
「URL of repository:」にhttp://<サーバアドレス>/<レポジトリディレクトリ>を入れる。
俺の場合だとhttp://192.168.0.11/repoとかになる。
で、OKを押す。
あとはここにバージョン管理したいファイルをガバガバ入れていけばcommitなどしてけばOK