Subversion是一个自由,开源的版本控制系统。在Subversion的管理下,每一次文件的修改都会被记录在版本库中,可以方便的查看文件的修改历史,修改的一些信息,方便的恢复到修改前
的任意状态。
搭建环境:win XP SP3+ Apache2.2.2 + svn1.7.5
svn官网:http://subversion.apache.org/packages.html
http://subversion.apache.org/docs/ 下载说明文档
根据需要下载对应版本,以win32为例。
1. http://sourceforge.net/projects/win32svn/files/1.7.5/
客户端安装完成后,右键菜单:
首先创建版本库:
将svn的 Subversion\bin所在目录添加到 Path环境变量里面
svnadmin create F:\test
可以直接建立空文件夹,然后右键创建版本库
默认生成的目录结构
在conf更改默认配置
svnserve.conf
anon-access 匿名用户的访问权限
auth-access 认证用户的访问权限
值可以为
write 可读写
read
none 拒绝访问
password-db = passwd 配置用户信息
默认使用当前目录下的passwd文件保存,可以更改为其它路径
authz-db = authz 配置用户权限
默认使用当前目录下的authz文件保存,可以更改为其它路径
realm = My First Repository 版本库标示,默认为UUID
force-username-case = none 是否忽略用户名的大小写 默认为none
use-sasl = true 是否启用Cyrus SASL验证库,默认值是false
min-encryption = 0
# max-encryption = 256
这些选项指定安全层SASL所需的强度
0表示不加密,1表示只检查完整性
值大于1。(例如:128表示128位有效密钥长度
###加密)。
passwd 保存用户信息
admin = admin 账号和密码为admin
开启svn服务,启动后dos框如果关闭,服务就停止。可以写入win 服务
svnserve -d -r F:\test1
浏览版本库,会出现上面认证框。输入配置好的用户如admin,会提示认证失败。
还需要配置authz,添加对应的权限
默认的目录结构
[aliases]
# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[groups] 用户组
manager = admin,test
user = user
[/]
@manager = rw
user = r
*=
@manager表示 manager 用户组下面的所有用户都有读写根目录下文件的权限
user = r 表示 user 用户有只读权限
*= 表示除了上述用户和拥护者外,其它人无任何权限
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
同上,配置目录下面文件的详细权限
svn + Apache 集成
1.
httpd-2.2.22-win32-x86-openssl-0.9.8t.msi 本文下载版本
具体安装请度娘和谷哥
2.
打开Apache的安装目录 Apache2.2\conf\httpd.conf 文件
去掉
LoadModule dav_module modules/mod_dav.so
LoadModule dav_fs_module modules/mod_dav_fs.so
这个两个的#注释
添加下面两个
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
3.
#/cncit
<Location /cncit>
#引用远程访问模块#
DAV svn
# SVNPath项目版本库路径#
SVNPath F:/cncit
</Location>
4.
将 \Subversion\bin目录下 mod_dav_svn.so
Apache2.2\modules 目录下
然后重启Apache 服务器
在浏览器输入对应地址,就可以访问了。
(apache 默认监听端口为Listen 80,但端口可能被占用。修改为适合的端口)
以上配置所以匿名用户都可以访问并任意修改源代码
5.
基于http的认证,使用用户名和密码来验证一个用户。Apache提供了一个 htpasswd 工具来管理一个用户认证文件,这个文件包含用户名和加密后的密码,然后就可以控制用户的访问。htpasswd 可以在