分类: Python/Ruby
2011-10-27 09:29:19
VisualSVN Server 是款集Subversion服务器端、Apache服务器、管理控制台的简易安装包,是目前为止最为简便的一款SVN管理工具。通过友好的管理控制台界面,可以实现创建、导入和删除版本库,配置SVN的安全策略,编辑Subversion钩子等功能。
但是,如果想对SVN进行深入的话,建议自己装一遍Apache+SVN+TortoiseSVN的配置方案,能很好的理解SVN原理。
本文将会对两种安装方法进行一个简要阐述,四、五、十部分是VisualSVN Server+邮件通知的配置方案,而扣除第五部分后则是Apache+svn+TortoiseSVN+邮件通知的解决方案。
二、所需的安装软件
说明:在完成本文时,有些软件已经进行了版本更新。请自己注意更新。
1 基本的安装包
2 其他辅助安装包
●Mod_auth_sspi 1.0.4: mod_auth_sspi-1.0.4-2.2.3-w32.zip
http://www.gknw.net/development/apache/httpd-2.2/win32/modules/
●Active Perl: ActivePerl-5.10.0.1004-MSWin32-x86-287188.msi
●Nmake:nmake15
●Module::Build: Module-Build-0.31.tar.gz
●Authen::SASL: Authen-SASL-2.10.tar.gz
●Net::SMTP_auth: Net-SMTP_auth-0.08.tar.gz
●SVN-Notify:SVN-Notify-2.78
●Apache22Passwd:
●Python2.5:python-2.5.2
三、安装和建立Subversion服务器
1 安装Apache服务器
到Apache官方网站下载Windows的版本,安装的时候,最好选择对针对所有用户并且开放80端口。如果有端口冲突,可以到Apache的安装目录下conf中找到httpd.conf,并且修改Listen 80 为自己所需要的端口。为了方便描述,假设Apache的安装目录为
2 安装SVN服务器
a) 到SVN官方网站上下载针对Windows平台的安装包,本次安装选择msi安装文件,最新的msi版本是1.5.3。下载后,一路”Next”即可。如果下载别的安装包,还需设置环境变量。 安装完成后,在cmd控制台,输入svn help 即可检验是否安装成功。同样,为方便描述,假设SVN安装目录为
b) 把
c) 把
d) 编辑
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
删除最前面的’#’符号。同时把下面两行添加到LoadModule模块的后面
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so
重启Apache HTTP Server 。
四 安装TortoiseSVN客户端=======
到TortoiseSVN官方网站下载与SVN服务器对应版本的安装包,同时下载相应的中文语言包,一路Next即可。安装中文语言包后,打开Setting选项,在Language下选择简体中文,确定即可。
五 VisualSVN Server
a) 安装
到VisualSVN Server的官网上下载最新的安装包,在安装过程中配置版本库和服务器名称及访问字段等。
b) 配置VisualSVN Server的访问属性
可以设置版本库的存放地址,网络访问属性和证书以及权限管理方式。
c) 创建版本库
d) 权限管理
VisualSVN的权限管理也有两种方式,一个是SVN内置的授权和标准的windows系统授权。如果是用SVN内置的授权管理,还需要自己建立用户和用户组。
e) 配置钩子
如果需要配置自动邮件通知,可以利用SVN的“钩子”功能来实现,当然,前提是得配置好一些相关环境,如Perl、SVNnotify等。
f) 配置WEB访问外观
因为VisualSVN Server是基于Apache的,所以,可以自己修改访问外观。在VisualSVN Server的安装目录下,找到conf目录下的httpd.conf文件。修改
DAV svn
SVNListParentPath on
SVNParentPath "F:/SVN"
SVNIndexXSLT "/svnindex.xsl"
SVNPathAuthz short_circuit
AuthName "Subversion Repositories"
AuthType Basic
AuthBasicProvider file
AuthUserFile "F:/SVN/htpasswd"
AuthzSVNAccessFile "F:/SVN/authz"
require valid-user
SVNIndexXSLT "/svnindex.xsl" 就是配置外观的文件。在VisualSVN Server 安装目录下htdocs文件夹中,添加svnidex.xsl和其他相关美化文件,如css和图片等。
其他文章:======================================================================
创建版本库有两种方式,一个是用命令行创建,一个是用TortoiseSVN创建。假设所有版本库都放在D:\SVN目录下,要创建一个repository的版本库,指令为:
Cd D:\SVN
Svnadmin create D:\svn\repository
如果用Tortoise,只需建立D:\SVN\repository文件夹,然后右键TortoiseSVN:create repository here.
七 设定访问版本库的URL路径
建立版本库后,还需要配置它的访问方式,在Apache的支持下,可以用URL直接访问到已经建立的版本库。对应方式有两种,分别是SVNPath 与SVNParentPath。配置访问方式需要编辑
1 SVNPath
SVNPath 适合用来个别指定版本库的路径,语法是:
DAV svn
SVNPath /absolute/path/to/repository
其中“/svn/repos_name”就是用户端存取特定版本库的URL。SVNPath 后面指定的路径则是文件库的绝对路径,假设我们的文件库实际存放的路径是 d:/svn/MyRepository,并且希望用户端使用 "" 的 URL 来存取文件库,那么要加入 httpd.conf 的內容就是:
DAV svn
SVNPath d:/svn/MyRepository
注意 Location 标签后面的 /svn/myrepos 的第一个斜线不可少!
2 SVNParentPath
如果你的文件库都集中放在某个目录之下,例如:d:/svn,那你就可以使用 SVNParentPath 的方式指定文件库的根路径,语法是:
DAV svn
SVNParentPath /absolute/path/to/repository
其中的 SVNParentPath 后面指定的路径是文件库的绝对路径,假设我们的文件库实际存放的路径是 d:/svn,那么要加入 httpd.conf 的内容就是:
DAV svn
SVNParentPath d:/svn
这表示可以让任何人都可以透过 文件库名称> 的方式,存取位于 d:/svn 这个目录以下的所有文件库。也就是说,这个设定动作只需要一次,如果使用 SVNPath,那么你必须为各个文件库分别指定对应的路径。
为方便起见,我们这里用 SVNParentPath 来统一指定所有文件库的父层 URL 路径。将上述的设定加到 Apache HTTP Server 的 httpd.conf 文件尾部就行了。 接下来就可以在 d:/svn 底下建立文件库了。
至此,SVN安装已经基本完成,在浏览器中输入访问地址后,可以看到已经搭建好的SubVersion平台。
八 配置WEB访问外观
在SVN中,提供了自定义Web界面的功能。编辑
…
SVNIndexXSLT "/svnindex.xsl"
…
Svnindex.xsl文件放在