CentOS 5にSubversionをインストールする
CentOS 5.6にSubversionをインストールし、Apacheと連携して動作させるようにします。
WebサーバApacheをインストールする
Subversionをインストールする
svnserveで接続する
svnserve+SSHで接続する
Subversionコマンド
RapidSVNをCentOS 5.6にインストールする
CentOS 5.6にWebサーバApacheをインストールします。
httpdのインストール
httpdをインストールします。
# yum -y install httpd
httpdの起動
httpd を起動します。
# /etc/rc.d/init.d/httpd start
自動起動の設定
CentOS 5.6起動時に自動起動できるように設定します。
ランレベルが 3、4、5 で自動起動するようにします。
# chkconfig --level 345 httpd on
CentOS 5.6にSubversionをインストールします。
Subversionのインストール
# yum -y install mod_dav_svn subversion
httpdの設定
/etc/httpd/conf/httpd.conf の編集
/etc/httpd/conf/httpd.conf を編集して、webdav モジュールを有効にします。
# nano /etc/httpd/conf/httpd.conf
LoadModule dav_module modules/mod_dav.so
のコメントが外れていることを確認します。
/etc/httpd/conf.d/subversion.conf の編集
/etc/httpd/conf.d/subversion.conf を編集して、subversion を有効にします。
# nano /etc/httpd/conf.d/subversion.conf
コメントを外して、以下のようにします。
LoadModule dav_svn_module /usr/lib/httpd/modules/mod_dav_svn.so LoadModule authz_svn_module /usr/lib/httpd/modules/mod_authz_svn.so ... <Location /repos> DAV svn SVNParentPath /var/www/svn # # # Limit write permission to list of valid users. # <LimitExcept GET PROPFIND OPTIONS REPORT> # # Require SSL connection for password protection. # # SSLRequireSSL # # AuthType Basic # AuthName "Authorization Realm" # AuthUserFile /path/to/passwdfile # Require valid-user # </LimitExcept> </Location>
httpd設定のリロード
httpdの設定をリロードします。
# service httpd reload
リポジトリの作成
リポジトリを作成します。
(新しいリポジトリ名を sample とします。)
# mkdir /var/www/svn
# cd /var/www/svn
# svnadmin create sample
# chown -R apache:apache sample
リポジトリsampleへのアクセス
Webブラウザからリポジトリ sample にアクセスします。
http://localhost/repos/sample
/var/www/svn/sample の内容
リポジトリディレクトリの内容を表示します。
# cd /var/www/svn/sample # ls -l 合計 24 -rw-r--r-- 1 apache apache 229 8月 30 20:49 README.txt drwxr-xr-x 2 apache apache 4096 8月 30 20:49 conf drwxr-sr-x 6 apache apache 4096 8月 30 20:49 db -r--r--r-- 1 apache apache 2 8月 30 20:49 format drwxr-xr-x 2 apache apache 4096 8月 30 20:49 hooks drwxr-xr-x 2 apache apache 4096 8月 30 20:49 locks #
環境変数SVN_EDITORの設定
環境変数SVN_EDITORにログメッセージ入力用のエディタを設定します。
/etc/profile ファイルを編集します。
# nano /etc/profile
ファイルの最後に、
export SVN_EDITOR=nano
を追加します。
(ここでは nanoエディタを指定しています。)
設定を反映させます。
# source /etc/profile
設定を確認します。
# echo $SVN_EDITOR
nano
#
Subversion専用のサーバsvnserveを用いてSubversionと接続できるように設定します。svnserveによる接続ではポート番号3690を使用します。
svnserveの起動
svnserveを起動します。
# /etc/init.d/svnserve start
svnserveの自動起動設定
OS起動時に自動的にsvnserveを起動するように設定します。
ランレベルが 3、4、5 で自動起動するようにします。
# chkconfig --level 345 svnserve on
認証設定
認証の設定を行います。認証を通過したアクセスに対しては書き込み権限を与えるように設定します。
conf/svnserve.confファイルの編集
svnserveの認証設定はリポジトリ内にある conf/svnserve.conf ファイルに対して行います。
[general]
# 匿名アクセスに対して読み取りのみの権限を与えます。
anon-access = read
# 認証を通過したアクセスに対しては読み書きの権限を与えます。
auth-access = write
# パスワードファイルの場所を相対パスで指定します。
password-db = passwd
(注)
アクセス権は次の3つが設定できます。
read 読み取り可
write 読み書き可
none アクセス拒否
passwdファイルの設定
password-dbで指定したファイル(passwdファイル)でユーザ名とパスワードを設定します。
[ユーザ] = [パスワード] の形式で記述します。
# nano passwd
[users]
user1 = password1
user2 = password2
svnserveによる接続確認
svnserveに接続し、インポートします。
# svn import /tmp/svn svn://<svnserveのIPアドレス>/var/www/svn/sample -m コメント
パスワードを求められます。
passwdファイルで設定したパスワードを入力します。
tmp/svn 以下のファイルをインポートします。
SSH認証でSubversionと接続できるように設定します。
アクセス権の設定
SSH認証で接続を行う場合、SSHで接続するユーザがリポジトリへのアクセス権を持っている必要があります。
複数ユーザがリポジトリへアクセスできるように設定します。
・svnグループを作ります。
・svnグループにリポジトリへのアクセス権を設定します。
・subversionを使用するユーザをsvnグループに所属させます。
svnグループを追加します。
# groupadd svn
svnグループにリポジトリの所有権を与えます。
# chown -R :svn /var/www/svn/
svnグループに読み書きの権限を与えます。
# chmod -R g+wr /var/www/svn/
ユーザ user1 をsvnグループに所属させます。
# usermod -G svn user1
#ユーザー gentoo をsvnグループに所属させる。
# usermod -G svn user2
SSHによる接続確認
svnserveに接続し、ファイルをバージョン管理下に置きます。
リポジトリの位置はフルパスで指定します。
# svn import /tmp/svn svn+ssh://<svnserveのIPアドレス>/var/www/svn/sample -m コメント
パスワードの入力を求められます。
SSHで接続する時と同じパスワードを入力します。
/tmp/svn 以下のファイルをインポートします。
追加 2011.09.01
2011.08.30