Subversionのインストール
自宅用のSubversionをインストールしたので、そのメモ。
クライアントからはWebDAVで接続できるようにします。
Subversionのインストール
aptを使ってさくっとインストール。
apt-get subversion
次にリポジトリをsvnadminを使って作成。
ついでに基本的なフォルダも追加しておきます。
svnadmin create /home/svn/repos svn mkdir -m 'setup trunk' file:///home/svn/repos/trunk svn mkdir -m 'setup branches' file:///home/svn/repos/branches svn mkdir -m 'setup tags' file:///home/svn/repos/tags
うまくできたかリポジトリを確認
svn list svn://localhost branches/ tags/ trunk/
OK。大丈夫みたいですね。
Apache2のインストールとWebDAVの設定
WebDAVを使いたいので、Apache2とlibapache2-svnをインストールします。
DebianではApache2にいくつかパッケージが用意されているのですが、ここでは安定度の高いapache2-mpm-preforkを使います。
apt-get install apache2-mpm-prefork apt-get install libapache2-svn
apacheの実行ユーザがリポジトリを操作できるように権限を変更
セキュリティ的にこれが良いのか悪いのか?ですが、単純に設定。
chown -R www-data:www-data /home/svn/repos
次にWebDAVでアクセスできるように/etc/apache2/conf.d/svnを作成。
<Location /svn/repos> DAV svn SVNPath /home/svn/repos SVNAutoversioning on AuthName "SVN Repository" AuthUserFile "/etc/apache2/davpasswd" AuthType Basic Require valid-user </Location>
指定したパスワードファイルも作成しておきます。
htpasswd -c /etc/apache2/davpasswd {ユーザ名}
最後に、Apache2をリロード。
/etc/init.d/apache2 force-reload
svn list http://localhost/svn/repos 認証領域: <http://localhost:80> SVN Repository '{ユーザ名}' のパスワード: branches/ tags/ trunk/
OK!
ところで、始めは認証を使わないように設定したのですが、そうすると次のようなエラーがでてimportができませんでした(参照はできました)
svn: MKACTIVITY request failed on '/svn/repos/!svn/act/000001073a330825'
apacheのエラーログ/var/log/apache2/error.logを見てみると、認証タイプを設定していないのが問題のようでした。認証を使わないと誰でもコミットできるようになると思ってたのですが違ったみたいですね。
configuration error: couldn't perform authentication. AuthType not set!: /svn/repos/!svn/act/0000010732bf201f