SVN搭建

1. 安装subversion服务器

1.1  下载bitnami-subversion-1.7.1-0-windows-installer.exe,我这里使用集成版。

1.2  安装subversion到D:\subversion

2.配置文件配置

2.1修改http.conf

#LoadModule dav_fs_module modules/mod_dav_fs.so

#LoadModule dav_module modules/mod_dav.so

修改为:

LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule dav_module modules/mod_dav.so

然后在LoadModule节的最后添加以下两行:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

标签内

AuthType Basic

AuthName "svn repos"

AuthUserFile /usr/local/svn/conf/passwd.conf

AuthzSVNAccessFile /usr/local/svn/conf/authz.conf

Satisfy Any

Require valid-user爱度亚麻籽油低温冷榨

 #意味着可以通过像这样的URL(http://MyServer/svn)来访问Subversion版本库
DAV svn  # 告诉Apache哪个模块负责服务像那样的URL--在这里就是Subversion模块
SVNParentPath C:\svn  #告诉Subversion在目录C:\svn下寻找版本库
AuthType Basic  #启用基本的验证,使用用户名/密码验证
AuthName "test"  # test为版本库
AuthUserFile c:\svn\passwd  #passwd问密码和用户文件,用来验证用户的用户名及密码
AuthzSVNAccessFile C:\svn\svnaccessfile  #权限控制文件,限定各个用户或组在版本库中目录的访问权限
Require valid-user  #限定用户只有输入正确的用户名及密码后才能访问这个路径

3.2增加用户

打开cmd,切换目录,然后操作:D:\Subversion\apache2\bin>htpasswd -c c:\svn\passwd admin

3.3记事本打开auth.conf验证文件配置

[groups]  #用户组定义

admin=admin  #定义 admin组中的用户

user=test  #定义user组中的用户


[/]  #根目录权限定义

@admin=rw  #定义admin组内用户权限指定为读写


[/weihui] #根目录下weihui文件夹的权限定义

@admin=rw  #定义admin组内的用户权限指定为读写

@user=r  #定义user组内的用户权限为只读


另一个版本:

#组配置  组 = 用户名

[groups]

@admin = admin

@user = test  #test用户还需要按照上面3.2步骤来创建它和它的密码


# 为所有库指定默认访问规则

# 所有人可以读

[/]

* = r


# 为test版本库制定权限

#admin组拥有读写权限

#user组只有读取权限

[test:/svn/test]

@admin = rw

@user = r

分享一个开发人员比较实用的技术

在版本库下hooks目录下,新建一个post-commit.bat

批处理内容如下:

SET REPOS=%1
 SET USER=%2
 SET DIR="D:\www"
 D:\subversion\subversion\bin\svn.exe update %DIR% --username admin --password admin

第三段的,我相信大伙一下就看懂了,是WEB网站的目录,最关键是第四段,功能是每当SVN服务器上的代码更新了,会直接同步至WEB服务器目录。

本文来源:维惠IT知识堂