我想在家里的这台老机器上建立一个SVN存储库,并通过网络提供。这台计算机很老了,所以我想使用Ubuntu Linux。
我浏览了一段时间,寻找某些组合,现在我已经决定了我想要的东西,但是我找不到任何可以实现它的东西,结果我对它们感到非常困惑配置。
我想使用(如果您对此设置有任何建议,请告诉我)
Ubuntu 9.04服务器(为了速度,我仍然在寻找一个可以按需启动的轻量级GUI,以防万一;但这不是我的问题主题)
Apache 2
我只希望有密码的人能够看到,没有匿名阅读/浏览。我的项目开源的时机尚不成熟。有些人会说本地存储库很好,但我有来自全国各地的合作者需要办理登机手续和办理登机手续。
由于我不想购买域名,他们将不得不打电话/聊天并一直询问IP,但这对我来说没问题。这导致了另一个问题 - 我如何告诉路由器如果有人来这个端口上的IP来调用它以便将他重定向到Apache服务器?我读过DMZ或其他什么,但说实话,我不知道。
所以:
P.S。 - 我想在这台服务器上托管多个存储库 - 与SVNParentPath而不是SVNPath有什么关系?
感谢愿意提供帮助的任何人!
答案 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权限应用于存储库,以允许所有用户读取和写入存储库。