7

尽管我理解这个概念,但我以前从未使用过任何类型的源代码控制。我感到困惑(也许只是不知道)是我能获得什么好处和/或为什么要配置 Subversion 和 Apache?我是否需要使用 Apache 对其进行配置才能通过网络从其他计算机访问我的存储库?请随时提供您认为相关的任何其他详细信息?

我现在的设置是一台笔记本电脑(Windows XP Pro)和一台虚拟机(Windows XP Pro)。在我的虚拟机上,我有 Apache 2.2、MySQL 5 和 PHP 5。这个设置是我主要关心的问题,尽管我很高兴听到偏离我的场景的示例/情况。

4

9 回答 9

7

查看SVNBook 条目:选择服务器配置。它讨论了访问 Subversion 服务器的不同方式的优缺点。

SVN 协议的设置和管理最简单,但可能无法跨企业防火墙工作(但 Apache 可以,通过 HTTP)。

于 2008-10-29T19:58:41.433 回答
3

当需要关闭端口 3690 时,它会很有用。它还允许用户使用浏览器浏览代码,这有利有弊。您不需要 Subversion 客户端即可查看代码,但 Web 浏览器会产生糟糕的存储库浏览器。

设置它并不太棘手。我发现这个页面很有用

但是,如果您只是在本地 VM 环境中使用它,那svnserve对您来说没问题。

于 2008-10-29T19:59:46.813 回答
3

如果您希望在您的存储库上使用 ACL,那么通过 Apache 托管您的 SVN 存储库的优势就会发挥作用。

您可以配置基本身份验证,并在每个目录(或每个文件,如果您觉得需要)的基础上限制权限。例如,您可以将存储库配置为允许访客签出,但任何写入存储库都需要特定的有效用户。

使用 Apache 验证您的用户的结果意味着您不必在 .htpasswd 中定义您的用户。Apache 可以连接到 LDAP、大多数任何类型的 SQL 服务器,甚至可以使用 Kerberos 身份验证。

使用简单化svnserve可能就足够了。但是,无法应用细粒度权限,并且您将无法连接到另一个用户数据库进行身份验证。

但从你的描述来看,以上所有可能都是矫枉过正的。Apache 提供的优势在很大程度上对单个用户来说毫无用处,而且不值得麻烦。

于 2009-02-16T06:32:44.247 回答
2

无需使用 Apache 设置 Subversion。我使用 Subversion 已经很多年了,而且从来没有这样做过(尽管你会这样做是有原因的,主要与身份验证基础设施有关)。由于您在 Windows 世界中,我已经看到强烈推荐使用VisualSVN Server,并且易于设置和使用。

于 2008-10-29T19:54:24.610 回答
2

我认为您遇到的情况是,如果您想使用 WebDAV 协议访问您的 SVN 存储库。在这种情况下,您基本上允许 Apache 作为 SVN 本身的中介来处理文件访问(与存储库没有直接连接)。

我听说这很有效,但有几种选择。查看 SVN Book(查看 Google)作为起点。

于 2008-10-29T19:56:37.053 回答
1

使用 Apache,您可以通过 WebDAV 访问您的存储库,即通过标准端口上的 HTTP,因此您可以在例如可能不允许该svnserve端口的企业防火墙后面访问/发布您的存储库。

于 2008-10-29T19:58:40.263 回答
1

我们在一个小团队(6 人)环境中使用 Subversion,使用 Visual SVN 存储库。最初我们没有 Apache Web 服务器,只有 IIS,但现在我们也运行 Apache,但没有令人信服的理由将 Apache 用于存储库。

于 2008-10-29T20:14:15.553 回答
1

如果您希望与其他人共享您的代码, SVN可以是一个客户端-服务器系统。但是,如果您想单独处理您的代码(即使是在多台计算机上!),您根本不需要任何服务器!

您可以在几乎所有 SVN 客户端和本地 SVN 存储库中使用 file://-protocol 构建。

您的 SVN 存储库也可以通过网络共享工作。但是,当您单独使用此方法时才应使用此方法!

于 2008-10-29T20:17:15.857 回答
0

您不必使用 Apache。有一个自定义服务器 - 可以使用 svnserve.exe 代替。默认情况下它在端口 3690 上运行,但可以在设置--port时使用开关将其设置为不同的端口。

Greg Hewgill 给了你一个链接,它会告诉你要使用哪个版本的 Subversion 服务器,以及不同的用例。它基本上归结为svnserve您是否不需要与任何类型的身份验证集成。如果您需要更复杂的场景,请使用 Apache。

我有一个处理 svnserve 的商业 Windows 控制台。我的个人资料有一个链接可以查看该实用程序。如果您决定使用 Apache,我建议您使用VisualSVN Server

于 2008-10-30T00:15:36.390 回答