本节向大家讲解一下通过http访问svn服务器的具体配置方法,有具体的步骤介绍以及配置过程中出现的问题如何解决等内容介绍。下面我们一起来看一下具体内容。
今天配置Apache+SVN实现通过http方式来访问svn服务器。经过在网上搜索“svnhttp”,得出这篇介绍还有这篇是比较全面的。于是按照上面的步骤一步步进行:
1、打开Apache的配置文件,将dav、dav_svn模块加载进去。
2、配置文件加入svn的location节点:<Loacation/svn>...</svn>
3、配置svn仓库路径、权限。
4、保存,重启Apache服务器。
5、在浏览器输入:http://localhost/svn,期待着页面中SVN几个字符的出现......
通过http访问svn服务器的配置时可能会出现一些问题,比如由于我在svn的Loacation节点设置了用户认证AuthUserFile,并且必须通过验证后才能访问,所以这时候弹出来个登录对话框,这也正常不过了。但是我多次输入“正确的”用户名和密码,总是提示输入验证信息不正确,连续错误三次后,直接跳转到错误页面了:AuthorizationRequired
Thisservercouldnotverifythatyouareauthorizedtoaccessthedocumentrequested.Eitheryousuppliedthewrongcredentials(e.g.,badpassword),oryourbrowserdoesn'tunderstandhowtosupplythecredentialsrequired.
这是怎么回事呢?我明明在svn仓库目录下conf的passwd加入了用户名和密码设置了!又尝试了几次,发现还是如此。然后我用htpasswd命令给passwd添加了用户密码,发现能正常访问了!但是通过svn://就不行了!这是怎么回事呢?后来打开passwd文件前后对比了一下,svn仓库目录下的是未做任何处理的原始字符串,而后者却做了加密处理......都怪我没有留意,经过思考后,发现应该是这样才对:
通过http访问的账号是Apachehttp验证的。
通过svn://访问的账号是svn仓库conf目录下passwd指定的。两个是独立的认证方式。
于是按图索骥赶紧生成Apachehttp授权文件。产生方式:
在命令行模式下,进入到...\apache\apache2\conf\目录下,运行下面的命令:
bin\htpasswd-mcpasswd<username>#提示输入用户密码
***在Apache配置文件svn的location段中指定AuthUserFile的文件为刚才生成的授权文件。然后打开浏览器输入url->弹出登陆框->输入用户名密码,嘿,可以正常通过http访问svn服务器了。
【编辑推荐】
- 深入剖析opensuse10.3上如何搭建SVN服务器
- Windows下搭建SVN服务器简明步骤
- 深度剖析:Subversion服务器安装配置
- 专家指导:如何安装独立SubversionServer服务器
- 重点剖析:Subversion1.4.6+Apache2.2.8服务器如何搭建