1. インストール前の確認
既存のSubversionパッケージを確認します:
rpm -qa | grep subversion
既にインストールされている場合は削除します:
yum remove -y subversion
2. Subversionのインストール
yum install -y subversion
インストール完了後、バージョン情報を確認します:
svn --version
3. リポジトリ環境の構築
リポジトリ用ディレクトリを作成します:
mkdir -p /opt/repos/svnroot
新しいリポジトリを作成します:
svnadmin create /opt/repos/myrepo
作成されたリポジトリには設定ファイルが含まれるconfディレクトリがあります。
4. 設定ファイルの編集
ユーザ認証の設定
passwdファイルを編集してユーザ情報を追加します:
vi /opt/repos/myrepo/conf/passwd
[users]セクションに以下の形式で記述します(スペース必須):
developer = devpass123
tester = testpass456
アクセス権限の設定
authzファイルを編集します:
vi /opt/repos/myrepo/conf/authz
グループベースでの権限管理を実施します。
サーバ設定の変更
svnserve.confファイルを修正します:
vi /opt/repos/myrepo/conf/svnserve.conf
以下のパラメータを設定します:
anon-access = none
auth-access = write
password-db = passwd
authz-db = authz
realm = /opt/repos/myrepo
5. サービスの起動と停止
SVNサービスを起動します:
svnserve -d -r /opt/repos
プロセスの存在を確認します:
ps aux | grep svnserve
サービスを停止する場合:
pkill svnserve
6. 自動起動設定
システム設定ファイルを編集します:
mkdir -p /var/svn
vi /etc/sysconfig/svnserve
サービスを有効化します:
systemctl enable svnserve
7. 動作確認
システム再起動後のサービス状態を確認します:
systemctl status svnserve
ポート開放状況を確認します(デフォルトポート:3690):
ss -tuln | grep 3690
8. ファイアウォール設定
必要に応じてファイアウォールを停止します:
systemctl stop firewalld
クライアント接続例:
svn://192.168.52.3/myrepo
9. 基本コマンド操作
チェックアウト操作
svn checkout svn://192.168.52.3/myrepo --username=developer
特定リビジョンの取得:
svn checkout -r <revision_number> svn_path
ファイル追加とコミット
作業状況の確認:
svn status
# 省略形: svn st
ステータスコードの意味:
- A: 追加済み
- M: 変更あり
- D: 削除予定
- ? : バージョン管理外
- C: 競合発生
ファイルをバージョン管理に追加:
svn add *
# または指定ファイル: svn add filename
変更内容をリポジトリに反映:
svn commit -m "ファイル追加"
更新操作
svn update
# 省略形: svn up