分享
 
 
 

[翻译]在solaris下安装cvswebclient指南

王朝other·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

安装指南

-------------------------

1) 安装CVS. 你可以在www.cvshome.org找到它。

确认你安装的版本在1.10以上。

1b)首先使用你的cvs命令创建你的cvs仓库 (cvs -d path init)

确认这个仓库目录可以被运行apache http 的daemon进行读写。

实现它的一种方法是让Apache server以cvs组的身份运行(如group1)。

把这个服务器的user ID 加入到这个组来 (例如:nobody)我想cvs会要求你安装RCS

你可以在GUN的镜像网站上找到它。

注意,cvswebread.cgi-script需要对仓库(或者它的拷贝)有访问权,所以

rsh/ssh 或者 pserver 访问还不能工作。

1c) 安装Perl. 你可以在 www.sunfreeware.com 或者 www.activestate.com

你需要安装 Perl5以上版本。

在Win2000下,我使用的是 Perl5.6.0 (build 618),在Solaris 2.7下我使用的是 Perl5.005_03版本.其他的版本也是可以的。

1d) 安装RCS. 你可以在 www.sunfreeware.com 找到它。

你需要使用它使得 'ident', 'rlog' and 'rcsdiff'等命令有效。

我使用的版本是 version 5.7.

1e) 安装 Apache. 你可以在 www.apache.org 找到它。

在Solaris下我使用的是 IBM version 1.3.6.2 在NT下我使用的是Apache 1.3.9.

1f) 安装 GNU's tar package. 你可以在 www.sunfreeware.com 找到它。

1g) 如果你想要使用 CVS-annotate(cvs注释)支持, 确保运行 cvswebread.cgi 的cvs处理过程

(web服务器, 通常以'httpd'或者'nobody'运行) 对CVSROOT/history(如果有这个目录的话)

以及在你的仓库下存放受控文件的其他目录拥有写权限。

. 我认为把httpd-user加入cvs-group组中

(但是,由于安全原因,把'nobody'加入到这个组可能不是个好的注意).确保, cvs-bin目录在你的PATH环境变量中。

注意: cvs 1.10 以上版本支持LockDir选项, 允许你把受控文件移动到其他单独目录,选中这个选项

cvsweb对CVS 仓库目录不需要任何写权限。

2) 将cvs-web解包到你的机器. 文件可以放置在任何一个目录,

例如, 在unix上可以放到/usr/local/cvswebclient/目录,

在winnt上可以放到c:\cvswebclient 目录

在unix上的命令:

cd /usr/local

gzip -d cvswebclient-v2.0.tar.gz

tar xf cvswebclient-v2.0.tar

如果你是用的是GUN tar包,命令如下

cd /usr/local

tar -zxvf cvswebclient-v2.0.tar.gz

在windows下:

使用Winzip, 你可以在 www.winzip.com下载, 或者也可以使用其他可以解开.tar.gz的软件解压。

2b) 这些文件是windows文件. 也就是说, (the files have CRLF rather than just CR.)

之所以这样做的原因之一是对于Windows用户来说Unix用户更容易改变文件类型。

在Unix下, 肢需要输入:

cd cvswebclient

find . -type f -exec dos2unix {} {} \;

3a) 配置http server配置文件, srm.conf 或者, 如果你使用更新版本的apache(>=1.3.9), 更改文件在httpd.conf

最重要的一件事就是标记 /cvs-web 目录为 CGI bin目录

并且告诉服务器,具体的内容可以在你解压的路径中找到(例如Unix下的:/usr/local/cvswebclient). 下面有更详细的介绍.

Additionally:

1) 把cvs-web目录影射到一个网址. 默认的,

.htaccess 文件提供安全保护和指定CGI执行权限. 所有的需要通过web服务器运行的文件需要 .cgi后缀。

2) cvswebadmin 可以通过cvswebclient显示日志,想实现这个功能, 你需要将临时目录 (在

hostname-cvswebconfig.pl文件中指定的目录) 影射为一个网址。

3) 使用ScriptLog标签告诉apache将调试信息输出到哪儿.

这里是操作步骤:

srm.conf (或者 httpd.conf):

# 取消注释或者加入 'AddHandler cgi-script .cgi' 用来允许 .cgi 执行.

AddHandler cgi-script .cgi

# 影射安装目录.

ScriptAlias /cvs-web/ "/usr/local/cvswebclient/cvs-web/"

# or (Win32)

ScriptAlias /cvs-web/ "c:/cvswebclient/cvs-web/"

# Set override Permissions with .htaccess files

# Unix:

<Directory /usr/local/cvswebclient/cvs-web/>

AllowOverride All

</Directory>

# Win32: (actually I didn't need to do this on Windows ?!)

<Directory c:/cvswebclient/cvs-web/>

AllowOverride All

</Directory>

# Map the log files directory, use any URL just as long as it matches

# the in yourshortname-cvswebconfig.pl

Alias /cve/ "/usr/tmp/"

# or (Win32)

Alias /cve/ "c:/temp/"

# ScriptLog for debugging.

# This is not strictly necessary, and in any case should be switched off

# when you are sure that everything works.

ScriptLog /usr/local/cvswebclient/cvs-web/tmp/script.out

# or (Win32)

ScriptLog c:/cvswebclient/cvs-web/temp/script.out

3b) 在windows下你需要让你的机器知道主机名,在httpd.conf文件中的ServerName里指定.

3c) 如果你想要later optimise系统的速度, 有一件事你需要考虑的是使用access.conf 文件代替.htaccess文件(我从来没有担心过此事)

3d) Erik Osthols 对cvswebclient做了一个修改以便作为他的公司的认证系统的插件,这个代码在 cvswebread 文件的结尾,但是没有使用.

4) 拷贝etc/TEMPLATE-FILENAME 文件到 etc/yourshorthostname-FILENAME.

在Unix下, 你的短主机名应该被定义为'basename `hostname`'

例如主机: my.yahoo.com, 使用my-cvswebconfig.pl 作文件名

5a) 修改 etc/yourshorthostname-cvswebconfig.pl 设置

$administrator

$tempdir

$distdir

$installurl

$cvsroot

$cvswebedit_dbg_url

设置你需要浏览的一个仓库(或多个) 的一个CVS-Root(或多个).

如果你的RCS utilities 并没有在cgi执行环境的$PATH环境变量下,你需要在 'Misc' 部分中指定它.

其他的设置基本不用改变.

检查你的etc/yourshorthostname-*.pl 编译完成!

下面的命令可以捡起etc/yourshorthostname-cvswebconfig.pl和 cgi-style.pl

perl cvswebconfig.pl

NB. 当你完成的时候, 变量 $installdir

必须和 httpd.conf文件中的ScriptAlias 标签一致.

5b)另外, 你也许会需要在 $tempdir下建立两个名叫'cvswebcreate' 和'cvsweb_upload'的目录,

使webserver user对这两个目录有写权限:

cd cvswebclient

mkdir temp

mkdir temp/cvswebcreate

mkdir temp/cvsweb_upload

cd temp

chmod a+rwx * .

5c) 把你的用户名和密码放到etc/htpasswd文件中

在Unix下命令:

cd apache/bin

./htpasswd -b /usr/local/cvswebclient/cvs-web/etc/htpasswd username password

将组名放到etc/htgroup文件中, 典型的,每个目录指定一条记录.

原因是将脚本放在不同的目录中,权限比较明显也容易分配. 因该有一个所有目录权限的组; 指定你自己运行的脚本需要写 .htaccess 文件

在Unix下你需要使用Apache's 密码程序生成加密密码. 在windows下,密码以明文的形式保存在/etc/passwd下.

默认的有一个 'test' 用户密码为 'test' 已经被配置.

部署的时候千万不要忘了将这个账号和密码删除!!

5d) 编辑userdb.txt文件. 这里是允许使用cvswebclient的用户名. 格式是 username:full name. 理想的,这个列表应该与etc/htpasswd相关联

, 但是直到我写这个文档时你还是需要自己复制这个信息.

5e) 拷贝在 cvs-web/icons目录下的icons,到你$DocumentRoot并且编辑在cvswebconfig.pl文件里的%ICONS-Hashtable.

这个产品的icons在公共域上部署.

如果你认为默认的icons太大了,使用icons-directory下相应的小图标,cvswebconfig.pl改变里的 %ICONS-Hashtable.

你也按照你的方式可以使用cvs-web/icons 目录

http server并不受影响.

5f) 如果你喜欢你可以在加入一些注释,它将显示在每个目录或者模块名旁边

他们将从 CVSROOT/descriptions文件中读取.

- 捡出一个你的CVSROOT的拷贝

- 编辑 checkoutlist 并且加入这样的一行

descriptions

- 编辑 descriptions. 给每个你需要注释的目录加入一行

你可以在注释中使用html标签

这些行于 $CVSROOT.有关,例如:

JVote/ An application to assist with <A

HREF="IRTChttp://www.irtc.org/">IRTC</A> voting

JVote/images/ Store the images for JVote

JVote/tools/ Scripts to startup JVote

- cvs add descriptions

- cvs commit

- Set $use_descriptions to 1 in cvsweb.conf.

6) 在命令行下运行 etc/write_configs.pl 脚本

它将在cvs-web下的所有目录生成 .htaccess 文件

cd cvswebclient/cvs-web/etc

perl write_configs.pl # Unix

BTW: 我想要用一个.htaccess文件

在树的顶端但是Apache 1.3.1 的语法指南说

我需要使用 <DIRECTORY> 标签, 但是 <DIRECTORY> 标签

却不能被使用在 .htaccess文件, 它只能被用在 access.conf文件. 由于

每个人都有权利写入 access.conf文件,我还是坚持使用多重的 .htaccess 文件, 每个目录下的文件都需要保护.

如果你知道如何使用一个 .htaccess文件去完成这个任务,请告诉我.

这个步骤是使站点安全. 你应该在确认所有一切都正常运行的时候再进行此操作,如果被告知没有访问权限,那么请删除这些文件.

7) [在uinx下] 确认所有.cgi文件拥有执行权限

你可以在/cvs-web根目录下运行以下命令:

find . -name \*.cgi -exec chmod a+rx {} \;

8) 修订 *.cgi 是的第一行 (#!/usr/local/bin/perl -s) 指向你本地的perl位置

在Unix下我倾向于使用一个符号连接从/usr/local/bin/perl到每个Unix的不同perl目录.

如果你需要知道需要更改的所有的位置,运行这个命令:

cd cvs-web

find . -name \*.cgi -exec grep '#!' /dev/null {} \;

And to edit them:

cd cvs-web

vi */*.cgi

9) 确认你已经安装了所有必须的Perl模块 (查看'External

library usage' 下的信息). 你也可以使用cvswebclient自身在cvs-web/lib

目录(以及子目录)下提供的库.

只有在部署时可以有效的一些模块 (Cgilog.pm 和 AuditLog.pm), 会程序需要的在cvs-web/lib 找到

10) 在Unix下, 确认webserver运行的用户(例如 nobody)有一个有效的登陆目录 (在一些文件中,

他被设置在 /non-existent, which indeed is non-existent!).

cvs程序本身(不是 cvswebclient)将会尝试chdir为这个目录党检出一个文件时(虽然文件将会被放置在当前工作目录中)

如果他不是有效的登陆目录,它会提示错误!

11) 在Unix下, the web server对cvs仓库中的文件必须拥有读写访问权限,这个可以通过建立一个组来解决

(例如 cvs) 为仓库文件, 并且把web server用户(例如nobody)在/etc/group文件中加入这个组中

cd CVSROOT

chmod -R a+rwx .

12) 你可以对整个目录作下载操作, 确认你安装了GNU compatible tar 文件, 用来访问

gzip程序, 这一点在yourshorthostname-cvswebconfig.pl明确的被指定了

13) 这个版本应该在win95上正常运行,但是看来我们很少使用它了.

14) 运行apache

cd apache

bin/apachectl start

15) 查看你的cvsweb:

http://localhost/cvs-web/read/cvswebread.cgi

16) 现在返回http://sourceForge.net/projects/cvswebclient

查看错误,任务和补丁等信息.

17) 如果你找到了解决问题的方案, 发信给项目拥有者,以便加入开发组.

测试--请查看测试文档

我安装完以后测试了一下,发现有个问题,就是仓库的文件都看不到,只有目录结构.不知道是哪儿的问题!!!!如果大家谁可以解决请告诉我!!abaw2003@msn.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有