如何安装Subversion服务器


8

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


根据您的需求,使用Bazaar(bzr)之类的分布式SCM可能会更好,它可以从Subversion中学到,但是不需要运行服务器。如果您一个人工作,只需要一些日志和安全网,那就太好了。我只需要提到git,这是目前最强大的工具,恕我直言。
Martin Ueding

sudo apt-get install subversion
AMIC MING

Answers:


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. 现在,创建您的Project-Struckture以导入到存储库中:
    • 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>
  • 为Apache启用dav_svn模块: a2enmod dav_svn
  • 为apache启用authz_svn模块: a2enmod authz_svn
  • 启用VHost配置: a2ensite subversion.conf
  • 现在重新启动Web服务器: /etc/init.d/apache2 restart
  • 创建一个htpasswd: htpasswd -c /var/svn/.htpasswd user
  • 创建存储库的访问控制文件: touch /var/svn/authz
  • 编辑空的authz文件: vim /var/svn/authz
  • 授予用户读/写权限:

[您的存储库:/]

用户= rw

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


1
由于更改太小,我无法进行编辑,但是您能否解决最后一行checkout而不是ceckout
nanofarad 2012年

我找不到此软件包libapache2-svn。错误:#正在读取状态信息...完成E:无法找到软件包libapache2-svn系统:ubuntu 12.04 32bit(启用所有存储库)
shantanu 2012年

2
您还需要启用authz_svn模块,否则将获得Invalid command 'AuthzSVNAccessFile', perhaps misspelled or defined by a module not included in the server configuration。您可以使用命令a2enmod authz_svn来执行此操作。
mrswadge

2

开始阅读手册。我目前正在做同样的事情。

svnadmin create /path/to/repo使用建立资料库后,您可以使用svnserve --root /path/to/repo来建立资料库svn://yourhost/。如有必要,打开TCP端口3690。

可以在HTTP上使用SVN,但是我还没有看过这一部分:o


2

您将需要subversion包装。

sudo apt-get update
sudo apt-get install subversion

该软件包包含客户端,用于创建Subversion存储库的工具和服务器。




0

要安装Subversion,请打开终端并运行以下命令:

sudo apt-get install subversion libapache2-svn

尽管您应该选择一个具有足够空间的位置,但是我们将在/ svn中创建Subversion存储库。

sudo svnadmin create /svn

将此存储库的所有者更改为Apache用户。

sudo chown -R www-data:www-data /svn

创建基本的Subversion存储库以供以后使用(用于Production / QA / Testing / Stating ../ etc ..)

sudo mkdir -p /tmp/myproject/trunk /tmp/myproject/tags /tmp/myproject/branches

将那些目录导入我们的存储库

sudo svn import /tmp/myproject file:///svn -m "initial import"

接下来,我们需要编辑Subversion Webdav模块的配置文件。您可以根据需要使用其他编辑器。

sudo gedit /etc/apache2/mods-enabled/dav_svn.conf

配置文件中的Location元素规定了根目录,在该根目录中可以从以下位置进行颠覆:http : //www.server.com/svn

<Location /svn>

无需注释DAV线即可启用dav模块

# Uncomment this to enable the repository,
DAV svn

SVNPath行应设置为使用svnadmin命令创建存储库的位置。

# Set this to the path to your repository
SVNPath /svn

下一节将允许您打开身份验证。这只是基本身份验证,因此不要认为它非常安全。密码文件将位于AuthUserFile设置将其设置为的位置……最好将其保留为默认值。

# Uncomment the following 3 lines to enable Basic Authentication
AuthType Basic
AuthName “Subversion Repository”
AuthUserFile /etc/apache2/dav_svn.passwd

要在存储库上创建用户使用,请使用以下命令:

sudo htpasswd -cm /etc/apache2/dav_svn.passwd <username>

请注意,仅应在第一次创建用户时使用-c选项。之后,您只想使用-m选项,该选项指定密码的MD5加密,但不重新创建文件。

例:

sudo htpasswd -cm /etc/apache2/dav_svn.passwd geek
New password:
Re-type new password:
Adding password for user geek

通过运行以下命令来重新启动Apache:

sudo /etc/init.d/apache2 restart

谢谢:http : //www.howtogeek.com/howto/ubuntu/install-subversion-with-web-access-on-ubuntu/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.