8

我在 Windows 服务器上安装了一个VisualSVN服务器,为多个存储库提供服务。

由于 VisualSVN 服务器内置的 web-viewer 是一个简约的颠覆浏览器,我想在我的存储库之上安装WebSVN 。

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

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

在那里,我发现了一些 php 函数,我可以将它们附加到 WebSVN 中的一个 php 文件中。我在那里进行了修改,但我所做的只是让 WebSVN 要求我输入用户名和密码,无论我输入什么,它都不会让我进入。

不幸的是,php 和 apache 对我来说基本上是黑魔法。

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

4

5 回答 5

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 :

# 对于 PHP 5,请执行以下操作:
LoadModule php5_module "c:/php/php5apache2_2.dll"
AddType application/x-httpd-php .php


# 配置php.ini的路径
PHPIniDir "C:/php"

<IfModule 目录模块>
   DirectoryIndex index.html index.php
</IfModule>

<位置/websvn/>
   选项 FollowSymLinks
   AuthType 基本
   AuthName "Subversion 存储库"
   需要有效用户
   AuthUserFile "C:/SVNRepositories/htpasswd"
   AuthzSVNAccessFile "C:/SVNRepositories/authz"
   SVNListParentPath 开启
   SVNParentPath "C:/SVNRepositories/"
</位置>

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

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

于 2009-02-10T22:42:47.037 回答
3

我正在使用 VisualSVN Server,我刚刚完成了 Trac 的安装。我的目标是获得一个更好的基于 Web 的存储库浏览器,Trac 绝对是我见过的 Subversion 最好的浏览器之一。去http://www.visualsvn.com/server/trac/安装真的很简单。是的,Trac 有一个工单跟踪和一个 wiki 系统,您可能不会在寻找它,但存储库和日志浏览器会为我出售它。

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

[components]
trac.ticket.* = disabled
trac.wiki.* = disabled

到 trac.ini 配置文件的末尾。这会导致 wiki 的起始页抛出无法找到 wiki 模块的错误,因此您必须通过再次编辑 trac.ini 添加在[trac]标题下:

默认为日志时间线

default_handler = TimelineModule

默认为存储库浏览器

default_handler = BrowserModule
于 2008-10-24T13:46:52.820 回答
1

如果您正在寻找一种功能比默认浏览器更丰富的基于 Web 的存储库浏览器,并且您使用 VisualSVN Server,则升级到 VisualSVN Server 3.2 或更高版本。

VisualSVN Server 为 Subversion 存储库提供了丰富的 Web 界面。与 WebSVN 不同,VisualSVN Server 的内置 Web 客户端开箱即用,不需要管理员执行任何配置任务。

你可以在这里看到现场演示:http: //demo-server.visualsvn.com/ !/

VisualSVN Server 中的 Subversion Web 用户界面

于 2014-12-09T12:53:20.737 回答
1

我让它与 Windows 身份验证(实际上是 AuthType VisualSVN)一起使用。诀窍是注释掉 svn 身份验证并将其替换为在主配置文件中找到的相同类型的身份验证文本。感谢 Anthony Johnson 制定了所有其他细节。

# For PHP 5 do something like this:
LoadModule php5_module "F:/wamp/bin/php/php5.3.0/php5apache2_2.dll"
AddType application/x-httpd-php .php


# configure the path to php.ini
PHPIniDir "f:/wamp/bin/php/php5.3.0/"

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

#Alias /websvn/ "F:/Program Files/VisualSVN Server/htdocs/websvn-2.3.1/" 

<Location /websvn-2.3.1/>
   Options FollowSymLinks

    AuthName "Subversion Repositories"
    AuthType VisualSVN
    AuthzVisualSVNAccessFile "F:/Repositories/authz-windows"
    AuthnVisualSVNBasic on
    AuthnVisualSVNIntegrated off
    AuthnVisualSVNUPN Off
   Require valid-user


   SVNListParentPath on
   SVNParentPath "f:/Repositories/"
</Location>
于 2010-05-31T03:10:35.210 回答
0

我是你提到的那篇文章的作者。我发布的信息仅适用于在 IIS 上运行的 WebSVN。我的理解是,当您在 Apache 上使用 PHP 时,该软件应该“正常工作”,尽管我从未在那种环境中设置过它。您是否尝试过进行一些“回声”调试(因为没有更好的术语)来查看身份验证失败的确切位置?

于 2008-11-01T22:13:28.253 回答