如何在没有 apache 的情况下安装安全的 svn 服务器?

如何在没有 apache 的情况下安装安全的 svn 服务器?

我想安装一个安全的 svn 服务器,而不需要使用 tomcat 或任何其他 java 服务器。

这可能吗?

无论如何都不需要网络访问。

如果是,您能否提供简短的逐步答案,因为我对 linux/ubuntu 还很陌生。

答案1

听起来您想避免使用 apache 之类的 Web 服务器。您的另外两个选项是 svnserve 或 SVN-over-SSH。有关更多信息,请参阅 SVN 手册(请参阅底部的链接)。

SVN-over-SSH 对我来说效果很好。您需要在计算机上为每个用户设置一个登录帐户。然后在 URL 中使用“svn+ssh”方案,而不是“http”。

这是一个尝试让它正常工作的示例场景:

  1. 安装必要的软件
  2. 在 /tmp 中创建一个 SVN 存储库(仅用于测试)
  3. 将新的 repo 签入到同一台服务器上的主目录中

以下是执行该操作的命令,假设您的用户名是“ubuntu”(如在 Live CD 上):

sudo apt-get install subversion openssh-server
svnadmin create /tmp/testrepo
svn co svn+ssh://ubuntu@localhost/tmp/testrepo ~/testrepo

但请阅读以下注意事项:

  • 您应该在更永久的地方创建您的存储库,而不是在 /tmp 中。
  • 要在另一台计算机上检查,请使用服务器的 IP 地址或域名,而不是“localhost”。
  • 要为其他用户创建账户以便以此方式使用 SVN,可以使用“系统设置”中的“用户帐户”控制面板;或者在命令行上使用adduser
  • 如果您在 Live CD 上尝试此操作,您将无法检出 repo,因为默认的“ubuntu”用户没有密码,因此无法通过 SSH 登录。首先使用设置密码,sudo passwd ubuntu然后它就可以正常工作了。

还要注意,svn+ssh 方案似乎会创建多个 SSH 连接,因此它会进行多次身份验证。因此非常方便地在 SVN 客户端中保存您的登录信息,或者为 SSH 设置证书认证。

更多信息:

相关内容