SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

【linux】Subversionサーバーを構築する

問題

Subversionのサーバーを作りたいんですけど、簡単にできますか。

リモートで接続して使う形の。

subversion_logo

答え

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'

パーミッションの問題なども特になく動くと思います。

関連するメモ

コメント