CentOS SVN说明文档

SVN说明文档java

 

1、SVN安装(Apache+Subversion)apache

1、确认系统是否已经安装 app

#yum install subversionide

 

2、安装apachesvn模块svn

         #yum install mod_dav_svnui

 

3、建立subversion版本库,并修改权限this

         # mkdir /var/www/svnspa

         #svnadmin create /var/www/svn/MusicXXrest

         #chown –R apache.apache /var/www/svn/MusicXX orm

 

2、SVN配制

1、设置apachesvn配置文件

         #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

 

#

# Example configuration to enable HTTP access for a directory

# containing Subversion repositories, "/var/www/svn".  Each repository

# must be readable and writable by the 'apache' user.  Note that if

# SELinux is enabled, the repositories must be labelled with a context

# which httpd can write to; this will happen by default for

# directories created in /var/www.  Use "restorecon -R /var/www/svn"

# to label the repositories if upgrading from a previous release.

#

 

#

# To create a new repository "http://localhost/repos/stuff" using

# this configuration, run as root:

#

#   # cd /var/www/svn

#   # svnadmin create stuff

#   # chown -R apache.apache stuff

#

 

<Location /repos>

   DAV svn

   SVNParentPath /var/www/svn

 

# our access control policy

   AuthzSVNAccessFile /var/www/svn/svn_authz

 

#

#   # Limit write permission to list of valid users.

#   <LimitExcept GET PROPFIND OPTIONS REPORT>

#      # Require SSL connection for password protection.

#      # SSLRequireSSL

#

      AuthType Basic

      AuthName "Authorization Realm"

#      AuthUserFile /path/to/passwdfile

      AuthUserFile /var/www/svn/svn_auth_passwd

      Require valid-user

#   </LimitExcept>

</Location>

 

 

其中:

/var/www/svn/svn_auth_passwd为受权用户的密码文件

/var/www/svn/svn_authz为访问控制文件

 

创建受权用户的密码文件(密码MD5)

         #htpasswd –cmb /var/www/svn/svn_auth_passwd 用户名 密码

 

第一次创建文件后,再次添加新用户时,去除命令选项-c 

# htpasswd –mb /var/www/svn/svn_auth_passwd 用户名 密码

 

删除用户,用-D选项

         htpasswd –D /var/www/svn/svn_auth_passwd 用户名

 

svn_authz为访问控制文件,格式以下:

[groups]

flash-developers = ruiwang,honghaiwang,

design-developers = beiyizeng,haibinhao

java-developers = yueboqin,zhaowenzhu,weidonglu

all-r = jindazhang

all-rw = tianhuliu,xiaojunge,xiaojun

 

[/]

@all-r = r

@all-rw = rw

 

[/Design]

@design-developers = rw

 

[/Flash]

@flash-developers = rw

 

[/FunClub]

@java-developers = rw

 

[/Manager]

@java-developers = rw

 

[/PageDesign]

@design-developers = rw

 

[/PersonSite]

@java-developers = rw

 

[/ShoppingMall]

@java-developers = rw

 

[/pmtPro]

@java-developers = rw

 

[/FlashData]

@java-developers = rw

 

[/MusicBox]

@java-developers = rw

 

[/Bonus]

@java-developers = rw

 

 

3、SVN管理

1、权限的管理

#/var/www/svn/svn_authz

   [test:/] //这表示,仓库test的根目录下的访问权限

   wooin = rw //test仓库wooin用户具备读和写权限

   bao = r //test仓库bao用户具备读权限

   [test2:/] //test2仓库根目录下的访问权限

   wooin = r //wooin用户在test2仓库根目录下只有读权限

   bao = //bao用户在 test2仓库根目录下无任何权限

   [/] //这个表示在全部仓库的根目录下

   * = r //这个表示对全部的用户都具备读权限

   #[groups] //这个表示群组设置

   #svn1-developers = wooin, bao //这个表示某群组里的成员

   #svn2-developers = wooin

   #[svn1:/]

   #@svn1-developers = rw //若是在前面加上@符号,则表示这是个群组权限设置