今天终于解决了困惑几周的问题。
一直想在windows下搭建个Cvs服务器,上网查了查,发现Cvsnt可以解决这个问题,于是安装了Cvsnt。可是,用了之后才发现:它把一些cvs的历史信息存在了原来的文件中,有可能导致以后维护不方便。于是想利用Cygwin来搭建类似Linux的cvs服务器。
一、Cygwin的安装。
cygwin.com上有完整的安装指南,这里就不赘述。
二、xinetd 和 sshd服务的安装
安装成windows服务,需要用到命令 cygrunsrv
(1)xinetd的安装
安装服务:
cygrunsrv -I xinetd -d 'CYGWIN xinetd' -p /usr/sbin/xinetd
启动服务:
cygrunsrv -S xinetd
(2)sshd的安装
cygwin提供了一个配置脚可以完成sshd的安装,当然你也可以按着上面方法来安装sshd。
安装服务:
ssh-host-config
启动服务:
cygrunsrv -S sshd
三、“误入歧途”
由于 在linux下一直使用cvs的pserver访问方式,于是我也企图在cygwin下把cvs配置成这种访问方式。(具体的配置,这里不再讲述)。可是折腾了两周,也没使用这种方式成功访问cvs。在google和baidu上搜,只是有人遇到同样的问题,就是没有解决办法。
今天上午,仔细到cygwin.com的mailing list 上看了看,原来cygwin根本不具备模拟"pserver"访问方式的能力,晕啊,调研不足。。。。。
于是决定放弃" cygwin + xinetd + cvs"的方案,采用" cygwin + sshd + cvs"的方案。
四、“柳暗花明又一村”
(1)创建一个用户组,便于管理
这里创建一个Cvs用户组(怎样创建不用说了吧)
注意:在创建了用户和用户组后,别忘了更新cygwin的环境:
mkpass -l > /etc/passwd
mkgroup -l > /etc/group
(2)创建一个仓库:这里仓库的位置是: /home/cvshome
cd /home
mkdir cvshome
cvs -d /home/cvshome/ init
(3)为了安全,改变仓库的访问权限。
cd /homechgrp -R Cvs cvshome/
chmod -R 770 cvshome
五、使用extssh协议访问cvs,假设用户为liugq(当然这个用户要在Cvs组中)
cvs :extssh:liugq@***.***.***.**:/home/cvshome login
(***.***.***.***.代表服务器地址)
by ddy