环境准备:
VirtralBox-3.2 or higher version
Centos-5.4-386.iso
在虚拟机上安装好Centos的环境,然后配置cvs服务器
1.查看是否安装cvs(我的redhat9缺省是装了的)
rpm -qa|grep cvs
一般安装在/usr/bin/cvs,如果未安装,到www.cvshome.org下载一个最新的rpm安装即可
rpm -ivh cvs-1.11.2-10.i386.rpm
2.建立cvs用户组,便于管理cvs用户
groupadd cvs
3.建立cvs组的cvsroot用户和所属的目录
useradd -g cvs -G cvs -d /home/cvsroot cvsroot
4.为cvsroot用户添加密码
passwd cvsroot
5.改变/home/cvsroot的目录属性
chmod 775 /home/cvsroot
6.如果已经有项目,即已经有代码库/home/cvsroot/KMSJPT,不则不用初始化初始化。
如果是新建cvs源代码库,则需要初始化。cvs -d /home/KMSJPT init 此操作生成目录/home/cvsroot/KMSJPT/CVSROOT, 其下为一些初始化文件
7.加入cvs服务(我的redhath9缺省就有cvs服务,所以不用加)
vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
8.cvs服务由inted来唤起,因此需要改动inetd提供的服务,如果你的redhat使用的是inetd 方式则在文件/etc/inetd.conf中加入如下的内容:cvspserver stream tcp nowait root /usr/bin/cvs cvs --allow-root=/home/cvsroot pserver
我的redhat9使用的是xinetd方式,所以在xinetd.d目录下添加需要启动的服务:
cd /etc/xinetd.d
vi cvspserver #此处有可能是 vi cvs
文件内容:
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot/KMSJPT pserver
# server_args = -f --allow-root=/home/cvs/project1 -allow-root=home/cvs/project2 pserver 多个项目时使用此方法
log_on_failure += USERID
}
9.重新启动inetd或者xinetd:
/etc/init.d/xinetd restart
10.检查cvspserver服务是否已经启动
netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
11.测试:
cvs -d :pserver:cvsroot@192.168.8.1:/home/cvsroot/KMSJPT login
注可能会出现的问题:
1.我下载的是cvs-suite-trial-2009-4095-rh9-rpm.tar.gz 是最新版,解压后安装出现问题,使终无法解决,问题如下:缺少libstdc++.so.5 。因为系统在安装时,全是默认值设置,所以没有安装gcc等一系列包与编辑工具,最后重新安装系统,将所有工具全安装上。
2.文件/etc/xinetd.d目录下的:cvspserver(cvs)文件内容
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot/KMSJPT pserver
# server_args = -f --allow-root=/home/cvs/project1 -allow-root=home/cvs/project2 pserver 多个项目时使用此方法
log_on_failure += USERID
}
网上说可以换成另外一各方式:
注:由于xinetd的server_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /home/cvsroot/cvs.run
log_on_failure += USERID
}
编写cvs.run脚本:
#> vi /home/cvsroot/cvs.run
#!/bin/bash
/usr/bin/cvs -f
--allow-root=/cvsroot/project1
--allow-root=/cvsroot/project2
pserver
#>chmod ug+x /home/cvsroot/cvs.run
3.如果 /etc/xinetd.d/cvspserver(cvs)文件中的内容
server 参数修改成外部连接:/home/cvsroot/cvs.run
则最后一次登录时会有如下提示:
海量视频获取关注: