TortoiseSVN服务配置
时间:2010-09-01 来源:Kevin Wang BJ
1. 配置Apache服务器
-
- 安装CollabNetSubversion-server-1.6.12-1.win32.exe
1.) 使用Windwos资源管理器,来到Subversion的安装目录(通常是c:\programfiles\Subversion),找到文件/httpd/mod_dav_svn.so和mod_authz_svn.so,复制这些文件到Apache的模块目录(通常是c:\programfiles\apache group\apache2\modules )。
我安装的是CollabNetSubversion-server,目录为:C:\ProgramFiles\CollabNet\Subversion Server。
2.) 从 Subversion 安装目录将 /bin/libdb*.dll 和 /bin/intl3_svn.dll 复制到 Apache 的 bin 目录。
我拷贝的文件来自两个目录:1. C:\Program Files\CollabNet\Subversion Server\libdb41.dll,2. C:\Program Files\TortoiseSVN\bin\intl3_tsvn.dll。把这两个文件放到了C:\ProgramFiles\CollabNet\Subversion Server\httpd\bin目录下。
3.)使用记事本之类的文本编辑器修改Apache的配置文件(通常是 C:\ProgramFiles\Apache Group\Apache2\conf\httpd.conf),做出如下修改:
(我找到的配置文件位置为C:\Program Files\CollabNet\SubversionServer\httpd\conf\httpd.conf)
去掉以下几行的注释(删除 '#'标记):
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule dav_module modules/mod_dav.so
将以下两行到 LoadModule 节的末尾。
LoadModule dav_svn_modulemodules/mod_dav_svn.so
LoadModule authz_svn_modulemodules/mod_authz_svn.so
- 配置
1.) 在配置文件最下面添加
<Location /svn>
DAV svn
SVNListParentPath on
SVNParentPath D:\SVN
#SVNIndexXSLT "/svnindex.xsl"
AuthType Basic
AuthName "Subversion repositories"
AuthUserFile passwd
#AuthzSVNAccessFile svnaccessfile
Require valid-user
</Location>
2.) 创建passwd文件
创建文件和一个帐号htpasswd -c passwd <username>。
创建帐号htpasswd passwd <username>
3.) 再次重启Apache服务。(我这里将passwd移到C:\Program Files\CollabNet\Subversion Server\httpd\bin这个目录下才工作)
4.)将浏览器指向http://MyServer/svn/MyNewRepository(MyNewRepository是你此前创建的版本库名),如果一切正常,你会被提示输入用户名和密码,然后你会看到版本库的内容。
5.)表 3.1. 设置 Apache 的 httpd.conf
设置 |
解释 |
<Location /svn> |
意思是Subversion版本库的URL是http://MyServer/svn/ |
DAV svn |
告诉Apache是哪个模块响应那个URL的请求-此刻是Subversion模块。 |
SVNListParentPath on |
对于 Subversion 1.3 或者更高版本,这个指示会列出所有 SVNParentPath 中的版本库。 |
SVNParentPath D:\SVN |
告诉Subversion需要查看的版本库位于D:\SVN之下 |
SVNIndexXSLT "/svnindex.xsl" |
使用它可以在用浏览器浏览时更好看。 |
AuthType Basic |
激活基本认证,就是用户名/密码 |
AuthName "Subversion repositories" |
用来说明何时弹出要求用户输入认证信息的认证对话框 |
AuthUserFile passwd |
指定使用的认证密码文件 |
AuthzSVNAccessFile |
位置Subversion版本库的访问控制文件的路径 |
Require valid-user |
指定只有输入了正确的用户/密码的用户可以访问URL |
- 创建版本库(Subversion Repository)
- 日常操作
1. 命令行svnadmin create --fs-type bdb MyNewRepository
或svnadmin create --fs-type fsfs MyNewRepository(推荐)
2. 使用TotoiseSVN创建Repository
3. 版本库布局
a. 分支布局
b. 项目布局
4. 版本库备份
svnadmin hotcopy path/to/repository path/to/backup --clean-logs