Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 哪种subversion服务器类型最好?_Linux_Svn - Fatal编程技术网

Linux 哪种subversion服务器类型最好?

Linux 哪种subversion服务器类型最好?,linux,svn,Linux,Svn,Subversion有多种服务器类型: svnserve守护程序 通过xinetd提供SVN服务 ssh上的svn 基于http的服务器 通过文件直接访问:///URL 其中哪一个最适合小型Linux系统(一到两个用户)?我喜欢在Windows中作为服务运行,只需2分钟就可以安装完毕,然后忘记它。 它还附带了客户端工具,但也可以下载tortoise。我一直使用XInetD和HTTP。 HTTP也有WebDAV,所以如果我想的话,我可以在线浏览源代码(或者,如果你想要加密和暗网类型的东西,你可

Subversion有多种服务器类型:

  • svnserve守护程序
  • 通过xinetd提供SVN服务
  • ssh上的svn
  • 基于http的服务器
  • 通过文件直接访问:///URL
其中哪一个最适合小型Linux系统(一到两个用户)?

我喜欢在Windows中作为服务运行,只需2分钟就可以安装完毕,然后忘记它。

它还附带了客户端工具,但也可以下载tortoise。

我一直使用XInetD和HTTP。 HTTP也有WebDAV,所以如果我想的话,我可以在线浏览源代码(或者,如果你想要加密和暗网类型的东西,你可以需要VPN)

这实际上取决于你受到的限制(如果有的话)

它只会在局域网上吗?您需要在局域网外访问吗? 如果是的话,你会有一个VPN吗? 您是否有静态IP地址,是否允许转发端口

如果您不受任何限制,我建议您使用xinetd(如果您安装了xientd,则使用daemon),然后(如果您需要远程访问),如果您需要远程访问,则使用基于http的服务器(如果您不希望发送纯文本un/pw,也可以使用HTTPS加密)

大多数其他的选择都是付出更多的努力而获得更少的收益


这是一个SVN回购协议——如果你不喜欢,你可以随时打包并更换物品。

1个选项肯定是“最糟糕”的:文件访问。不要使用它,而是使用一种基于服务器的方法

然而,使用HTTP还是SVN服务完全取决于偏好。事实上,您可以同时使用这两种方法,回购协议上的写锁确保您在使用一种方法然后再使用另一种方法时不会损坏任何东西

不过,我更喜欢使用apache——http更适合防火墙和internet,也更容易连接到ldap或其他身份验证机制,而且您还可以获得webdav之类的功能。性能可能低于SVN服务,但并不特别明显(通过网络传输数据构成了所有性能问题的主要部分)


如果您需要文件传输的安全性,那么您可以选择svnserve+ssh或apache over https。

如果您打算仅在本地计算机上使用服务器并了解unix权限,那么使用file://URL将是快速、简单和安全的。同样,如果您了解unix权限和ssh,并且需要远程访问它,ssh将非常有用。虽然我看到有人提到它是“最糟糕的”,但我很确定这仅仅是因为需要了解unix权限

如果您不喜欢或不了解unix权限,则需要使用SVN服务或http。我个人可能会选择在xinetd运行它


最后,如果您有防火墙或代理问题,您可能需要考虑使用HTTP。它要复杂得多,而且我认为您不会看到它的好处,所以我会把它放在列表的最后。

我建议使用
http
选项,由于我目前使用的是
svn+ssh
,而且它似乎是可用协议的红头发继子:
svn+ssh
的第三方工具支持始终比
http
的差。Greg Stein是SVN的WebDAV协议的发明者之一,并讨论了权衡问题。我的收获是SVN:更快,但http/webdav实现在几乎所有方面都很好。

我一直负责为我的开发团队管理SVN服务和Apache+SVN,我更喜欢基于http的解决方案,因为它具有灵活性。我对系统管理知之甚少,毕竟我是一个软件人,我喜欢将身份验证和授权交给Apache

两个团队的人数都在10~15人之间,两种方法都同样有效。如果您计划在将来进行任何扩展,您可以考虑基于HTTP的解决方案。它与svnserve一样易于配置,如果您不打算将服务器公开给Internet,那么您也不必太担心Apache的安全性和管理


作为SVN的用户,我更喜欢基于http的与Apache的集成。我喜欢使用web浏览器浏览存储库。

为了便于管理和安全,我们使用svn+ssh处理任何需要提交访问的内容。我们已经为匿名(只读)访问一些开源代码设置了基于HTTP的访问,而且速度要快得多;svn+ssh的问题是,它必须为每个用户启动一个ssh连接和一个全新的svn服务,这可能会在一段时间后变得非常缓慢

因此,我建议:

  • http用于匿名连接
  • svn+ssh如果您需要安全、相对快速和简单的东西(假设您的用户已经设置了ssh,并且您的用户可以访问服务器)
  • https如果您需要更快、更安全的东西,并且不介意管理它的额外开销(或者如果您尚未设置ssh或不想处理Unix权限)

    • http:

      • 非常灵活,易于管理
      • 无网络问题(端口80)
      • 第三方身份验证(如LDAP、Active Directory)
      • Unix+Win本机支持
      • webdav支持在没有svn客户端的情况下进行编辑
      • 慢,因为每个操作都会触发一个新的http操作,速度大约是svn的5-8倍://
      • 在历史上尤其缓慢
      • 不加密传输的数据
      https:

      • 与http相同
      • 传输数据的加密
      svn:

      • 最快转移
      • 标准设置中没有密码加密:管理员可以读取密码
      • 防火墙问题,因为没有使用标准端口
      • 守护进程服务必须启动
      • 没有壁炉