原文摘自:http://www.yiibai.com/html/svn/2013/0912280.html
一、SVN安装
Subversion是流行的开放源码的版本控制工具。 因为它是开放源码,它是一个互联网上免费提供。默认情况下,大多数的GNU/Linux发行,所以它可能是你的系统上已经安装了。要检查它是否安装或不使用下面的命令。
1、检查是否已经安装,如果没有安装Subversion客户端,然后命令将报告错误,否则它会显示安装的软件版本。
#svn --version
如果没有安装,则报错如下:
[root@iz2ze6u0apce8jpapxeubpz local]# svn --version
-bash: svn: command not found
2、在Linux系统中搭建svn服务所需要用到的软件叫做subversion,可以通过yum来进行安装,如图
#yum list subversion
如果使用的是GNU/Linux基于RPM,然后使用yum命令进行安装。安装成功后,执行的svn - version命令。
# yum install subversion
如果使用的是基于Debian GNU/Linux的命令进行安装然后用apt
[root@iz2ze6u0apce8jpapxeubpz local]$ sudo apt-get update
[sudo] password for jerry:
[root@iz2ze6u0apce8jpapxeubpz local]$ sudo apt-get install subversion
[root@iz2ze6u0apce8jpapxeubpz local]$ svn --version
svn, version 1.7.14 (r1542130)
compiled Aug 23 2017, 20:43:38
3、安装好软件后创建一个仓库目录
4、查看是否安装成功
#svn --version
二、Apache安装
我们已经看到了如何在GNU/Linux上安装Subversion客户端。让我们来看看如何创建新的存储库,并允许用户访问。
1、我们必须在服务器上安装的Apache 的 httpd模块和svnadmin工具。
# yum install mod_dav_svn subversion
mod_dav_svn 包允许使用HTTP访问到存储库,从Apache httpd 服务器和颠覆包安装svnadmin 工具。
2、Subversion版本读取它的配置从 /etc/httpd/conf.d/subversion.conf 文件.,增加配置后 subversion.conf 文件看起来像这样。
[root@iz2ze6u0apce8jpapxeubpz SVNRepository]# vi /etc/httpd/conf.d/subversion.conf
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
<Location /svn>
DAV svn
SVNParentPath /usr/local/SVNRepository
AuthType Basic
AuthName "Authorization Realm"
AuthUserFile /etc/svn-users
Require valid-user
</Location>
3、让我们创建Subversion用户,并授予他们访问到存储库。 htpasswd的命令是用来创建和更新纯文本文件,用来存储用户HTTP基本身份验证的用户名和密码。 “-c”选项创建密码文件,如密码文件已经存在,它是覆盖。这就是为什么只有第一次使用’-c’选项。 ‘-m’选项启用MD5加密密码。
用户设置
让我们创建用户admin。
[root@iz2ze6u0apce8jpapxeubpz local]# htpasswd -cm /etc/svn-users admin
New password:
Re-type new password:
Adding password for user admin
创建Subversion版本父目录来存储所有的工作(详细配置在 /etc/httpd/conf.d/subversion.conf).
# mkdir /usr/local/SVNRepository
# cd /usr/local/SVNRepository
- 信息库设置
创建项目库名为project。 svnadmin 命令将创建新的存储库,里面存储元数据和其他一些目录。
[root@iz2ze6u0apce8jpapxeubpz SVNRepository]# svnadmin create project
[root@iz2ze6u0apce8jpapxeubpz SVNRepository]# ls -l project
total 24
drwxr-xr-x 2 root root 4096 Oct 27 17:19 conf
drwxr-sr-x 6 root root 4096 Oct 27 17:19 db
-r--r--r-- 1 root root 2 Oct 27 17:19 format
drwxr-xr-x 2 root root 4096 Oct 27 17:19 hooks
drwxr-xr-x 2 root root 4096 Oct 27 17:19 locks
-rw-r--r-- 1 root root 229 Oct 27 17:19 README.txt