centos5 cvs サーバ構築

gitぢゃないよw

http://unixlife.jp/unixlife/linux/s-cvs.jsp
を参考に
pserver方式(password authenticated server方式)でやってみる。



1) yum install cvs xinetd
2)vi /etc/xinetd.d/cvs
3) /etc/init.d/xinetd start (or restart)

[root@cent5-64b-41 ~]# vi /etc/xinetd.d/cvs 
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# /etc/init.d/xinetd restart
xinetd を停止中:                                           [  OK  ]
xinetd を起動中:                                           [  OK  ]
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# ps -ef | grep cvs
root     12054 12014  0 13:09 pts/3    00:00:00 grep cvs
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# cat /etc/services | grep cvs
cvspserver	2401/tcp			# CVS client/server operations
cvspserver	2401/udp			# CVS client/server operations
cvsup           5999/tcp	CVSup		# CVSup file transfer/John Polstra/FreeBSD
cvsup           5999/udp	CVSup		# CVSup file transfer/John Polstra/FreeBSD
ssm-cvs		2477/tcp			# SecurSight Certificate Valifation Service
ssm-cvs		2477/udp			# SecurSight Certificate Valifation Service
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2011-09-04 13:11 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000060s latency).
rDNS record for 127.0.0.1: cent5-64b-41
Not shown: 987 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
901/tcp  open  samba-swat
1002/tcp open  windows-icfw
2049/tcp open  nfs
2401/tcp open  cvspserver
5901/tcp open  vnc-1

Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds
[root@cent5-64b-41 ~]# 


init cvs
1)cvs -d /var/cvs init
2)groupadd -g 500 cvs
3)chown -R root.cvs /var/cvs
4)chmod 775/var/cvs

5)add user to group cvs using vigr command? vigr???? I never know this

check connection
1)cvs -d ':pserver:root@192.168.1.41:/var/cvs' login

[root@cent5-64b-41 ~]# nmap localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2011-09-04 13:11 JST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0000060s latency).
rDNS record for 127.0.0.1: cent5-64b-41
Not shown: 987 closed ports
PORT     STATE SERVICE
22/tcp   open  ssh
25/tcp   open  smtp
53/tcp   open  domain
80/tcp   open  http
111/tcp  open  rpcbind
139/tcp  open  netbios-ssn
445/tcp  open  microsoft-ds
631/tcp  open  ipp
901/tcp  open  samba-swat
1002/tcp open  windows-icfw
2049/tcp open  nfs
2401/tcp open  cvspserver
5901/tcp open  vnc-1

Nmap done: 1 IP address (1 host up) scanned in 0.35 seconds
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# 
[root@cent5-64b-41 ~]# cvs -d /var/cvs init
 
[root@cent5-64b-41 ~]# groupadd -g 501 cvs

[root@cent5-64b-41 ~]# chown -R root:cvs /var/cvs

[root@cent5-64b-41 ~]# chmod 775 /var/cvs
)
[root@cent5-64b-41 ~]# which vigr
/usr/sbin/vigr
[root@cent5-64b-41 ~]# vigr  ここでcvsgroupに たとえばhirasawaを追加
このシステムではシャドウグループが使われています。
今すぐ /etc/gshadow を編集しますか [y/n]? y


[root@cent5-64b-41 ~]# cvs -d ':pserver:root@192.168.1.41:/var/cvs' login
Logging in to :pserver:root@192.168.1.41:2401/var/cvs
CVS password: 
[root@cent5-64b-41 ~]# set -o vi
[root@cent5-64b-41 ~]# cvs -d ':pserver:root@192.168.1.41:/var/cvs' logout
Logging out of :pserver:root@192.168.1.41:2401/var/cvs
[root@cent5-64b-41 ~]# 

Unixの習慣に従い、cvs loginはログインが成功したら黙って終了する。

  • dオプションは -directoryの略。というか repositoryの場所の指定
  • rの方がよかったんでないかい?

つぎは、LAN内の別のクライアントPCからhirasawaでログインしてみる

[hirasawa@ubunt1004-32-2 ~]$ cvs -d ':pserver:hirasawa@192.168.1.41:/var/cvs' login
Logging in to :pserver:hirasawa@192.168.1.41:2401/var/cvs
CVS password: 
cvs login: CVS password file /home/hirasawa/.cvspass does not exist - creating a new file
[hirasawa@ubunt1004-32-2 ~]$ pwd
/home/hirasawa
[hirasawa@ubunt1004-32-2 ~]$ ps -ef | grep cvs
hirasawa 12836 12813  0 13:33 pts/2    00:00:00 grep --color=auto cvs
[hirasawa@ubunt1004-32-2 ~]$ set -o vi
[hirasawa@ubunt1004-32-2 ~]$ cvs -d ':pserver:hirasawa@192.168.1.41:/var/cvs' logout
Logging out of :pserver:hirasawa@192.168.1.41:2401/var/cvs
[hirasawa@ubunt1004-32-2 ~]$ 

うまくいっているみたいだ。

自分のローカルコンピュータからCVSサーバへのログインは一回だけで、
ログインが成功すると、CVSはパスワードをユーザのホームディレクト
配下の./.cvspassファイルに保存します。

その後pserver方式を使ってリポジトリにアクセスするたびにチェックされる
ので、loginを実行しなくてはいけないのは、特定のクライアントコンピュータから、特定のCVSサーバに初めてアクセスするときだけ。
パスワードを変更した場合は、いつでもcvs loginコマンドにて
.cvspassファイルを更新することができる。

んで? つぎは?
どうやって checkin/checkoutするんだ?
わからんw