- 论坛徽章:
- 0
|
先声明一下本文并非原创,偶是参考另外几篇文章,根据自己配置出现的问题稍微作了些改动。
redhat大部分版本都默认安装了cvs,如果未安装,可以到www.cvshome.org下载一个最新的rpm
1.查看是否安装cvs(我的redhat9.0已经装了)
rpm -qa|grep cvs
一般安装在/usr/bin/cvs,
#which cvs可查到
2.建立cvs用户组,便于管理cvs用户
groupadd cvs
3.建立cvsroot用户及其家目录
useradd -g cvs -G cvs -d /home/cvsroot cvsroot(所属组CVS)
passwd cvsroot(建立密码)
4.改变/home/cvsroot的目录属性
chmod 775 /home/cvsroot
5.初始化cvs源代码库,此操作生成目录/home/cvsroot/CVSROOT,其下为一些初始化文件
cvs -d /home/cvsroot init
6.创建可以登陆cvs服务的用户及密码,需要创建文件passwd
vi /home/cvsroot/CVSROOT/passwd
文件内容如下:
tristing:*****:cvsroot
chenwei:*****:cvsroot
chenwei,tristing用户可以登陆cvs服务器,登陆后其权限为用户cvsroot权限
注意:cvs用户和服务器用户是可以不一样的
7.*****为密码,由以下文件生成:
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";
8.如果需要密码为:chenwei,则敲入:
passwdgen.pl "chenwei"
回车即可得到加密密码,用其替换passwd文件中的xxxxxx
9.chown cvsroot:cvs -R /home/cvsroot/CVSROOT
建立时用了root用户,现在把下面的全改成属于cvsroot用户
10.加入cvs服务(我的redhath9.0缺省就有cvs服务,所以不用加)
vi /etc/services
cvspserver 2401/tcp #pserver cvs service
cvspserver 2401/udp #pserver cvs service
11.cvs服务由xinted来唤起(低版本redhat可能是inetd),因此需要改动xinetd提供的服务,所以在xinetd.d目录下添加需要启动的服务:
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=/home/cvsroot pserver
log_on_failure += USERID
}
12.重新启动inetd或者xinetd:
service xinetd restart
14.检查cvspserver服务是否已经启动
netstat -l |grep cvspserver
应该有如下结果:
tcp 0 0 *:cvspserver *:* LISTEN
15.试用:
cvs -d :pserver:chenwei@192.168.16.123:/home/cvsroot(不要误打成/home/cvsroot/) login
敲入命令回车后提示输入chenwei的密码,你按照自己设置的密码输入,如果没有什么错误信息出现就是成功了.
注意:/home/cvsroot误打成/home/cvsroot/会出现no such respository错误
本文只是建立一个源码库,比较简单,希望可以为入门者提供一点帮助
[ 本帖最后由 mike_chen 于 2006-3-1 15:22 编辑 ] |
|