1、把Subversion安装目录下bin目录内mod_dav_svn.so文件复制到apache的modual目录。
2、编辑httpd.conf
打开mod_dav.so 和 mod_dav_svn.so模块加载
#islq modify for svn
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
#islq modify end
增加svn的库路径描述,直接指定根目录:(测试项目在E:\svntest\repository)
#islq add for svn
<Location /svn>
DAV svn
SVNParentPath e:/svntest
</Location>
#islq add end
现在Restart Apache2就可以匿名访问svn的数据库了。
直接在浏览器地址栏输入:http://localhost/svn/repository)
提示:
Apache2自带一个生成密码文件的工具:
E:\Apache2\Apache2\bin>htpasswd -cm e:/apache2/data/svn-auth-file islq
New password: ********
Re-type new password: ********
Adding password for user islq
修改httpd.conf中Location /svn部分如下,加入密码认证部分
#islq add for svn
<Location /svn>
DAV svn
SVNParentPath e:/svntest
AuthType Basic
AuthName "Subversion repository"
AuthUserFile e:/apache2/data/svn-auth-file
Require valid-user
</Location>
#islq add end
restart Apache2,再通过HTTP连接就会要求输入密码了
注意:http连接时密码是明文传送的,可以更换成https连接
我的Apache2缺省安装的情况下,没有附带mod_ssl.so模块,暂时不知道怎么弄。
1、把Subversion安装目录下bin目录内mod_dav_svn.so文件复制到apache的modual目录。
2、修改httpd.conf加载模块的相应内容,加载该模块,修改后如下:
#islq modify for svn
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
#islq modify end
3、修改httpd.conf内Location小节的内容,支持目录权限
#islq add for svn
<Location /svn>
DAV svn
SVNParentPath e:/svntest
#our access control policy
AuthzSVNAccessFile e:/apache2/access/file
#try anonymous access first,resort to real
#authentication if necessary.
Satisfy Any
Require valid-user
#how to authenticate a user
AuthType Basic
AuthName "欢迎访问XXXX,请输入密码。"
AuthUserFile e:/apache2/access/svn-auth-file
</Location>
#islq add end
4、建立相应的密码文件和访问权限文件
密码文件建立方法同上,路径要和Location小节中设置相同
建立目录权限设置文件e:/apache2/access/file,直接编辑以下内容:
[/]
* = rw
[repository:/tags]
* =
5、测试效果,
访问http://localhost/svn/repository/
当你访问/tags时,会被拒绝
by islq 2006-3-21