设置特定的SVN存储库

时间:2009-06-05 15:32:28

标签: svn apache ubuntu ssh

我想在家里的这台老机器上建立一个SVN存储库,并通过网络提供。这台计算机很老了,所以我想使用Ubuntu Linux。

我浏览了一段时间,寻找某些组合,现在我已经决定了我想要的东西,但是我找不到任何可以实现它的东西,结果我对它们感到非常困惑配置。

我想使用(如果您对此设置有任何建议,请告诉我)

  • Ubuntu 9.04服务器(为了速度,我仍然在寻找一个可以按需启动的轻量级GUI,以防万一;但这不是我的问题主题)

  • Apache 2

  • 保护连接的东西(但不是SSL - 我试过了,我试图吓唬我远离我的服务器 - 也许是OpenSSH,听起来相当不错?我读到svn + ssh://)

我只希望有密码的人能够看到,没有匿名阅读/浏览。我的项目开源的时机尚不成熟。有些人会说本地存储库很好,但我有来自全国各地的合作者需要办理登机手续和办理登机手续。

由于我不想购买域名,他们将不得不打电话/聊天并一直询问IP,但这对我来说没问题。这导致了另一个问题 - 我如何告诉路由器如果有人来这个端口上的IP来调用它以便将他重定向到Apache服务器?我读过DMZ或其他什么,但说实话,我不知道。

所以:

  1. 要安装哪些软件包?
  2. 将什么放入配置文件?
  3. P.S。 - 我想在这台服务器上托管多个存储库 - 与SVNParentPath而不是SVNPath有什么关系?

    感谢愿意提供帮助的任何人!

1 个答案:

答案 0 :(得分:2)

你需要的只是openssh和subversion包。

这样您就可以使用svn+ssh://user@yourdomain.com/full/path/to/repo

使用SSH很棒,因为您也可以获得SSH的所有好处,包括安全性。

您需要使用svnadmin命令创建存储库,然后使用svn + ssh访问它。

因此,如果您决定像这样创建存储库:

svnadmin create --fs-type fsfs /home/user/mynewrepo

然后您可以使用此uri访问您的仓库:

svn+ssh://user@yourdomainorIP.com/home/user/mynewrepo

您的svn客户端必须支持命令行在Linux中执行的svn + ssh,而TortoiseSVN也支持。

您可以为每个用户提供相同的帐户,或为每个开发人员创建个人帐户,并将标准Linux权限应用于存储库,以允许所有用户读取和写入存储库。