我想安装一个安全的 svn 服务器,而不需要使用 tomcat 或任何其他 java 服务器。
这可能吗?
无论如何都不需要网络访问。
如果是,您能否提供简短的逐步答案,因为我对 linux/ubuntu 还很陌生。
答案1
听起来您想避免使用 apache 之类的 Web 服务器。您的另外两个选项是 svnserve 或 SVN-over-SSH。有关更多信息,请参阅 SVN 手册(请参阅底部的链接)。
SVN-over-SSH 对我来说效果很好。您需要在计算机上为每个用户设置一个登录帐户。然后在 URL 中使用“svn+ssh”方案,而不是“http”。
这是一个尝试让它正常工作的示例场景:
- 安装必要的软件
- 在 /tmp 中创建一个 SVN 存储库(仅用于测试)
- 将新的 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 设置证书认证。
更多信息: