最由于在自己的机器上安装了Cygwin,天天让他在那里闲着不太好,需要给他派点用途,正好需要一个安装一个CVS服务器,我就决定不采用cvsnt,在我的机器上安装一个Cygwin下的服务。好了,现在开始:
第一步 :首先需要安装Cygwin,需要选择以下包:
Devl/cvs 当然要了
Admin/cygrunsrv 用于把cygwin服务加到windows服务中
Net/inetutils 不需要xinetd,因为我在测试使用xinetd时候,有很多的问题没有解决,只好使用inetd了。
第二步 :安装好了Cygwin后,在windows下建立一个cvsroot的用户。这个用户需要是本地用户,不要是域用户,确定在Cygwin/home目录下有cvsroot户。如果没有切换到这个用户下,运行cygwin就可以了。
第三步 :Cygwin环境下,运行iu-config
第四步 : 运行 mkpasswd -l > /etc/passwd,将windows用户导入到Cygwin中,然后用编辑器(vi,ultraEdit都可以,就是notepad不行)打开这个 文件,只保留Administrator用户和cvsroot用户和其它你认为需要的用户。
第五步 :运行inetd服务。运行以下命令:
设置windows环境变量:CYGWIN=ntsec。将cygwin/bin加入到PATH中。
在cygwin中运行
cygrunsrv -I inetd -d " CYGWIN inetd " -p /usr/sbin/inetd -a -d -e CYGWIN=ntsec
cygrunsrv -S inetd
就可以在windows服务管理器中看到CYGWIN inetd服务已经启动了。
运行usr/sbin/inetd.exe --install-as-service
从新启动。由于cygwin不支持su命令,只好使用telnet来切换在cygwin下的用户了。
第六步 : 建立cvsroot目录,可以建立在/var/cvsroot,如果不想把仓库目录建立在Cygwin环境下,可以使用/cygdrive/d来选择驱动 器。在cygwin下选择cvsroot用户,运行cvs -d /cygdrive/d /cvsroot init,配置好cvs服务的根目录,根目录建立在d:\cvsroot下。
第七步 ,编辑修改/etc/inetd.conf文件,加入:
cvspserver stream tcp nowait cvsroot /bin/cvs cvs -f --allow-root=/cygdrive/d/cvsroot pserver
编辑修改/etc/services,加入:
cvspserver 2401/tcp #cvs server tcp port
cvspserver 2401/dup #cvs server udp port
第八步 ,配置好cvs用户,和其它系统下的配置一样,网上有很详细的文档,这里就不再多说了。
从新启动inetd服务,就可以了。
在安装过程中需要注意的就是目录的权限问题,在cygwin中建立的文件,只能(最好)在cygwin中管理。
还有在这个cvs下仍然有不区分文件名大小写的问题,在使用的时候需要注意。
如果选用xinetd在安装过程中,我还没有找到注册成功windows服务的方法,所以在这里就不再介绍了。
祝大家使用愉快。