LittleCloud's Java World

Live and learn.
posts - 18, comments - 29, trackbacks - 0, articles - 1
  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

redhat9下配置cvs及windows客户端连接成功

Posted on 2008-04-17 16:38 walkingpig 阅读(1806) 评论(2)  编辑  收藏 所属分类: 服务器

偶也是第一次配这东西,参考了许多网友的帖子,可半路上出现了很多报错,郁闷得死,

这里我把我自己最后成功的笔记分享给大家.

 

CVS服务器的安装:

1. 查看你的操作系统上是否安装了CVS
#> rpm -qa|grep cvs

guile-1.8.0-8.20060831cvs

cvs-1.11.22-4

2. 建立cvs用户组:

/usr/sbin/groupadd cvs

3         建立cvs组的cvsroot用户和所属的目录:
#> /usr/sbin/useradd -g cvs -G cvs –d /cvsroot cvsroot

4         cvsroot用户添加密码:
#> passwd cvsroot

      密码:cvsroot123456

5         改变 /cvsroot/ 的目录属性:
#> chmod –R 770 /cvsroot


6
改变用户登陆身份:
#> su cvsroot

开始创建单个项目:
#> cd /cvsroot
#> mkdir configuration
#>mkdir psgui

#>mkdir davinci


开始建立仓库:
#> cvs –d /cvsroot/configuration init
#> cvs –d /cvsroot/psgui init

#> cvs –d /cvsroot/davinci init
#> chmod -R 770 ./configuration/ ./psgui/ ./davinci/

9建立CVS服务启动文件,我们使用xinetd方式:
#> [Crtl]+[d]
切换到root用户身份
#> cd /etc/xinetd.d
#> vi cvspserver

service cvspserver

{

        disable = no

        flags = REUSE

        socket_type = stream

        wait = no

        user = root

        server = /usr/bin/cvs

        server_args = -f --allow-root=/cvsroot/configuration --allow-root=/cvsroot/psgui --allow-root=/cvsroot/davinci pserver

        log_on_failure += USERID

}

注:由于xinetdserver_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:

10 加入cvs服务:
#>vi /etc/services

cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service

已经存在了,如下:(没有添加了)

cvspserver      2401/tcp                        # CVS client/server operations

cvspserver      2401/udp                        # CVS client/server operations

11 启动cvs服务:
#> /etc/init.d/xinetd restart

12 检查cvspserver服务是否已经启动:
#> netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN

已经有上面的显示结果

CVS服务的用户管理:

上面我们已经建立了configurationpsguidavinci三个CVS仓库,下面我们分别给这三个仓库建立cvs用户。

13创建可以登陆cvs服务器的用户名和密码:

#> su cvsroot
#> vi /cvsroot/configuration/CVSROOT/passwd
yujiabo:*****:cvsroot

#>vi /cvsroot/psgui/CVSROOT/passwd

lianghuoyan:*****:cvsroot
yujiabo:*****:cvsroot

这两个文件的意思是有yujiabolianghuoyan两个cvs用户,lianghuoyan拥有psgui的使用权限,yujiabo拥有configurationpsgui的使用权限,登陆后的权限是cvsroot权限。
注意:这里的cvs用户和系统用户是不同的。


14 *****
为密码,由以下文件生成:

#> vi /cvsroot/passwd.pl

#!/usr/bin/perl
srand (time());
my $randletter = "(int (rand (26)) + (int (rand (1) + .5) % 2 ? 65 : 97))";
my $salt = sprintf ("%c%c", eval $randletter, eval $randletter);
my $plaintext = shift;
my $crypttext = crypt ($plaintext, $salt);
print "${crypttext}
";
#>chmod a+x /cvsroot/passwd.pl


15
如果你想生成一个密码是“123456”,则:
#> /cvsroot/passwd.pl “123456”
回车即可得到加密密码,用其替换passwd文件中的*****


16 Ok
cvs现在已经全部安装完成了,如果你想让一个用户拥有psgi的权限,你就在/cvsroot/psgui/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有psguidavinci的权限,你就给/cvsroot/psgui/CVSROOT/passwd/cvsroot/davinci/CVSROOT/passwd里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:
#> cvs -d :pserver:yujiabo@168.68.73.122:/cvsroot/psgui login


敲入命令回车后提示输入yujiabo的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了(我的机器IP地址是168.68.73.122)

客户端测试:

ash用户登陆168.68.73.123

运行#

cvs -d :pserver:yujiabo@168.68.73.122:/cvsroot/configuration login

123456(输入的密码)

出现错误:2401 failed: No route to host

客户端连接不上,放开服务器防火墙2401端口,方法如下:

168.68.73.122root登陆后,运行#system-config-securitylevel

选择“定制”,其它端口处输入:2401,然后“确定”设置。

现在客户端可以连接了。

Windows下的客户端软件WinCvs1.3配置如下:
CVSROOT
认证方式:pserver
路径:/cvsroot/configuration
用户名:yujiabo
CVSROOT:yujiabo@168.68.73.122:/cvsroot/configuration


评论

# re: redhat9下配置cvs及windows客户端连接成功  回复  更多评论   

2008-04-18 22:25 by 26265
SVN不是更好?

# re: redhat9下配置cvs及windows客户端连接成功  回复  更多评论   

2008-04-19 09:06 by 小猪霞
根据我们的实际情况,觉得CVS已经足够用了,

所以没有选SVN,有网友说SVN不是原子性提交,可能会出现部分提交,部分未提交,所以还是用了CVS,而且我们并不需要修改文件名。

只有注册用户登录后才能发表评论。


网站导航: