FreeBSDでWebdav+Subversionのメモ

SQLite3のコンフィグオプション(SQLITE)を有効にしたApache2.2と、SQLite3が入っている前提で。
Subversionの基本的な使い方は書きません。

Subversionを入れる

Apacheのモジュール、mod_dav_svn.soを入れる為にSubversionをMOD_DAV_SVNオプションを有効にして、make installします。
オプションは make configで。

[root@server /usr/ports/devel/subversion]# make config
[root@server /usr/ports/devel/subversion]# make install

SQLite3をコンパイルし直す

リポジトリにチェックインする時に、/var/log/httpd-error.logへ↓のようなエラーメッセージが出力する場合があります。

[Mon Sep 05 17:56:43 2011] [error] [client 192.168.1.254] SQLite is required to be compiled and run in thread-safe mode  [500, #200030]

どうもスレッドセーフなSQLiteでないとダメだよと怒られている様子。
ということでSQLiteの再コンパイル
portsはここに→/usr/ports/databases/sqlite3

make configでTHREADSAFEにチェックを付けて、make install。

既にインストールされていると怒られるので、export FORCE_PKG_REGISTER="YES"して、make reinstall。

Apacheの設定ファイルに追加する

/usr/local/etc/apache22/extra/httpd-dav.conf あたりに追加する。

<Location "/svn">
    Dav svn
    SVNParentPath /fdisk/svn/
</Location>

SVNParentPathで、親ディレクトリを指定してやることで、リポジトリを作成する度に、Apacheのコンフィグを変更する必要が無くなります。
Apacheのreloadを忘れずに。

Subversionリポジトリを作る

[root@server /fdisk/svn]# svnadmin create test

ここまででとりあえずチェックアウト、コミット、ブラウザからのアクセスが出来ます。