Ubuntuでユーザ認証を使ったSubversion(svn)サーバを構築してみる(DAVプロトコル)
Subversionサーバを立てた際のメモ
代表的なプロジェクト管理ツールのTracやRedmineがあるけど
どこまでがSubversionの機能かしっかり把握しとかないとNE!
Subversionには直接アクセス,DAV,SVNの3つのプロトコルがあるけど,今回はDAV(DAVでのアクセス制限を加えたユーザ認証は結構遅いらしい)
Apache2がインストールされている前提
SSLしたいならこのあたりを参考にUbuntuでApache2+SSLしてみる - toguniの日記
mod_dav_svnのインストール
apt-get install subversion libapache2-svn
つぎに/etc/apache2/mods-enabled/dav_svn.confを開いて
コメントアウトしてあるところを以下のような感じに
(dav_svn.passwdでユーザ認証を行い,dav_svn.authzでユーザやグループ単位で制限を加える感じ)
DAV svn
SVNParentPath /var/www/svn
AuthType Basic
AuthName "Subversion Repository"
AuthUserFile /etc/apache2/dav_svn.passwdAuthzSVNAccessFile /etc/apache2/dav_svn.authz
Require valid-user
2009/09/01追記:
----------------------------------------
/etc/subversion/configの
コメントアウトしてあるのをはずす(クライアントの改行コードをサーバで統一)
enable-auto-props = yes
----------------------------------------
Apache2の再起動とリポジトリのルートディレクトリの作成
/etc/init.d/apache2 restart
mkdir /var/www/svn
リポジトリのルートディレクトリに移動し,リポジトリの作成と所有者変更
svnadmin create --fs-type fsfs orz
chown -R www-data.www-data orz
また/etc/apache2/dav_svn.passwdを作成し,htpasswdでユーザを追加し
/etc/apache2/dav_svn.authzを以下のような感じにする
[/] * = r [orz:/] hoge = rw
(上記の書式で,認証の通ったユーザはリポジトリ内のすべてのプロジェクトをreadでき,ユーザ「hoge」さんは「orz」プロジェクトをwriteもできる)
終り