haloi 发表于 2018-5-15 12:01:22

debian 下边安装subversion

实践出真知!!

Debian 下安装Subversion服务器
  Subversion是新一代的开源版本控制系统,用以取代CVS。有关Subversion最详尽的资料就是官方的Subversion Book了。它是由开源社区编写的自由图书,已通过O'Reilly Media出版。下面简单介绍一下Subversion在Debian下的安装和配置过程。


[*]  安装:


debian:~# apt-get install subversion subversion-tools
[*]  创建一个新的储存库:


debian:~# svnadmin create /data/svn

  在/data/svn目录创建一个新的空储存库,数据储存方式默认采用Berkeley DB。

[*]  下面介绍与Apache组合通过WebDAV方式访问Subversion库的方式:

[*]  首先要安装好Apache2,并安装好提供WebDAV访问和svn访问的的mod_dav模块和mod_dav_svn模块:


debian:~# apt-get install apache2 libapache2-svn
[*]  配置文件位于/etc/apache2/mods-enabled/目录下,配置文件共有两个,分别是dav_svn.conf和dav_svn.load,dav_svn.load文件负责装载必要的模块,内容如下:


# Load mod_dav_svn when apache starts
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so


<Location /svn>                                 #设置访问路径
# Uncomment this to enable the repository,
DAV svn                                    #启用
# Set this to the path to your repository
SVNPath /data/subversion                     #设置储存库路径,仅支持单个储存库,该路径要可被Apache进程访问。
#SVNParentPath /data/subversion               #如果subversion下有多个储存库,则用SVNParentPath
# The following allows for basic http authentication.Basic authentication
# should not be considered secure for any particularly rigorous definition of
# secure.
# to create a passwd file                     #按下面的步骤创建Apache用户验证文件
# # rm -f /etc/apache2/dav_svn.passwd
# # htpasswd2 -c /etc/apache2/dav_svn.passwd dwhedon
# New password:
# Re-type new password:
# Adding password for user dwhedon
# #
# Uncomment the following 3 lines to enable Basic Authentication
AuthType Basic                               #启用Apache基础验证
AuthName &quot;Subversion Repository&quot;             #设置验证框标题
AuthUserFile /etc/apache2/dav_svn.passwd   #指定验证用户文件名
# Uncomment the following line to enable Authz Authentication
AuthzSVNAccessFile /etc/apache2/dav_svn.authz#启用目录级别授权,dav_svn.authz是授权配置文档
# The following three lines allow anonymous read, but make
# committers authenticate themselves.
#<LimitExcept GET PROPFIND OPTIONS REPORT>    #允许匿名访问,不允许Commit,不能与AuthzSVNAccessFile同时使用
Require valid-user                        
#</LimitExcept>
</Location>

  修改/data/subversion目录访问权限使它可被Apache进程访问,我的Apache是用www-data启动的,所以设置方法如下:


debian:~# chown -R www-data.www-data /data/subversion

  通过Apache的用户验证功能可以区别匿名用户和验证用户,从而赋予匿名用户读权限和验证用户读/写的权限。这些权限只能在全局范围 内设置,不能设置具体的某个目录是否能被某个用户操作。要实现目录级别的授权,就要使用mod_authz_svn.so模块提供的 AuthzSVNAccessFile指令。它会指定一个授权文档,该授权文档设置具体的目录权限。根据上面的配置,授权文档名叫 dav_svn.authz,它的内容如下:


            #定义组
admin=jims,ringkee
tests=tester1,tester2
            #定义erp储存库根目录的访问权限
@admin=rw            #admin组有读写权限
tests=r            #test用户只有读权限
         #定义oa储存库下test目录的访问权限
*=                   #禁止所有用户访问,星号代表所有用户,权限为空代表没有任何权限
ringkee=rw         #打开ringkee用户的读写权限

  
<Location /svn>
      DAV svn
      SVNParentPath /opt/tisEE-4.1.1/svn/
      AuthType Basic
      AuthName &quot;Subversion&quot;
      AuthUserFile /opt/tisEE-4.1.1/svn/passwd
      Require valid-user
</Location>
在0.2 上 的svn 下边多生成了几个www,repository 啊, 如果有多个就设置成这个..
  用
页: [1]
查看完整版本: debian 下边安装subversion