作者:wangell
转自:http://blog.youkuaiyun.com/wangell/article/details/6587749
参考文章:http://www.cnblogs.com/witxjp/archive/2010/11/04/1869215.html
参考了它的流程以及一部分的配置。 按照此法搭建http的访问,但是以失败告终。 错误提示: The requested URL /svn was not found on this server。 原因不明,待查证。
接上一章,创建了SVN版本库,现为SVN建议IE浏览的服务。
下载最新的apache服务器,并且成功安装。
1、拷贝subversion安装目录下bin中的 mod_dav_svn.so 和 mod_authz_svn.so 两个文件到apache安装目录下的modules文件夹中;
2、打开apahce安装目录下的conf\httpd.conf;
a、查找 LoadModule dav_module modules/mod_dav.so ,去掉前面的#号;
查找 LoadModule dav_fs_module modules/mod_dav_fs.so ,去掉前面的#号;(经测试,此项不打开也是可以的)
b、在LoadMoudle 配置节的最后添加:
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_mmodule modules/mod_authz_svn.so
c、查找Listen 80,更改默认web端口为8000(或其它未使用端口号)。
3、启动apache服务器(开始 -> 所有程序 -> Apache HTTP Server 2.2 -> Monitor Apache Servers),
启动IE浏览器,输入: http://locallhost:8000/
显示: It works! 说明apache服务器已正常运行。
4、在第三步的httpd.conf中,末尾加入以下内容:
# 指明SVN版本库的URL是 http//{ServerIP}/svn/
<Location E:/svnserver>
# 引用远程访问模块
DAV svn
# 版本库路径
#SVNListParentPath on
#SVNParentPath E:/svnserver
SVNPath E:/svnserver/mycode
Satisfy Any
# 激活基本认证(用户名/密码)
AuthType Basic
# 说明何时弹出要求用户输入认证信息的对话框
AuthName "Subversion repositories"
# 制定使用的认证密码文件
AuthUserFile E:/svnserver/passwd.ini
# SVN版本库访问控制文件的路径
AuthzSVNAccessFile E:/svnserver/authz.ini
# 设置为只有输入了正确的用户/密码才可以访问URL
Require valid-user
</Location>关于以上的说明:版本库路径-指在上一章节创建的一个版本库目录;
passwd.ini 和 authz.ini 为自己创建的人员及权限管理文件,可以自定义名称及路径。
windows下的路径分割默认使用” \ ”,在此请使用" / "。
5、打开控制台(cmd),进入apache安装目录,运行下面的命令:
htpasswd -c E:\svnserver\passwd.ini wangell
然后输入两次密码,创建wangell用户便成功。可以用记事本打开此ini文件,如下:wangell:$apr1$sQWFVMXT$tW8QXhut
账户为wangell,密码采用MD5加密。
当再要添加用户时,重复此操作便可以了。
6、设置访问权限。 按照第4步中的路径E:/svnserver/authz.ini, 创建文件authz.ini,加入以下内容:
# 分组
[group]
# 权限设置
[/]
* = r
wangell = rw
[mycode:/]
* = r
wangell = rw7、正常情况下,IE访问地址: http://yourIP/svn
便能访问svn了。