1

我正在工作中的公共 IP 服务器上构建一个 SVN 存储库,以便包括我自己在内的一些开发人员可以从任何地方访问它,而不仅仅是在办公室。我想知道如何获取 SVN 存储库的 URL,我知道本地存储库是 file:///svn_repos,但我以前从未尝试过这样做。对不起,如果我看起来像个彻头彻尾的白痴。

4

3 回答 3

2

您必须将您的 svn 服务器与在同一个盒子上运行的 apache 连接起来。

这可能会帮助你http://subversion.apache.org/packages.html

于 2013-05-28T13:51:56.763 回答
0

在服务器上下载并安装 Subversion Edge:

http://www.collab.net/downloads/subversion

这将为您提供一个简单的 Web UI 来管理您的服务器和存储库。您的客户将能够通过 http 或 https 访问您的存储库。

于 2013-05-28T14:17:38.227 回答
0

对于 Windows,请按照以下步骤操作:https ://www.inetsolution.com/blog/july-2007/how-to-setup-subversion-apache-websvn-on-windo (从未测试过,但似乎正确)

对于 Linux,您需要 apache、subversion 和 mod_dav_svn(使用 apt-get、yum 或其他方式安装)

  1. 安装阿帕奇
  2. 安装颠覆
  3. 安装 mod_dav_svn

然后你必须配置一切。在 apache 配置中,添加以下内容:

<Location /svn>
  DAV svn
  SVNParentPath /var/www/svnrepo
  AuthType Basic
  AuthName "Subversion repositories"
  AuthUserFile /etc/svn-auth-users
  Require valid-user
  SSLRequireSSL
</Location>

您创建证书:

openssl req -new > YOUR_SERVER.certificate.csr
openssl rsa -in privkey.pem -out YOUR_SERVER.certificate.key
openssl x509 -in YOUR_SERVER.certificate.csr -out YOUR_SERVER.certificate.cert -req -      signkey YOUR_SERVER.certificate.key -days 1024
mv YOUR_SERVER.certificate.cert /etc/pki/tls/certs/
mv YOUR_SERVER.certificate.key /etc/pki/tls/private/
vim /etc/httpd/conf.d/ssl.conf

您创建用户:

htpasswd -cm /etc/svn-auth-users YOUR_USERNAME

你创建和配置你的 svn 服务器:

cd /var/www
mkdir svn
cd svn
svnadmin create YOUR_PROJECT_NAME
chown -R apache.apache YOUR_PROJECT_NAME
chcon -h system_u:object_r:httpd_sys_content_t /var/www/svnrepo/YOUR_PROJECT_NAME
chcon -R -h apache:object_r:httpd_sys_content_t /var/www/svnrepo/YOUR_PROJECT_NAME/*

mkdir -p /var/svn_template/{trunk,branches,tags}
svn import -m 'Initial import' /var/svn_template/ https://localhost/svn/YOUR_PROJECT_NAME/
service httpd restart

我已经在几台 Fedora 服务器上完成了这项工作,而且效果很好。

然后,您可以使用您的 YOUR_USERNAME 帐户(及其密码)在此地址访问您的 svn 服务器: https : // YOUR_SERVER_ADDRESS / svn/YOUR_PROJECT_NAME/

于 2013-05-28T14:30:42.237 回答