【转】CVS pserver服务器配置(RH9)

来源:互联网 发布:javascript !== 编辑:程序博客网 时间:2024/05/01 12:04
 
1.       安装cvs包。
rpm -ivh /mnt/cdrom/RedHat/RPMS/cvs-1.11.2-10.i386.rpm
2.       检查/etc/service中是存在含下面两行内容,如果不存在,则加入进去。
cvspserver      2401/tcp                        # CVS client/server operations
cvspserver      2401/udp                        # CVS client/server operations
3.       创建一个目录作为cvsserver的根目录。
mkdir -p /cvs/cvsroot
4.       编辑文件/etc/xinetd.d/cvspserver,其内容如下:
service cvspserver
{
        disable = no
        flags = REUSE
        socket_type = stream
        wait = no
        user = root
        server = /usr/bin/cvs
        server_args = -f --allow-root=/cvs/cvsroot pserver
        log_on_failure += USERID
}
注:
a)       这里-allow-root参数的值应该和前面创建的cvsserver的根目录一致。否则后面login时会出现: no such repository的错误。
b)       flags的标志是用于setsockopt设置socket的一些属性,这里的REUSE表示socket关闭后可以立即重用,而不用等到超时后才能重用。
5.       重新起动xinetd服务:
service xinetd restart
6.       测试cvs 服务器是否正常起动了:
telnet localhost cvspserver
若连接成功,则表明正常起动了。
7.       初始化cvs 服务器。
cvs -d /cvs/cvsroot/ init
8.       进入cvs根目录,接下来做些基本设置,后面的步骤都在该目录中进行的。
cd /cvs/cvsroot/CVSROOT/
9.       创建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";
10.    在系统中建立一个cvs用用户组。
groupadd cvs
11.    在系统中增加一个用户:
useradd -g cvs -G cvs cvsroot
 
并用passwd修改初始密码。
12.    创建一个名为passwd的文件,它是cvs用来作为登录验证用的,其格式如下:
cvs用户名:密码:对应系统中的用户名
密码是用前面创建的passwdgen.pl加密过的。如:
cvsroot:oBEprU5CtgrpU:cvsroot
jim:oBEprU5CtgrpU:cvsroot
mike:oBEprU5CtgrpU:cvsroot
这里有三个cvs用户: cvsroot、jim和mike,都对应于系统用户cvsroot。
 
13.    创建一个文件readers,可以在里面列出只读用户。如:
mike
14.    创建一个文件writers,可以在里面列出读写用户。如:
jim
15.    修改cvs根目录的所有者和权限。
chown cvsroot.cvs /cvs/cvsroot/ -R
chown 775 /cvs/cvsroot/ -R
16.    设置CVSROOT环境变量,登录cvs作为操作。
export CVSROOT=:pserver:jim@localhost:/cvs/cvsroot
cvs login
(输入jim的密码)
 
17.     OK了,我们import一个项目测试一下:
cd /root/lab/gui/glib-2.8.0
cvs import -m "for test purpose only" glib init start
原创粉丝点击