Subversion 1.8インストール手順
はじめに
CentOS6.5では、「1.6」が標準インストールされているが、1.6は、サポートが終了している+便利機能が追加されていることもあり、 最新の「1.8」を利用します。
最新の1.8をインストールする方法は色々とありますが、今後のメンテも考慮し、米WANDiscoが公開していCentOS6向けのリポジトリの設定を追加します。
subversionでは、リポジトリへ接続するプロトコルとして5つ(file,svn,svn+ssl,http,https)用意されていますが、今回は、sslを利用した接続は記載していません。
また、プロセスは必要に応じて起動するため、スーパーサーバー(xinetd)を用いて構築します。
構成について
OS
- CentOS release 6.5
実行ユーザ
- root権限を持つ任意のユーザ
SW
ソフトウェア | バージョン | 備考 |
---|---|---|
Subversion | 1.8.9 | |
xinetd | 2.3.14 | |
mod_dav_svn | 1.8.14-1 | apache連携 |
インストール作業
サービス名の設定
- svnserve(3603)を「/ete/service」ファイルに追記する。
# vi /etc/services (以下、変更) 542 svnserve 3690/tcp # Subversion 543 svnserve 3690/udp # Subversion
ポート開放
* svnserve(3603)ポートを追加する。 vi /etc/sysconfig/iptables (以下、追記) -A INPUT -p tcp -m tcp --dport 3690 -j ACCEPT #「svn://」経由用 -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT #「http://」経由用
リポジトリ追加
WANDiscoリポジトリ
- 設定ファイルを作成する。
# vi /etc/yum.repos.d/wandisco.repo (以下、追記) [wandisco-svn] name=WANDisco Repository - snv-1.8 centos6 baseurl=http://opensource.wandisco.com/centos/6/svn-1.8/RPMS/$basearch/ enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-WANdisco
- GPGキーを追加する。
rpm --import http://opensource.wandisco.com/RPM-GPG-KEY-WANdisco
- リポジトリが有効になっていることを確認する。
yum repolist --enablerepo=wandisco-svn 読み込んだプラグイン:fastestmirror Loading mirror speeds from cached hostfile ~略~ wandisco-svn WANDisco Repository - snv-1.8 centos6 171 repolist: 8,364
パッケージインストール
Subversion
- インストールする。
# yum install -y --enablerepo=wandisco-svn subversion
- バージョンを確認する。
# svn --version svn, version 1.8.14 (r1692801)
xinetd
- インストールする。
# yum install -y xinetd
- バージョンを確認する。
# xinetd -version xinetd Version 2.3.14 libwrap loadavg
mod_dav_svn
# yum install --enablerepo=wandisco-svn mod_dav_svn
Subversion設定
動作確認のため、新規にリポジトリを作成します。
リポジトリ作成
# mkdir /var/lib/svn # svnadmin create /var/lib/svn/sample
各種設定
# vi svnserve.conf (以下、修正差分) 12,13c12,13 < anon-access = none #匿名のアクセスを許可するかどうかを設定。(read,write,none) < auth-access = write #認証されたユーザのアクセス権を設定。(read,write,none) --- > # anon-access = read > # auth-access = write 20c20 < password-db = passwd #ユーザとパスワードが記述されたファイルへのパスを設定。(相対パスor絶対パス) --- > # password-db = passwd 27c27 < authz-db = authz --- > # authz-db = authz 32c32 < realm = Proteus ★説明★ Repository --- > # realm = My First Repository
- リポジトリへアクセスするユーザを追記する。※書式:ユーザ名 = パスワード
# vi passwd (以下、修正) 7,11d6 < taro = taro01 < jiro = jiro01
- ログインユーザに権限を与える。
# vi authz ~省略~ # diff authz authz_20130517 24,29d23 < developer = taro < viewer = jiro < < [/] < @developer = rw < @viewer = r
ディレクトリのユーザ・グループ権限変更
# pwd /var/lib/svn # ll sample ~略~ drwxrwxr-x 6 root root 4096 5月 17 10:58 sample # chown -R apache. apache sample
- 「conf」ディレクトリを、ユーザ「root」・グループ「root」に変更する。
# ll sample drwxrwxr-x 6 apache clsys 4096 5月 17 10:58 sample # chown -R root.root sample/conf # ll sample 合計 48 drwxrwxr-x 2 apache clsys 4096 5月 17 10:58 locks drwxrwxr-x 2 apache clsys 4096 5月 17 10:58 hooks -r--r--r-- 1 apache clsys 2 5月 17 10:58 format drwxrwsr-x 6 apache clsys 4096 5月 17 10:58 db -rw-rw-r-- 1 apache clsys 229 5月 17 10:58 README.txt drwxrwxr-x 2 root root 4096 5月 17 11:07 conf
xinetd設定
- svnserve用の設定ファイルを作成する。
# vi /etc/xinetd.d/svnserve (以下、設定) # default: on # svn configuration service svnserve { disable = no socket_type = stream protocol = tcp wait = no user = root server = /usr/bin/svnserve server_args = -i --root /var/lib/svn }
- サービス再起動する。
# service xinetd restart
- 設定が反映されていることを確認する。
# chkconfig --list xinetd ベースのサービス: ~略~ svnserve: on
http+svn連携設定
- 設定ファイルに接続情報を記載する。
vi /etc/httpd/conf.d/subversion.conf ~略~ # ModDavSvn Configuration For Maven2DAV svn SVNPath /var/lib/svn/maven2 # AuthType Basic #認証種類 # AuthName "SVN Maven2" #認証名 # AuthUserFile /opt/WANdisco/apache22/conf/svn.passwd #パスワードファイル場所 # Require valid-user #ユーザ+パスワード一致。