| VB 源码 | VC 源码 | ASP源码 | JSP源码 | PHP源码 | CGI源码 | FLASH源码 | 素材模板 | C 源程序 | 站长工具 | 站长教程 |

Linux

数据库
邮件服务
Linux
Win9x/ME
Win2000/NT
WinXP/Server

本类阅读TOP10

·Linux日志管理详解
·创建iptables NAT规则
·使用Linux实现负载均衡
·在局域网中设置Linux时间服务器
·使用Linux建立IP隧道
·漂亮的国产Linux操作系统Open Desktop赏析
·构建Linux局域网
·LINUX系统初始化过程解析
·做个ADSL+Linux软路由器
·Linux下的网关设置

站内搜索

Redhat7.0下CVSserver及webcvs配置

配置CVS server,费了很大的力气才把它搞定,我是菜鸟,希望高手不要那砖头Pai me,我只是不希望其它菜鸟不再费这么大的气力了,其中引用其他作者的文字我用[/c&v]... [c&v/]指出了

我的系统为Redhat 7.0,运行Apache

1.CVS Server配置

RHLinux# mount /mnt/cdrom (如果不好用的话,你可以试一下mount -t iso9669 /dev/cdrom /mnt/cdrom)

RHLinux# cd /mnt/cdrom/Redhat/RPM (不用解释了吧)

RHLinux# rpm -ivh cvs-1.10.8.8.i386.rpm (安装cvs,你可以用rpm -qpl ...看安装的详细信息)

RHLinux# vi /etc/service
(应该有
cvspserver 2401/tcp # cvs client/server operations
cvspserver 2401/udp # cvs client/server operations
这两行)


([/c&v]以下具体的作者我找不到了,所以,我不能写出作者的姓名,sorry
感谢他的辛勤劳动要使cvs正常运行还需要对需要使用cvs的用户进行设置,下面是我在配置cvs使用的方法。首先建立一个用户组cvs,可以使用groupadd或者addgroup命名,也可以直接编辑/etc/group文件添加这个组,然后添加一个用户cvsroot, 然后修改/etc/passwd文件使cvsroot用户的缺省组
是cvs组,而不是cvsroot组。建立/cvsroot目录,然后修改/cvsroot的
属主及属性[c&v/])
RHLinux# groupadd cvs
RHLinux# adduser cvsroot
RHLinux# passwd cvsroot

修改/cvsroot的属主及属性
RHLinux# chown cvsroot.cvs /cvsroot
RHLinux# chmod 755 /cvsroot(原本应该是771,但是我们要配置cvsweb.cgi,下面再谈)。


RHLinux# cd /etc/xinetd.d

RHLinux# vi cvspserver(创建一个新文件,文件名随意,注释为文件内容)
/************************************************
service cvspserver
(service后面的名称一定要和你在/etc/service文件中的cvs服务名称一样,但是我不知道/etc/service文件中的cvs服务名称可以改否,rpm方式安装完后,那两行就在那了-----我是菜鸟嘛:)
{
disable = no
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/bin/cvs
server_args = --allow-root=/home/cvsroot pserver
log_on_failure += USERID
}
************************************************/

RHLinux# cvs -d /home/cvsroot init
(对cvs进行初始化,你会发现/home/cvsroot下多了一个CVSROOT的子目录)

RHLinux# /etc/init.d/xinetd restart (重新启动xinetd)
cvs -d :pserver:cvsroot@host:/home/cvsroot login
(输入cvsroot用户在服务器上的口令,没有出现错误提示就表示成功了.)

(如果cvspserver成功起动后,netstat -l | grep tcp应能看到以下行:
tcp 0 0 *:cvspserver *:* LISTEN)

 

 


2.WinCvs(Windows下客户端的配置):
[/c&v] 启动wincvs在Admin菜单中选择preferences然后在global页中设置CVSROOT,就是:pserver:cvsroot@host:/cvsroot。在认证方式中选择passwd file on the cvs server,
在下面的版本号中选择合适的版本,执行Admin菜单中的login,在提示框输入口令,如果
Output窗口出现以下提示:
*****CVS exited normally with code 0*****就表示我们现在可以在Windows下使用cvs服务了。[c&v/]

 

如何使用wincvs把自己的项目加到cvs中去

1) Make sure that all the source files you want to check into CVS are on one directory (orsubdirectories). This directory (folder) should NOT contain anything else! That is, it should notcontain executables, object files (.o), class files (.class), etc. It should only contain the

source files.

1) 确认你想加入的源文件全部在一个目录下。这个目录仅仅应当包含源文件,不应该有其他任何的可执行体、*.O,*.class....等类型的文件
2) 在wincvs "Modules"窗口中包含你的源文件的目录被选中
3) 在菜单"Create" ->"Import Module"选择目录,把它导入CVS
4) 重命名你的目录
5) 其他相关的内容请看wincvs文档

cvsweb配置

[/c&v]cvsweb是一个perl程序,现在的版本是1.93,记得要用新版,1.8以下有一个小小的漏洞,可以到绿盟查一查。
由于是cgi程序,是以nobody用户执行的,所以/cvsroot的属性要设成775。开始我按章照搬,把属性改成771,结果项目的目录就是不出来,埋葬了半天的青春:(还有记得把/cvsroot/CVSROOT/history的属性改成666。cvsweb.conf里%CVSROOT数组的Configuration设成/cvsroot,就是cvs仓库的路径不要那个长长CVSROOT变量。这些其实在它的说明文档和程序注释里都讲到了,只是这个世界是懒人的世界:)

一切都阳春白雪,可以埋头写程序了?只是cvs还有一个小小的DoS漏洞要跟大家说一下:(
每个cvs的操作过程会以操作用户的身份在/tmp下临时建一个锁定了的目录cvs_servPID,这时如果有人建了大量的同类文件就会使cvs的操作出错,会提示:
cannot change permissions on temporary directory
Operation not permitted
下面是测试的perl程序:
#!/usr/bin/perl
#$min和$max的值根据实际情况修改
$min=400;
$max=4000;
for ($x=$min;$x<=$max;$x++) {
open CVSTMP, ">>/tmp/cvs-serv$x" or die "/tmp/cvs-serv$x: $!";
chmod 0600, "/tmp/cvs-serv$x";
close CVSTMP;
}

解决方法:
使用server.c中的mktemp(3)函数或者其它任何可以产生唯一文件名的方法。在/tmp/目录所在的分区使用空间配额也能解决部分问题。 主要还是扎紧篱笆,莫让别人闯进来,这毕竟是一个local的问题。
[c&v/]

RHLinux# rpm -ivh cvsweb-1.79-3.noarch.rpm(顾不了那么多了,饥不择食嘛)

RHLinux# cp /home/httpd/cvsweb.cgi /var/www/cgi-bin

RHLinux# cd /etc/httpd/conf
RHLinux# vi cvsweb.conf
/************************************************************************
找到%CVSROOT项
更改其子项 'Configuration'=>'/home/cvsroot',
*************************************************************************/
在浏览器中敲入http://RHLinux/cgi-bin/cvsweb.cgi如果出现CVS Repository页面也不要高兴的太早继续进入下一级页面,如果出错,那么RHLinux# rlog (如果shell提示没有这个命令的话,找这个文件rcs-xx.-xx.i386.rpm)

RHLinux# rpm -ivh rcs.........

(OK了吗?没有?那你自己再找找原因吧,我没碰到过这种问题)

(作者:千年纪风)





相关文章
  • 设置不同主机之间互相信任登录
  • 虚拟服务器解决方案
  • 网络流量监控器mrtg全攻略
  • 网站综合实例
  • 用wvdial和ppp轻松上网
  • 用rsync实现网站镜像和备份
  • 改进Web站点性能的五个方面
  • 建立高可扩展的web邮件系统
  • 实现一个网桥式防火墙
  • 完美的RH8+gnome+KDE使用simsun的方案
  • 如何设置串口多用户卡
  • 如何编写用例文档
  • 如何监测内存泄漏
  • 如何用Apache反向代理设置对外的WWW服务器
  • 多层次负载平衡之4
  • 多层次负载平衡之3
  • 多层次负载平衡之2
  • 多层次负载平衡之1
  • 域星型局域网组网指南
  • 囚禁你的精灵(daemon)进程
  • 相关软件


    下载首页关于我们广告服务联系方式常见问题隐私声明法律条款本站声明下载帮助发布软件站点地图谷歌卫星地图