上午折腾了一下,可以写个详细步骤出来了。 预期目标:
搭建一个apache下的svn服务,服务地址 http://localhost/svn
本地环境:
已经装有xampplite集成环境。 svn的服务目录为D:svnroot 已经安装好了小乌龟(TortoiseSVN)
安装步骤:
1,下载的适用于windows的Subversion,我下载的是Setup-Subversion-1.5.3.msi 这里注意要和apache的版本对应,我是apache2.2的。 双击安装它,这个没说头。 2,从subversion的安装目录Subversionbin下复制相应的文件到apache的modules目录中 有三个,libdb44.dll mod_authz_svn.so mod_dav_svn.so (清风还把Subversionbin下所有的dll文件都复制到了apache的bin下) 3,配置apache的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.sook,下面配置一下svn的路径,用户认证,权限控制:
ok,保存它。 4,创建用户 这个用到的是 apachebinhtpasswd 命令 命令行下,进入到apachebin目录:DAV svn #D:/svnroot 是指定SVN的目录,该代码适合该目录下 仅有1个资源库的情况 #若有多个资源库,则可以直接用SVNParentPath D:/svnroot SVNPath D:/svnroot #限定各个用户或组在版本库中目录的访问权限 AuthzSVNAccessFile D:/xampplite/apache/bin/svn.useraccess Require valid-user #认证的类型 AuthType Basic #认证的名称,显示于登录提示框 AuthName "CommonFuse SVN" #存储用户登录信息的文件 AuthUserFile D:/xampplite/apache/bin/svn.userpasswd Require valid-user
htpasswd -cp svn.userpasswd (username)回车,后要求输入密码和密码确认。这样就创建了一个用户。要继续添加用户可以
htpasswd -mp svn.userpasswd (username)c是创键,m是尾部添加修改,p是明码(不加p是md5加密) 5,创建授权 用uestudio创建无bom的文件svn.useraccess保存到apache/bin目录下
[groups] g_admin = admin g_test = test所有人可以读,管理员可以写 #
[svn:/] @g_admin = rw
- = r
[svn:/机密文件] @g_admin = rw
- =
[svn:/公告文件] @g_admin = rw
- = r
[svn:/测试组] @g_admin = rw @g_test = rw
- =
如果是多个库,则权限文件类似以下
[groups] g_admin = admin g_test = test所有人可以读,管理员可以写 #
[/] @g_admin = rw
- = r
[khn:/] @g_admin = rw
- =
[ci170:/] @g_admin = rw @g_test = rw
- = r
6,在d:svnroot下,用tortoiseSVN创建版本库。 7,重启apache。搞定了。 注意点: 先不要启用权限控制。用tortoiseSVN登录进入以后,创建文件夹后,再启用权限控制。 如果想要把地址改成http://localhost/kisssvn,两步:apache的httpd.conf 里 改为<Location /kisssvn>,再把权限文档里的[svn:/]等改成[kisssvn:/]。ok