文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>websvn的安装配置

websvn的安装配置

时间:2010-05-06  来源:yeahilly



1 websvn的安装配置

一、基本配置
1、下载websvn:地址:http://websvn.tigris.org/svn/websvn/tags/
  用户名:guest,密码为空。
 然后用svn  check out最新版本。
2、本文部署的是websvn2.0,假设您的svn、apache、php都已部署好。
3、进入websvn下的include目录,改名:distconfig.php-->config.php
4、编辑config.php,更改如下几项:
  $config->parentPath("/var/svn/repos"); 
#$config->useMultiViews(); //注释掉此行
$config->useEnscript(); 
$config->expandTabsBy(4); 
$config->setInputEncoding("gb2312");  
$config->setOutputEncoding("gb2312");
5、可能还需要编辑wsvn.php(websvn根目录下):
  $locwebsvnreal = ""; 
6、至此,websvn可以使用了。

二、自定义调整格式
如果你觉得版面不舒服,需要调整,或者添加自己的东西,那可以调整如下相关文件:

1、templates/BlueGrey/directory.tmp 目录文件列表格式,将含“<b> [lang:PATH]</b>”的这一行的width=100%改为90%,将含“<b>[lang:LOG]</b& gt;”的行指定宽度width=80。
2、templates/BlueGrey/header.tmpl    页面的页头
3、templates/BlueGrey/index.tmpl     页面的中间内容
4、templates/BlueGrey/footer.tmpl    页面的页尾
5、templates/BlueGrey/.tmpl
注意:对其中中括号[]括起来的部分不要随便调整。

三、权限认证
 用上面配置完之后,svn库就任何人都可以通过websvn进行访问了,要想进行访问限定,需要做如下配置:
 1、编辑config.php文件:
$config->useAuthenticationFile('/var/svn/repos/access');//指向您的svn 权限控制文件
注意:配置完这个后websvn的列表就一个都出不来了。
2、配置apache的httpd.conf文件:

本文来自http://www.scmbbs.com, 完整帖子请看:http://www.scmbbs.com/cn/svntp/2007/11/svntp1.php

©本文归 xuejiang 和本论坛(SCMbbs.com)共同所 有, 任何转载均需注明出处
©如本文侵犯了你的权利,请与管理员联系!




作 者:xuejiang   2007-11-05 09:42
3 回复:websvn的安装 配置

三、权限认证
用上面配置完之后,svn库就任何人都可以通过websvn进行访问了,要想进行访问限定,需要做如下配置:
1、编辑config.php文件:
$config->useAuthenticationFile('/var/svn/repos/access');//指向您的svn 权限控制文件
注意:如果access文件指向错误,配置完这个后websvn的列表就一个都出不来了。
2、配置apache的httpd.conf文件:
   增加一个目录控制节点/wsvn/ 或者 /WebSVN/(根据你的url),写法与svn控制节点基本一样,如:
    <Location /wsvn/>
        AuthType Basic
        AuthName "subversion repository"
        AuthUserFile /home/svn/repos/passwd #svn的用户密码文件。    
        Satisfy All
        Require valid-user
    </Location>
   注意:Satisfy All这个写法,以及要指定AuthUserFile,但不要指定AuthzSVNAccessFile(因为已经在config.php中指定了)。
3、重启apache。访问时就会弹出对话框让你输入用户密码,表明权限已经配置好。配置权限后,对于无权访问的目录,websvn不会列出来。

四、配置multiview
你可能对地址栏的地址很不满意,希望一种更自然的表达方式,能反应svn结构。
则:
1、编辑config.php,去掉下面行的注释:
  $config->useMultiViews(); //去掉注释
2、编辑apache的httpd.conf文件,增加如下节点:
    <Directory "/home/svn/htdocs/index"> #websvn的安装目录
                Options Indexes FollowSymLinks
                Options MultiViews
                AllowOverride None
                Order allow,deny
                Allow from all
        </Directory>
  修改如下行,使之这样:
     DirectoryIndex index.html index.html.var wsvn.php index.php
(即将wsvn.php放到index.php前面,使得系统默认下先运行wsvn.php)
3、重启apache。这时你就可以通过如下url访问了:http://localhost/wsvn/project1/module1 的样子。
本文来自http://www.scmbbs.com , 完整帖子请看:http://www.scmbbs.com/cn/svntp/2007/11/svntp1.php

©本文归作者和本论坛(SCMbbs.com)共同所有, 任何转载均需注明出处
©如本文侵犯了你的权利,请与管理员联系!




作 者:xuejiang   2008-09-22 11:58
4 回复:websvn的安装 配置

五、高亮语法显示(可选):
  如果没有安装语法高亮显示程序,默认下只对php做高亮显示。
  建议安装GNU Enscript高亮显示程序包,官方下载:http://www.iki.fi/~mtr/genscript/
  按默认路径安装好后,请配置:
include/config.php文件,找到$config->setEnscriptPath('/usr/local/highlight /')在此指定你的Enscript安装路径(默认安装在/usr/local/bin/下);并且确保如下语句没有被注释掉:
$config->useEnscript();
修改保存后就生效了。
安装Enscript后可以在websvn中直接浏览各代码文件。如果你想定义某些特殊后缀也用语法高亮显示,则增加一行代码进行指定,如:
$extEnscript['.inc'] = 'php';
这句代码指定了 inc文件为php文件,这样websvn就可以用php的语法对inc文件进行高亮显示了。


  在config.php中还可以自定义显示类型,如:
如果websvn不能识别png为图片文件,则增加如下一行:
$contentType['.png'] = 'image/png';
配置后就可以直接点击查看了。

或者你可以直接在include/setup.php文件相应位置修改。  

六、中文乱码问题解决:
  在websvn中浏览中文目录文件时,可能会遇到乱码问题,乱码可能如下格式:?\229?\138?\159?\232?\131? \189 ?\229?\136?\151?\232?\161?\168
  原因:服务器的svn程序不支持中文,用svn list http://**** 中文文件时,出来的结果是乱码的。websvn并没有对输入做特殊处理,而是直接采用svn list命令运行的结果,如果svn list结果是乱码,那么在websvn中显示出来的也是乱码。
  解决:最根本解决办法是配置服务器,使得svn程序支持乱码。如果无法实现,则可以修改websvn的如下程序进行特殊处理:
  分析这些字符的特点,发现都小于255,显然是十进制表示的utf-8编码。但我们urlencode出来的utf-8是十六进制的,因此需 要将其转换为16进制,在用urldecode函数进行逆转就可以了。
  修改websvn/include/svnlook.php文件,找到funtions dirContents($path, $rev = 0)函数,
发现其是在约372行的$output = runCommand(***)这一句运行了svn list命令,并在下一行对结果$output做了简单处理:
  foreach($output as $entry)
  {
     //解决中文乱码问题,判断是否包含了2个“?\”字符,是则将它转化为%,并由10进制转化为16进制,在urldecode。
         if(substr_count($entry,'?\\')>1)
         {
            $pattern = '/\?\\\(\d{3})/i';
        preg_match_all($pattern,$entry,$out);
        foreach($out[0] as $key =>$bitde)
          {
           $hexbit=dechex($out[1][$key]);
           $entry=str_replace($bitde,'%'.$hexbit,$entry);
           }
             $entry = urldecode($entry);
        }
     if ($entry != "")
            $tree[] = $entry;
}
增加了这几行后,中文就能正常显示了。
本文来自 http://www.scmbbs.com , 完整帖子请看:http://www.scmbbs.com/cn/svntp/2007/11/svntp1.php

©本文归作者和本论坛(SCMbbs.com)共同所有, 任何转载均需注明出处
©如本文侵犯了你的权利,请与管理员联系!




作 者:xuejiang   2009-03-26 18:03
5 回复:websvn的安装 配置

错误信息如下:
Fatal Error[8] Array to string conversion (@line 261 in file E:\web\svnmanager\svnmanager\RepositoryModule\UserPrivilegesEditPage.php).
Debug Backtrace#1  -- pradoErrorHandler(...)#2 UserPrivilegesEditPage.php:261 -- substr_count(...)#3 TControl.php:419 -- UserPrivilegesEditPage->onLoad(...)#4 TPage.php:1079 -- TControl->onLoadRecursive(...)#5 TPage.php:955 -- TPage->onLoadRecursive(...)#6 TApplication.php:483 -- TPage->execute()#7 index.php:5 -- TApplication->run()
本篇文章来源于PHP论坛原文链接:http://bbs.php.cn/viewthread.php?tid=28465&extra=page%3D1&frombbs=1
相关阅读 更多 +
排行榜 更多 +
我是班长去广告版下载

我是班长去广告版下载

模拟经营 下载
什么鸭小游戏安卓版下载

什么鸭小游戏安卓版下载

策略塔防 下载
极光影院官方最新版本2025下载

极光影院官方最新版本2025下载

趣味娱乐 下载