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