Apache2.2.14和SVN1.6.6的整合

Apache2.2.14和SVN1.6.6的整合


1.先安装Apache服务器。自己手动填写ServerInfo。默认端口号是80。

2.再安装SVN服务器,直接安装即可,我用的版本是:
Setup-Subversion-1.6.6.msi。

3.安装TortoiseSVN客户端,安装很简单,只需下一步即可。我用的版本是:
TortoiseSVN-1.5.1.13563-win32-svn-1.5.1.msi

4.用Apache集成SVN服务

1)首先将Subversion安装目录bin下面的两个文件:mod_authz_svn.so
   和mod_dav_svn.so复制到Apache安装目录modules目录下; 再将
   Subversion安装目录bin下面所有.dll文件复制到Apache安装目录bin下。
2)找到Apache安装目录下的httpd.conf文件,打开,找到下面两行代码:
   #LoadModule dav_module modules/mod_dav.so
   #LoadModule dav_fs_module modules/mod_dav_fs.so

   将这两行前面的注释“#”去掉,再在带有LoadModule语句的代码段的最后面添加以下二行代码:
   LoadModule dav_svn_module modules/mod_dav_svn.so
   LoadModule authz_svn_module modules/mod_authz_svn.so
3)建立一个文件夹,我的是在D盘,如D:/svn,进到该文件夹下,在分别建立test和java文件夹,然后分别在这两个文件夹中,点鼠标右键,选种TortoiseSVN菜单下的子菜单Create repository here选项,单击,资源库就建立起来了。 D:\svn为资源库的父目录。
4)接下来我们必须告诉Apache,新创建的资源库路径,可以通过Location标签来完成这个设置。因为不希望为每个单独的项目都进行单独的设置,所以我们把所有项目都存放在统一的资源库中, 那么可以使用SVNParentPath指令来指定存放所有项目的路径。在httpd.conf文件末尾添加下面配置信息:
<Location /svn>
    DAV svn
    SVNListParentPath on
    SVNParentPath "D:/svn"
    #SVNPath "D:/svn/test"
    ######D:/svn为父目录,在它下面有test和java两个目录
    ####################认证的类型
    AuthType Basic
    ####################认证的名称,显示于登录提示框
    AuthName "Subversion 资源库,请登录!"
    ####################Which password file to use for authentication 存储用户登录信息的文件
    AuthUserFile D:\svn\passwd
    ####################限定各个用户或组在版本库中目录的访问权限
    AuthzSVNAccessFile D:\svn\svnaccessfile
    ####################让所有用户对版本库都有读的权限而只有特定的用户才有写的权限
    Require valid-user
</Location>
注意,在这个信息中,D:\盘符D一定要大写,如果是小写的话,有可能在打开浏览器时不会弹出输入用户名,密码窗口。
由于把SVN的服务交给Apache来管理,所以对网络用户进行用户名和密码验证,关于上面AuthUserFile D:\svn\passwd的passwd文件是要进行MD5加密的,有关操作见5);而svnaccessfile是用来设置相应的权限信息,见6)。
5)从cmd命令进入到Apache的bin目录下,执行下列命令,创建用户及密码
说明:创建用户zj
输入:htpasswd –c D:\svn\passwd zj
说明:使用-c参数来创建一个passwd文件
输出:
New password: *****
Re-type new password: *****
Adding password for user zj
再创建用户的时候就不用-c参数,而是用-m参数,因为文件passwd 已经创建。
打开passwd文件,密码使用MD5加密过了,而且同样的密码加密出来的
内容却不相同。
6)然后用文本编辑器创建一个Subversion授权文件,文件名为svnaccessfile,内容如下:
[groups]
admin = john, kate
devteam1 = john, rachel, sally
devteam2 = kate, peter, mark

# 为所有库指定默认访问规则
# 所有人可以读,管理员可以写,危险分子没有任何权限,[/]代表根目录
[/]
* = r
@admin = rw
dangerman =

# 允许开发人员可以完全访问他们的项目版本库
[test:/]
@devteam1 = rw
[java:/]
@devteam2 = rw
7)保存好上面的所有配置文件之后,重启Apache服务,此时就可以在IE里面通过http://localhost/svn/test 和http://localhost/svn/java 来测试用户登录,以及不同用户组权限。

猜你喜欢

转载自devsky.iteye.com/blog/649009