下载源码
------------------------------------
可从很多地方下载cvs,也可从官方ftp://ftp.gnu.org/gnu/cvs/下载
1、验证是否已安装CVS
#rpm -q cvs
如果能显示出类似这样的版本信息,证明已安装CVS:
#cvs-1.11.2-10
如果没安装,则安装步骤如下
------------------------------------
# gunzip cvs-1.10.6.tar.gz
# tar xvf cvs-1.10.6.tar
# cd cvs-1.10.6
# ./configure
# make
# make install
2、创建CVS用户组与用户
root用户下执行以下命令:
#groupadd cvs
#adduser cvsroot
#passwd cvsroot
#输入cvsroot用户密码
3、创建CVSROOT
root用户下执行:
#mkdir /var/cvsroot 此处可改为你想要的cvsroot路径
#chown cvsroot.cvs /var/cvsroot 更改cvsroot权限
4、初始化CVS
需要在cvsroot用户下执行
#su - cvsroot
#cvs -d /var/cvsroot init 此处对应上面创建的cvsroot路径
#exit
5、修改环境变量
root用户下执行:
编辑/etc/profile或者/home下相应用户的.profile文件
此处已修改/etc/profile为例:
#vi /etc/profile 编辑/etc/profile文件
在末尾加上以下两句:
CVSROOT=/var/cvsroot
export CVSROOT
更新环境变量:
#/etc/profile
此时系统已经认识$CVSROOT这样的环境变量
6、启动cvs服务器:
在/etc/xinetd.d/目录下创建文件cvspserver,内容如下:
# default: on
# description: The cvs server sessions;

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

其中only_from是用来限制访问的,可以根据实际情况不要或者修改。
修改该文件权限:
# chmod 644 cvspserver
然后重新启动xinetd:
# /etc/rc.d/init.d/xinetd restart
然后察看cvs服务器是否已经运行:
# netstat -lnp|grep 2401
tcp 0 0 0.0.0.0:2401 0.0.0.0:* LISTEN xxxxxx/xinetd
则说明cvs服务器已经运行。
至此,CVS服务器端已配置完成。
7.CVS用户管理
前面创建的cvs用户是cvs仓库管理用户,而为了让用户访问则还需要一个访问用户:
#useradd cvspub
#usermod -G cvs cvspub
#su - cvsroot
在管理员用户(这里是cvsroot用户)的主目录里有一个 CVSROOT 目录,这个目录里有三个配置文件:passwd, readers, writers,第一次应该是手工添加编写:
passwd:cvs用户的用户列表文件
{cvs 用户名}:[加密的口令]:[等效系统用户名]
如:
test1:xxxxxxx:cvspub
test2:xxxxxxx:cvspub
test3:xxxxxxx:cvspub
test4:xxxxxxx:cvspub
#vi /home/cvsroot/passwdgen.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}\n"; #chmod 755 passwdgen.pl //修改文件属性
如果需要密码为:some,则敲入:
passwdgen.pl "some"
回车即可得到加密密码,用其替换passwd文件中的xxxxxx
readers:有 cvs 读权限的用户列表文件,就是一个一维列表。在这个文件中的用户对 cvs 只有读权限。
如:
test1
test2
writers:有 cvs 写权限的用户的列表文件,和 readers 一样,是一个一维列表。在这个文件中的用户对 cvs 有写权限,自动获得读权限.
如:
test3
test4
浙公网安备 33010602011771号