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

我现在的设置是笔记本电脑(Windows  XP专业版)和虚拟机(Windows  XP专业版)。在我的虚拟机上,我有Apache 2.2,MySQL 5和PHP 5.虽然我很高兴听到偏离我的场景的示例/情况,但这个设置是我主要关注的问题。

有帮助吗?

解决方案

没有必要使用Apache设置Subversion。我已经使用Subversion多年了,而且从来没有这样做过(尽管你有理由这么做,主要是与身份验证基础设施有关)。由于您处于Windows世界,我已经看到强烈建议使用 VisualSVN Server ,很容易设置和去。

其他提示

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

SVN协议是最简单的设置和管理方式,但可能不适用于企业防火墙(但Apache会通过HTTP)。

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

设置它并不太棘手。 我发现此页面非常有用

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

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

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

使用Apache对用户进行身份验证的结果意味着您无需在.htpasswd中定义用户。 Apache可以挂钩到LDAP,大多数类型的SQL服务器,甚至可以使用Kerberos身份验证。

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

但是根据你的描述,以上所有可能都是矫枉过正的。 Apache提供的优势对单个用户来说基本无用,并且不值得麻烦。

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

我听说这种方法效果很好,但有几种选择。看一下SVN Book(查看Google)的起点。

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

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

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

您可以将文件:// - protocol build用于几乎所有SVN客户端和本地SVN存储库。

您的SVN存储库也可以在网络共享中运行。但是,如果您单独使用此方法,则应使用此方法

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

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top