SubversionをGentooサーバにインストールしました。
参考サイト:GentooSideさん(http://www.gside.org/Gentoo/subversion/subversion.html)
上記のサイトを参考にさせていただいて、Subversionのインストールを行いました。
インストールは emerge ですんなりと完了したので、次はいよいよ設定です。
以下に、私が行った設定をメモしておきます。
●ディレクトリを作成
リポジトリを作る前に、用途別にディレクトリを分けることにしました。
といった感じです。
そして、それぞれのディレクトリ以下に複数のリポジトリを作っていきます。
リポジトリの構成はいろいろ悩んだのですが、結局、プロジェクト(というか用途というか)ごとにリポジトリを分けることにしました。
管理は面倒になるかもしれないのですが、リポジトリの下に複数のプロジェクトがあると、リビジョン番号を1つ減らしても、あるプロジェクトの1つ前の段階が取得できるとは限らないという点が嫌だったからです。
たとえば、2つの別々のBlenderのシーンを同じリポジトリに含めていた場合、どちらのシーンをコミットした場合でもリポジトリのリビジョンは増えてしまいますよね。。それを避けたくて。
ということで、まずリポジトリ種類を分けるためのディレクトリを作りました。
(これ、分けなくてもよかったかな。。と今になって思っています。)
$ mkdir /var/svn/blender_scenes $ mkdir /var/svn/py_dev $ mkdir /var/svn/doc
●それぞれのディレクトリの下に実際のリポジトリを作りました。
(1)blenderシーン用リポジトリ作成
$ svnadmin create --fs-type fsfs /var/svn/blender_scenes/controllers $ svnadmin create --fs-type fsfs /var/svn/blender_scenes/hedgehog $ svnadmin create --fs-type fsfs /var/svn/blender_scenes/original_logo $ svnadmin create --fs-type fsfs /var/svn/blender_scenes/goriatt $ svnadmin create --fs-type fsfs /var/svn/blender_scenes/type001 $ svnadmin create --fs-type fsfs /var/svn/blender_scenes/robo_hand
(2)パイソン開発用リポジトリ作成
$ svnadmin create --fs-type fsfs /var/svn/py_dev/exaile_plugins $ svnadmin create --fs-type fsfs /var/svn/py_dev/timeprofile
(3)ドキュメント用リポジトリ作成
$ svnadmin create --fs-type fsfs /var/svn/doc/tiddly
●リポジトリの所有権をapacheに変更
gen-server kani # chown -R apache:apache /var/svn/*
●変更確認
所有権がちゃんとapacheになっているか確認しました。
$ ls -la /var/svn total 20 drwxr-xr-x 5 root root 4096 Sep 26 07:25 . drwxr-xr-x 14 root root 4096 Sep 25 07:58 .. drwxr-xr-x 9 apache apache 4096 Sep 26 07:19 blender_scenes drwxr-xr-x 3 apache apache 4096 Sep 26 07:25 doc drwxr-xr-x 4 apache apache 4096 Sep 26 07:22 py_dev
以上でリポジトリの準備はだいたい終わったと思います。
次はapacheの設定を行いました。
●/etc/conf.d/apache2を修正して起動時にSVN, WebDAVが起動するように。
赤字の部分を追記しました。
APACHE2_OPTS="-D DEFAULT_VHOST -D INFO -D LANGUAGE -D SSL -D SSL_DEFAULT_VHOST -D SUEXEC -D SVN -D DAV"
● mod_dav_svnの設定を行いました。
(/etc/apache2/modules.d/47_mod_dav_svn.confを編集)
LoadModule dav_svn_module modules/mod_dav_svn.so DAV svn SVNParentPath /var/svn/blender_scenes/ AuthType Basic AuthName "Blender scene repository" AuthUserFile /var/svn/conf/svnusers Require valid-user DAV svn SVNParentPath /var/svn/py_dev/ AuthType Basic AuthName "Python code repository" AuthUserFile /var/svn/conf/svnusers Require valid-user DAV svn SVNParentPath /var/svn/doc/ AuthType Basic AuthName "Document repository" AuthUserFile /var/svn/conf/svnusers Require valid-user
●basic認証のパスワードファイルを作成
$ mkdir /var/svn/conf $ chown -R apache:apache /var/svn/conf $ htpasswd2 -c /var/svn/conf/svnusersNew password: Re-type new password: Adding password for user
●apacheを再起動しました。
$ /etc/init.d/apache2 restart * Caching service dependencies ... [ ok ] * Stopping apache2 ... [ ok ] * Starting apache2 ... [ ok ]
その後で、実際にブラウザで接続し、それぞれのRepositoryのリビジョンがゼロであることが
確認できました。
次は、実際のデータをimportする作業をやろうと思います。
つづく。