【linux】Subversionサーバーを構築する
問題
Subversionのサーバーを作りたいんですけど、簡単にできますか。
リモートで接続して使う形の。
答え
CentOSなどディストリビューションの提供するパッケージで構築できるので、そんなに難しくない。
svn+ssh://~ でアクセスできるようにするところまでやってみる。
1、CentOS6を用意する
以下CentOS6での説明をします。
2、パッケージ subversion インストール
# yum install subversion
3、リポジトリを作る
# mkdir -p /home/svn/repos # svnadmin /home/svn/repos/project1
4、svnグループを作る
参加メンバーにリポジトリへのアクセスを可能にするため同じグループ(ここでは svn)に参加させたい。
# groupadd svn
5、svnグループにリポジトリの所有権を与える
# chown -R :svn /home/svn/repos
6、svnグループにリポジトリの読み書きの権限を与える
以下のいずれの書き方でもOK。
# chmod -R g+wr /home/svn/repos
# chmod -R 0775 /home/svn/repos
不要かも
7、リポジトリのディレクトリにSGIDビットを立てる
以下のいずれの書き方でもOK。
# chmod g+wrs /home/svn/repos
# chmod 2775 /home/svn/repos
7、開発メンバーのユーザーを作る
# adduser sato # adduser kato ... ...
8、開発メンバーをsvnグループに参加させる
# usermod -G svn sato # usermod -G svn kato # usermod -G svn yamada ... ...
使ってみる
チェックアウト
$ svn co svn+ssh://sato@192.0.2.123/home/svn/repos/project1
ファイルを追加してコミット
$ vi project1/test.txt $ svn add project1/test.txt $ svn commit project1/test.txt -m 'test1'
別のユーザーでチェックアウト
$ svn co svn+ssh://kato@192.0.2.123/home/svn/repos/project1
別のユーザーでファイルを編集してコミット
$ vi project1/test.txt $ svn commit project1/test.txt -m 'test2'
パーミッションの問題なども特になく動くと思います。
コメント