β

CVSサーバー構築&データ移行

CentOS5.5
注意:下記は、すべてsu -

  • インストール

# yum -y install xinetd cvs

  • cvsユーザーの登録

# useradd cvs

  • データの移行

元々のサーバのcvsフォルダを圧縮し、新サーバーの移動しておく
# unzip cvs.zip
上書きしても良いか?と聞かれるので、全て上書きにする

# chown -R cvs /var/cvs
# chown -R :cvs /var/cvs
# chmod 775 /var/cvs
これをやっていないと、Permission deniedとか言われる。

今回は、/var/の下に作成したが、cvs initとすると、/varの下に作成される。
# cvs -d /var/cvs init

  • 起動設定

cvspserverファイルがないので、CVSサーバが起動出来るように作成する
# vi /etc/xinetd.d/cvspserver
cvspserverの内容は、下記

service cvspserver
{
socket_type = stream
user = root
wait = no
server = /usr/bin/cvs
server_args = -f --allow-root=/var/cvs pserver
}

  • ファイルの権限変更

# chmod 644 /etc/xinetd.d/cvspserver

  • xinetd起動

# /etc/init.d/xinetd start

# chkconfig xinetd on

  • CVSへの接続確認

CVSサーバ(192.168.1.1、元々testユーザーという方が存在していた場合)の準備が出来ましたので接続確認をしておきます。
まずは、コマンドでログイン出来るか確認してみます。
cvs -d :pserver:test@192.168.1.1:/var/cvs login
パスワードで認証後、なにも表示されなければ正常にログイン出来ています。

ログアウトは以下のコマンドで行います。
cvs -d :pserver:test@192.168.1.1:/var/cvs logout
ここまでOKでも、Eclipseからpserverで接続できない場合がある
その場合は、元々の環境とリポジトリのフォルダの権限を確認

以下のエラーが出た場合

pserver
test@192.168.1.1:/var/cvs に接続できませんでした: No route to host: connect

# vi /etc/sysconfig/iptables

を追加する
# /etc/rc.d/init.d/iptables restart

pserver
test@192.168.1.1:/var/cvs に接続できませんでした: 入出力例外が発生しました: 接続が拒否されました: cvs pserver: cannot open /var/cvs/CVSROOT/config: Permission denied

# getenforce
Enforcingの場合、変更する
# SELINUX=disabled
# setenforce 0


  • CVSアカウントの追加

test(ユーザー名)でCVSアカウントを追加する場合
# cd /var/cvs/CVSROOT
# htpasswd -c passwd test
# vi passwd

test:(暗号化されたパスワード):cvs

と変更する。(-cは、passwdファイルが無い場合のみ)

  • CVSアカウントの編集

test(ユーザー名)でCVSアカウントを編集する場合
# cd /var/cvs/CVSROOT
# htpasswd passwd test
#vi passwd

test:(暗号化されたパスワード):cvs

と変更する。
編集する場合は、パスワード以降が消えてしまうので、viにて必ず編集

ちなみに、cvsは、1.11.17(旧)→1.11.22(新)に変わったが特に何もなく動いています。