如何安装颠覆服务器

Ben*_*min 8 installation 10.10 users svn

我想在我的 Ubuntu 机器上安装一个 Subversion 服务器。
我需要什么包?如何创建存储库并设置新用户?

小智 10

svn 有很多配置,这里有一些简短的说明,可以通过 http 获取基本的 svn 存储库。

  1. 安装所需的软件包: apt-get install subversion apache2 libapache2-svn
  2. 创建目录结构: mkdir -p /var/svn/repos/
  3. 创建存储库:
    • cd /var/svn/repos/
    • svnadmin create --fs-type fsfs <your-repository>
  4. 现在创建您的项目结构以导入存储库:
    • mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches
  5. 将项目导入存储库:
    • svn import /tmp/myproject file:///var/svn/repos/<your-repository> -m "initial import"
  6. 使其可通过 http 访问:
    • cd /etc/apache2/sites-available
    • touch subversion.conf
    • vim subversion.conf

现在使用此配置编辑空文件:

NameVirtualHost *:80

<VirtualHost *:80>   
  <Location /svn>
      ErrorDocument 404 default
      DAV svn
      SVNParentPath /var/svn/repos
      SVNListParentPath off
      Require valid-user
      AuthType Basic
      AuthName "subversion access"
      AuthUserFile /var/svn/.htpasswd
      AuthzSVNAccessFile /var/svn/authz 
  </Location>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)
  • 为 apache 启用 dav_svn 模块: a2enmod dav_svn
  • 为 apache 启用 authz_svn 模块: a2enmod authz_svn
  • 启用虚拟主机配置: a2ensite subversion.conf
  • 现在重新启动网络服务器: /etc/init.d/apache2 restart
  • 创建一个 htpasswd: htpasswd -c /var/svn/.htpasswd user
  • 为存储库创建访问控制文件: touch /var/svn/authz
  • 编辑空的 authz 文件: vim /var/svn/authz
  • 为用户授予读/写权限:

[您的存储库:/]

用户 = rw

让我们尝试通过 http 签出 repo: svn checkout http://your-server/svn/your-repository

  • 您还需要启用 authz_svn 模块,否则您将收到“无效命令 'AuthzSVNAccessFile',可能拼写错误或由未包含在服务器配置中的模块定义”。您可以使用命令 `a2enmod authz_svn` 来执行此操作。 (2认同)