远程webhost上的SVN服务器/存储库?

时间:2011-10-16 22:51:14

标签: php apache svn tortoisesvn

我的愿望非常简单,但又非常复杂。

作为一名编程学生,我被引入了SVN,TortoiseSVN。 我们获得了一个存储库的URL,它看起来像: www.schoolderp.com/svn/project1

这很好,但现在我们想要一些私人项目。 因此,使用TortoiseSVN,我们创建了一个存储库,将其上传到webhost并尝试通过repo-browser查看它。当然,它不可能那么简单..哇!

所以在过去的几天里,我在网上搜索了答案,但我卡住了。

我已经阅读了很多需要Apache的地方,但是当我读到Apache时,它似乎是我需要在我的机器上运行的服务,还是我只是愚蠢?

所以atm我几乎疯了,并且想要做一个非常简单的解释,做一个svn服务器并在我的webhost上运行:/

提前多多感谢..

5 个答案:

答案 0 :(得分:0)

如果要设置svn服务器,则需要root权限。但是,您可以使用其他一些免费的svn托管服务,并且可以像在repo-browser上一样在Web上查看源文件。

http://unfuddle.com/

答案 1 :(得分:0)

您需要一台服务器(虚拟或真实)来运行svn。简单的webhost不提供svn服务器所需的功能。 作为替代方案,有几个svn服务器,您可以在其中拥有自己的私有存储库。

SVN Hoster

答案 2 :(得分:0)

如果您正在运行某些私有服务器,并且无法访问VPS或专用服务器(并且您的教育机构无法帮助您在其某个部门IP地址上进行设置),那么可能只需一个解决方案可能是使用VisualSVN for Windows(假设您正在使用Windows)。有了这个,您可以在您正在使用的PC(或笔记本电脑)上设置存储库,然后使用诸如dyndns(或其他动态名称/ IP映射服务)之类的东西将您的PC /笔记本电脑的IP映射到像ourvn.yourwebsite这样的网站域.COM。通过一些配置,您可以从映射到“当前”IP地址的URL访问您的SVN服务器(即使在便携式笔记本电脑上)。

这可能不是一条简单的路线,但它是一种低成本的DIY路线。

VisualSVN(http://www.visualsvn.com/)相对容易设置。动态IP / URL映射服务可以是免费的或付费的,如果您在VisualSVN中创建用户和存储库,您可以自己控制访问。 (如果这是您认为适合的解决方案,请在右侧下载服务器版本。)

如果做不到这一点,有第三方服务提供商可以为您提供一系列价格的SVN托管服务。

http://beanstalkapp.com/pricing [不是推荐,仅作为示例参考]

http://dyn.com/dns/dyndns-free/ [再次也不是再造,只是一个例子]

答案 3 :(得分:0)

SVN-repo和网站普遍存在弱相关性

  1. Dreamhost在其普通主机包中提供SVN
  2. 您可以使用任何(免费或非免费)SVN托管
  3. 您可以创建区域设置仓库(使用TSVN)并使用file://协议进行访问(仅限本地)
  4. 您可以使用svnserve
  5. 通过svn:// protocol(可联网)创建本地存储并为其供电

答案 4 :(得分:0)

Apache只是托管Subversion存储库的方式之一。 Subversion使用三种协议来提供其存储库:

  • http :(和https:)
  • 文件:
  • 的svn:

最简单的是file:。您所要做的就是在本地计算机上创建一个存储库,并使用file:协议简单地指向它。下载SlikSVN。这是一个命令行驱动的客户端,但它包含可用于创建存储库的svnadmin命令:

C:\repository> svnadmin create myrepos

现在,在TortoisSVN中,指向 http ://www.schoolderp.com/svn/project1,但 file ://C/repository/myrepos。注意使用的不同协议!您应该可以从新创建的myrepos存储库中签出。 (它将为空,因此不会有任何文件或目录,但您可以创建它们并重新检入。

file:协议的问题在于您必须在本地系统上,并且它并不能真正处理多个用户。但是,如果您正在使用TortoiseSVN及其自己的私有项目,那么它的效果非常好。

另一种可能性是使用svnserve使用svn:协议运行存储库。这实际上比http:更快,因为开销更少,但每个服务器实例只能有一个存储库,而使用http,您可以在一个Apache httpd实例上运行多个存储库。

C:\repository> svnadmin create myrepos
C:\repository> notepad myrepos\conf\svnserve.conf
C:\repository> notepad myrepos\conf\passwd
C:\repository> svnserve -r myrepos -d
C:\repository>

myrepos\conf\svnserve.conf文件是存储库的配置文件。您需要更改显示###password-db = passwd的行,以从该行的开头删除###。这会将密码数据库设置为passwd文件。

您需要创建passwd文件。有一个样本可以用作模板。您只需在[users]部分下添加用户名和密码即可。例如:david = swordfish会将用户david的密码设置为swordfish

现在,您可以将TortoiseSVN指向 svn ://localhost并从您的存储库中查看。您的朋友也可以从同一个存储库中签出,用你的机器名替换localhost

因此,您必须创建一个Subversion存储库,但使用svncreate命令很容易。您可以通过file://协议立即访问它,而无需执行任何其他操作。如果您想与其他人共享此存储库,则需要使用svnserve命令来运行SVN服务器,但这也很容易。

我建议您浏览Subversion online manual。前几章将帮助您基本了解Subversion如何工作以及如何使用Subversion svn命令,该命令是您下载和安装的SlikSVN客户端的一部分。服务器基础知识位于Chapter 5,以及有关使用svnserve is in chapter 6的信息。