Jan 28 2008
Subversion覚書
CentOS4.6でのSubversion(以下SVN)設定の覚書。
SVNをサーバで管理するように設定しておこうとしていたのだけど、サーバに入っているSVNのバージョンの違いで色々はまったので、覚えている間にメモ。
WebSVNというPHPベースのリポジトリWebツールがあるので、それをインストールしてはみたものの、パス情報の箇所に全く出ない。リポジトリ名は出ているので、何か原因があるんだろうと検索かけてもHITしない。
1時間くらい色々悩んで、ふと気づいて。
調べたところ、CentOS4.6に入っているバージョンが、1.1系だったのがそもそもの原因だった・・・
気を取り直して、DAGから以下のrpmをダウンロード。
mod_dav_svn-1.4.6-0.1.el4.rf.i386.rpm
subversion-1.4.6-0.1.el4.rf.i386.rpm
subversion-devel-1.4.6-0.1.el4.rf.i386.rpm
そして -Uvh でインストール
すると、WebSVNで見れなかったツリーがキレイにみえるようになったので、これでヨシとする。
んで、WebSVN自体の設定は、次のように設定するだけで使えるようになった。
cd include
cp distconfig.php config.php
vi config.php
config.phpで設定するものは、とりあえず以下のみ
$config->parentPath('/home/svn');
そして前設定しようとしたときは、途中で投げ出してしまったWebDAVの設定をやってみた。
まず、Apacheの設定
<Location /svn>
DAV svn
SVNParentPath "/home/svn/"
# Require SSL connection for password protection.
SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/www/htpasswd
Require valid-user
</Location>
↑のような感じにして、apache再起動。
AuthUserFileの用意も忘れずに準備して、Winのクライアントから、接続できることを確認。
そしてファイルをコピー。
出来ない(ノ∀`)
ログをみてみると、cannot-modify-version-controlled-contentとエラー吐いて居た。
これで検索かけると、SVNAutoversioningを設定すれば良いらしい。
ということで↑にある設定は以下のように
<Location /svn>
DAV svn
SVNParentPath "/home/svn/"
SVNAutoversioning on
# Require SSL connection for password protection.
SSLRequireSSL
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /home/www/htpasswd
Require valid-user
</Location>
これでファイルをコピーすると、コピーが成功して、ちゃんとリビジョンが上がっていく事が確認できた。
参考:
http://tortoisesvn.net/docs/release/TortoiseSVN_ja/tsvn-serversetup.html