今天成功配置了CVS服务器,首先这里我先感觉的是郭兄两天来对我的支持和帮助
我想CU这里的兄弟也与不少要配置这个CVS的吧,那我就废话少说
其中参考文献郭兄提供(我会贴到CU上)这里有的人会用wincvs郭兄建议我用TortoiseCVS
用起来比winCVS简单而且容易
下面讲解内容:
第一种方法:
如果你的系统中安装有openssh那么这个就容易.
你可以先检查下
用rpm -qa | grep openssh或ssh
如果有openssh-server 或openssh-client这个说明你的ssh可以用因为openssh这个是系统默认打开的
下面就容易了你先下载个TortoiseCVS这个软件预备上.
接着简单了
#ssh -l 普通用户(haoyf) 10.0.2.30(你机器的ip地址)(如果你是在服务器上那么就localhost)
会出现让你认证host key 的东西问你是yes or no 立刻马上打yes
然后password 你自己设置一个就ok
(2)接着然后你可以用TortoiseCVS这个软件了
先交怎么使用这个软件吧这里在次感觉郭兄的帮助.如果你locahost机器里想把一个文件夹里的东西做为开发的东西那你就用
鼠标右键点cvs(前提是你把这个软件安装上了注意你安装完需要重新启动系统)点make new modules
在Protocol里面点:ext:那个剩下的我就不多说了然后就ok
用这个软件的前提是你得先检查下你的机器里有没有这个文件/root/.ssh/known_hosts
当然你还要检查下机器里有没有cvs这个用户
下面这些命令是你出错的原因:
chown -R chown -R cvs:cvs /usr/local/cvsroot
chmod -R 775 /usr/local/cvsroot
chown -R cvs:cvs /usr/local/cvsroot
useradd -d /usr/local/cvsroot -g cvs cvs
usermod -G cvs haoyf
ls -ld /usr/local/cvsroot
ls -l /usr/local/cvsroot
grep cvs /etc/passwd
mkdir /home/yaosy
chown -R yaosy:haoyf /home/yaosy
usermod -g yaosy -G yaosy
第二种方法:是pserver的那种不过这个很麻烦锅兄建议我不用
那我讲一下吧
CVS服务器的安装:
1。查看你的操作系统上是否安装了CVS:
# rpm -qa|grep cvs
如果没有安装你可以在Redhat 第2张光盘上找到,另外你也可以在网上下载到最新的rpm包。很容易找,其实不存在什么linux版本。
2。建立cvs用户组:
# groupadd cvs
3。建立cvs组的cvsroot用户和所属的目录:
# useradd -g cvs -G cvs –d /cvsroot cvsroot
4。为cvsroot用户添加密码:
# passwd cvsroot
5。改变 /cvsroot/ 的目录属性:
#>; chmod –R 775 /cvsroot
6。改变用户登陆身份:
# su cvsroot
7。开始创建单个项目:
# cd /cvsroot
# mkdir project1
# mkdir project2
8。开始建立仓库:
# cvs –d /cvsroot/project1 init
# cvs –d /cvsroot/project2 init
# chmod –R 755 ./project1/ ./project2/
9。建立CVS服务启动文件,我们使用xinetd方式:
# su 切换到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=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver log_on_failure += USERID
}
注:由于xinetd的server_args长度限制,当你想运行很多的单个仓库的时候,可以这么做:
#>; vi cvspserver
service cvspserver
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /cvsroot/cvs.run
log_on_failure += USERID
}
编写cvs.run脚本
#>; vi /cvsroot/cvs.run
#!/bin/bash
/usr/bin/cvs -f
--allow-root=/cvsroot/project1
--allow-root=/cvsroot/project2
pserver
# chmod +x /cvsroot/cvs.run
10。加入cvs服务:
# vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11。启动cvs服务:
# /etc/init.d/xinetd restart
12。检查cvspserver服务是否已经启动:
# netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
二。CVS服务的用户管理:
上面我们已经建立了project1和project2两个CVS仓库,下面我们分别给两个仓库建立cvs用户。
13。创建可以登陆cvs服务器的用户名和密码:
# su cvsroot
# vi /cvsroot/project1/CVSROOT/passwd
trotter:*****:cvsroot
mimi:*****:cvsroot
# vi /cvsroot/project2/CVSROOT/passwd
trotter:*****:cvsroot
gary:*****:cvsroot
这两个文件的意思是有trotter,mimi,gary三个cvs用户,mimi拥有project1的使用权限,gary拥有project2的使用权限,trotter拥有project1和project2的使用权限。登陆后的权限是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。如果你想生成一个密码是“matrix”,则:
# /cvsroot/passwd.pl “matrix”
回车即可得到加密密码,用其替换passwd文件中的*****
16。Ok,cvs现在已经全部安装完成了,如果你想让一个用户拥有project1的权限,你就在/cvsroot/project1/CVSROOT/passwd中给他加入一个用户;如果你想让一个用户同时具有project1和project2的权限,你就给/cvsroot/project1/CVSROOT/passwd和/cvsroot/project2/CVSROOT/passwd里给他加一个用户名和密码相同的用户即可。最后,我们试用一下:
# cvs -d :pserver:trotter@192.168.1.200:/cvsroot/project1 login
回复于:2006-05-23 12:52:46
不错
好东西
回复于:2006-05-23 12:54:42
不过
server= /usr/bin/cvs
server_args= -f --allow-root=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver
这两行等号两边都要空格
不知斑竹注意没有
回复于:2006-05-23 12:57:10
不然会出现2401port 不能打开的问题
我刚刚配置过了
server = /usr/bin/cvs
server_args = -f --allow-root=/home2/cvsroot/project1 --allow-root=/home2/cvsroot/project2 pserver
[ 本帖最后由 yuanmufaye 于 2006-5-23 12:59 编辑 ]
|