2

3.提交源入源代码

1)进入你想提交给CVS服务器的代码所在目录

我这里是/home/HelloWorld/

bash-3.2$ cd /home/HelloWorld/

bash-3.2$ ls

helloworld.cpp makefile

装载cvs import -m "[repository test]" [cvstest] [vendortag] [releasetag]
-m
后面引号内填入log内容,接下来是源代码模块名称,接着是装载者,最后是标识符号,我这里是:

2)提交工程

$ cvs import -m "my cvs project" myProject cvsroot start

N myProject/makefile

N myProject/helloworld.cpp



No conflicts created by this import

此时,我们的源码也提交了,说明module已经建立了。其目录为:/home/cvsroot/myProject/

$ ls -l /home/cvsroot

总计 20

drwxrwxr-x 3 cvsroot cvs 4096 10-14 10:59 CVSROOT

drwxrwxr-x 2 cvsroot cvs 4096 10-14 12:11 myProject

3)checkout工程

如果我们在root用户(或者其他用户,但必须保证该用户对于存放module的目录有写的权限)下测试,checkout出这一个module,可以执行如下:

# cvs -d /home/cvsroot checkout myProject

cvs checkout: Updating myProject

U myProject/helloworld.cpp

U myProject/makefile

说明在本地可以checkout出来,而且他会自动在当前目录下创建以该module名为名的目录项,不管你checkout出来的是一个源码文件还是整个module

4.创建登录CVS服务器的用户和密码

CVS默认使用系统用户登录,为了系统安全性的考虑也可以使用独立的用户管理。CVS用户名和密码保存在CVSROOT目录下的passwd文件中,格式为:
cvs 用户名]:[加密的口令]:[等效系统用户名]

1)先创建一个passwd文件

$ cd /home/cvsroot/CVSROOT/

$ htpasswd -c passwd cvsuser

New password:

Re-type new password:

Adding password for user cvsuser

$ cat passwd

cvsuser:R9oDKNeysScdw

$vi passwd

在末尾添加 :cvsroot

作用是映射到cvsroot用户,最终结果如下:

cvsuser:R9oDKNeysScdw:cvsroot

在创建其他用户时,不用带参数


#htpasswd passwd 用户名

New password:

Re-type new password:

要彻底防止使用系统帐号登陆,可以编辑CVSROOT目录下的config文件,把:
#SystemAuth=yes

这一行前面的#去掉,改为如下形式:

SystemAuth=no

CVS就不会验证系统用户了,否则当用户名不在passwd文件中时,CVS会进行系统用户的验证。

2)配置cvs用户的读写权限

使用 CVSROOT目录下的readerswriters文件进行这个工作。这2个文件默认也是没有的,没关系,自己创建就可以了。

readers文件记录 拥有只读权限的用户名,每行一个用户;

writers文件记录拥有读写权限的用户名,也是每行一个用户。

注意, readers文件比writers优先,也就是说出现在readers中的用户将会是只读的,不管writers文件中是否存在该用户。

5.设置开机启动CVS服务

1)检查/etc/services中,cvspserver是否开启。

cvspserver是远程登录CVS服务器时对用户的验证方式。

$cat /etc/services | grep cvspserver

cvspserver 2401/tcp # CVS client/server operations

cvspserver 2401/udp # CVS client/server operations

如果命令输出类似于上面的输出,这说明我的系统已打开该服务。

2)创建cvspserver文件

切换至root用户下:

#su root

cd /etc/xinetd.d/

#vi cvspserver

编辑该文件,内容如下:

service cvspserver

{
disable = no
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = -f --allow-root=/home/cvsroot pserver
log_on_success += USERID
log_on_failure += USERID
}

其中,--allow-root=/home/cvsroot即仓库所在目录。
注意:每行的第一个"="左右两侧要有一个空格。


3)然后更改/etc/xinetd.d/cvs

否则的话,在后面的远程登录本机时会出现下面的问题

“没有该仓库”

[test@liu ~]$ cvs -d :pserver:cvsuser@10.15.5.89:/home/cvsroot login

Logging in to :pserver:cvsuser@10.15.5.89:2401/home/cvsroot

CVS password:

/home/cvsroot: no such repository

[test@liu ~]$

更改方法如下:

disable=yes 改为 disable=noenvserver_args中路径改为你的cvsroot路径,我的是/home/cvsroot

更改后的内容如下

# default: off

# description: The CVS service can record the history of your source \

# files. CVS stores all the versions of a file in a single \

# file in a clever way that only stores the differences \

# between versions.

service cvspserver

{

disable = no

port = 2401

socket_type = stream

protocol = tcp

wait = no

user = root

passenv = PATH

server = /usr/bin/cvs

env = HOME=/home/cvsroot

server_args = -f --allow-root=/home/cvsroot pserver

# bind = 127.0.0.1

}



3)重启xinetd服务,使配置生效


重启xinetd

# /etc/init.d/xinetd restart

停止 xinetd[确定]

启动 xinetd[确定]

确定cvspserver是否启动

#netstat -l | grep cvspserver

tcp 0 0 *:cvspserver *:* LISTEN

4)最后还必须检查防火墙的设置,看2401端口是否打开打开

#/sbin/iptables -L&line;grep cvs



如果看到

ACCEPT tcp -- anywhere anywhere tcp dpt:cvspserver


说明端口已经打开,否则请打开防火墙2401端口 

#/sbin/iptables -A INPUT -i eth0 -p tcp --dport 2401 -j ACCEPT

#/sbin/service iptables save

至此,CVS服务器配置全部完成,下面进行测试。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值