使用VisualSVN Server的WebSVN,任何人都可以使用身份验证吗?

ang*_*son 8 php svn websvn visualsvn-server

我在Windows服务器上安装了VisualSVN服务器,为几个存储库提供服务.

由于VisualSVN服务器内置的Web查看器是一个简约的subversion浏览器,我想在我的存储库之上安装WebSVN.

然而,问题是我似乎无法使身份验证工作.理想情况下,我希望我在VisualSVN中指定的当前存储库身份验证与WebSVN一起使用,因此虽然我在WebSVN中看到了所有存储库名称,但如果没有正确的凭据,我实际上无法浏览它们.

通过访问此google查询中最顶层链接的缓存副本,您可以看到我迄今为止发现的看起来很有前景的内容.
(主要的博客页面似乎已被破坏,我所指的最顶层页面的域名是-wizzard.de)

在那里我发现了一些我可以在WebSVN中的一个php文件上添加的php函数.我在那里进行了修改,但我所做的就是让WebSVN向我询问用户名和密码,无论我输入什么,它都不会让我进去.

不幸的是,php和apache对我来说很大程度上是黑魔法.

那么,有没有人成功地将WebSVN与VisualSVN托管的存储库集成在一起?

Ant*_*son 7

我使用VisualSVN服务器进行了WebSVN身份验证,尽管我自己进行了大量的黑客攻击/试错定制.

我是这样做的:

  1. 如果您还没有,请通过下载zip文件并通过在线php手动安装说明手动安装PHP.我将PHP安装到C:\ PHP

  2. 将websvn文件夹解压缩到C:\ Program Files\VisualSVN Server\htdocs \

  3. 完成配置websvn目录的步骤,即将configdist.php重命名为config等.我的存储库位于C:\ SVNRepositories中,因此要配置身份验证文件,我将config.php行设置为:$ config-> useAuthenticationFile( 'C:/ SVNRepositories/AuthZ的'); //全局访问文件

  4. 将以下内容添加到C:\ Program Files\VisualSVN Server\conf\httpd-custom.conf:

# For PHP 5 do something like this:
LoadModule php5_module "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php


# configure the path to php.ini
PHPIniDir "C:/php"

<IfModule dir_module>
   DirectoryIndex index.html index.php 
</IfModule>

<Location /websvn/>
   Options FollowSymLinks
   AuthType Basic
   AuthName "Subversion Repository"
   Require valid-user
   AuthUserFile "C:/SVNRepositories/htpasswd"
   AuthzSVNAccessFile "C:/SVNRepositories/authz"
   SVNListParentPath on
   SVNParentPath "C:/SVNRepositories/"
</Location>

这对我有用,而websvn只会显示那些授权给定用户的目录.请注意,为了使其正常工作,您必须为每个人提供"主级"访问权限,然后禁止对某些用户访问某些子目录.例如,我有一个用户没有主要级别访问权限,但可以访问子级别.不幸的是,这个人在websvn中看不到任何东西,即使他直接链接到filedetails.php获取他有权查看的文件.在我的情况下,这并不是什么大不了的事,因为我不希望他无论如何都要访问websvn,但这是你想知道的.

此外,这会将服务器设置为ssl连接,因此一旦设置完毕,地址将为和https://地址,而不是常规的http://.


Kit*_*oed 3

我正在使用 VisualSVN Server,并且刚刚安装完 Trac。我的目标是获得一个更好的基于 Web 的存储库浏览器,而 Trac 绝对是我见过的 Subversion 中最好的浏览器之一。访问http://www.visualsvn.com/server/trac/安装非常简单。是的,Trac 有一个票务跟踪和一个 wiki 系统,您可能不会寻找这些系统,但是存储库和日志浏览器将其出售给我。

现在,我发现可以通过简单地附加来禁用 Trac 附带的 wiki 和票务跟踪系统

[components]
trac.ticket.* = disabled
trac.wiki.* = disabled
Run Code Online (Sandbox Code Playgroud)

到 trac.ini 配置文件的末尾。这会导致 wiki 的起始页抛出无法找到 wiki 模块的错误,因此您必须通过添加以下内容再次编辑 trac.ini,将 Trac 设置为在启动时使用时间轴(日志视图)或存储库浏览器打开标题下有以下内容[trac]

默认日志时间线

default_handler = TimelineModule
Run Code Online (Sandbox Code Playgroud)

默认为存储库浏览器

default_handler = BrowserModule
Run Code Online (Sandbox Code Playgroud)