怎么配置异地开发共同使用一个CVS服务器?请教各位了!

我们现在有个项目在两个地方同时开发,CVS服务器(Linux上)应该怎样配置才能使在另一个地方开发的同事能够同时使用这个CVS服务器(或叫使用同一个库吧)?请教各位,不胜感激!
[88 byte] By [configeration] at [2007-12-16]
# 1
1 只要你的cvs服务器的ip是公网ip,那么就跟局域网一样使用
2 否则你可以在cvs服务器上安装拨号服务器,让另一个地方的人拨号上来

感觉是网络问题,跟cvs没什么关系
ajiefudan-阿杰 at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 2
非常感谢ajiefudan(阿杰)!
但CVS服务器在局域网内,大家共用一个共网IP,象这样有没有办法呢?
configeration at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 3
看看你的网络配置,这个跟CVS 没有关系的
# 4
我现在CVS服务器的IP应该是在局域网内有效,对外无效(因为局域网对外共用一个公共IP),象这种情况有没有可能使另外一地的同事使用CVS服务器?如果可以,应该怎么做?谢谢各位!
configeration at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 5
可以用VPN,这样异地也可以按局域网访问。linux可以实现VPN。
x86-大雪 at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 6
架设CVS服务器:
建立 CVSROOT 目录,因为这里涉及到用户对CVSROOT里的文件读写的权限问题,所以比较简单的方法是建立一个组,然后再建立一个属于该组的帐户,而且以后有读写权限的用户都要属于该组.假设我们建一个组叫cvs,用户名是cvsroot.建组和用户的命令如下

#groupadd cvs
#adduser cvsroot

生成的用户家目录在/home/cvsroot(根据自己的系统调整)

用 cvsroot 用户登陆,修改 /home/cvsroot (CVSROOT)的权限,赋与同组人有读写的权限:

$chmod 771 . (或者770应该也可以)
建立CVS仓库,(仍然是 cvsroot 用户),用下面命令:

$cvs -d /home/cvsroot init

以root身份登陆,修改 /etc/inetd.conf(使用 xinetd 的系统没有此文件)和 /etc/services,
如果用的是 inetd 的系统,在 /etc/inetd.conf 里加入:
cvsserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvsroot pserver

说明:上面的行是单独一整行,/usr/bin/cvs 应该是你的cvs版本的命令路径,请根据自己的系统调整./home/cvsroot 是你建立的CVSROOT的路径,也请根据上面建立目录的部分的内容做调整.

如果是使用 xinetd 的系统,需要在 /etc/xinetd.d/ 目录下创建文件 cvspserver(此名字可以自己定义),内容如下:

# default: on
# description: The cvs server sessions;

service cvsserver
{
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/cvsroot pserver
log_on_failure += USERID
only_from = 192.168.0.0/24
}

其中only_from是用来限制访问的,可以根据实际情况不要或者修改。修改该文件权限:

# chmod 644 cvspserver

在/etc/services里加入:

cvsserver 2401/tcp

说明:cvsserver 是任意的名称,但是不能和已有的服务重名,也要和上面修改 /etc/inetd.conf 那行的第一项一致.这里我用的是 CVS 的口令认证方式

添加可以使用 CVS 服务的用户到 cvs 组:
以 root 身份修改 /etc/group,把需要使用 CVS 的用户名加到 cvs 组里,比如我想让用户 laser 和gumpwu 能够使用 CVS 服务,那么修改以后的 /etc/group 应该有下面这样一行:
cvs:x:105:laser,gumpwu

在你的系统上GID可能不是105,没有关系.主要是要把laser和gumpwu用逗号分隔开写在最后一个冒号后面.当然,象RedHat等分发版有类似linuxconf这样的工具的话,用工具做这件事会更简单些.

重起inetd使修改生效:

#killall -HUP inetd
如果使用的是 xinetd 的系统:

# /etc/rc.d/init.d/xined restart

这样服务器就设置完成了
chjy2000-楚寒原 at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 7
谢谢chjy2000(楚寒原) ,CVS服务器是已经配置好了的,我现在的CVS服务器是局域网内的IP,所以我不知道怎么才能使它对外供访问,因为我们现在是两地共同开发一个项目。
configeration at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 8
也谢谢 x86(大雪),我只听说过VPN,能不能指导一下怎么配置VPN呢?谢谢!
configeration at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 9
你必须有个公用IP才能够完成这个问题,你可以看看我们公司的安全产品,也许对你的问题有帮助。 http://www.anyware.com.cn/ (用我们的安全访问控制器可以轻松解决这个问题,并且提供网络传输中源代码的保护!)

Does a good farmer neglect a crop he has planted?
Does a good teacher overlook even the most humble student?
Does a good father allow a single child to starve?
Does a good programmer refuse to maintain his code?
-- Geoffrey James, "The Tao of Programming"

shybt-风林火山 at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 10
用PORT MAPING把你的CVS服务器端口影射到你的公网IP机器的端口上就行了
chairou-西楼 at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 11
我不懂,能不能告诉怎么PORT MAPING啊?非常感谢!
configeration at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...
# 12
我想问下cvs中远程登陆时的 用户名与密码是什么,有没有初始密码,还是要设置
我用的是JBuilder7中自带的cvs,是不是还要安装服务器端?
ddtqfly-风语无阻 at 2007-10-26 > top of Msdn China Tech,Linux/Unix社区,程序开发...