Apache2.2.8 + svn-1.4.6安装配置实录

Apache2.2.8 + svn-1.4.6安装配置实录

一、准备工作

1.下载apache2.2.8

下载的地方很多,我选择的是天空下载站 http://www.skycn.com/soft/41662.html

2.下载svn-win32-1.4.6.zip :

http://subversion.tigris.org/servlets/ProjectDocumentList?folderID=8100&expandFolder=8100&folderID=8100

注意要选择 Subversion 1.4.6 Win32 binaries for Apache 2.2.x. 这款

二、安装

第一步,安装Apache2.2.8,下载后直接安装就可以了,安装过程唯一要注意的地方80端口不要被占用。

第二步,安装Subversion1.4.6,直接解压缩svn-win32-1.4.6.zip即可使用。

我安装的路径分别是: apache:D:\Apache22 SVN:D:\svn

二、整合

第一步,拷贝 \svn\bin\ 目录下mod_dav_svn.so,mod_authz_svn.so和libdb44.dll,intl3_svn.dll拷贝至\Apache2.2\modules

注意两个dll一定要拷贝过去,开始没有拷贝这两个dll文件,导致apache始终不能加载 mod_dav_svn.so

第二步,打开Apache安装目录下的httpd.conf文件,找到LoadModule dav_module modules/mod_dav.so(83行)

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

第三步,建立SVN版本库根目录 我的根目录:D:\svn\SVNSource

第四步,在这个文件的最后,追加如下语句:

  <Location /svn>

   DAV svn

   #SVNListParentPath on

   SVNParentPath D:\svn\SVNSource

  </Location> 

第五步,创建仓库 进去svn/bin目录 执行 svnadmin create D:\svn\SVNSource\test 命令执行成功之后,会在D:\svn\SVNSource\test下面生成很多的文件和目录。

第六步,测试运行 重新启动Apache Server 在浏览器中输入网址: http://localhost/svn/test/ 这时候,看到页面显示: Revision 0: / Powered by Subversion version 1.4.6 (r19776). 安装成功,接下来将进行权限设置。

三、svn权限设置

第一步,修改上面第四步的内容为:

<Location /svn>

    DAV svn

    #SVNListParentPath on

    SVNParentPath D:\svn\SVNSource



    ### apache auth begin

    # how to authenticate a user

    AuthType Basic

    AuthName "Subversion repository"

    #保存用户名和密码,这个文件需要用Apache的htpasswd工具创建

    AuthUserFile D:\svn\apache_authz

    Require valid-user

    ### apache auth end



    ### svn auth begin

    # our access control policy

    #保存用户访问的权限策略

    #AuthzSVNAccessFile D:\Program Files\svn\svn_authz

    # authentication if necessary

    #Satisfy Any

    ### svn auth end

</Location>

第二步,用htpasswd工具创建apache_authz 文件

进去apache22/bin目录 执行 htpasswd -c D:\scv\apache_authz test

-c 表示创建文件,然后,会提示输入两次密码,以后再加用户就不需要用-c了。

第三步,下面建立控制用户访问权限的文件svn_authz

在D:\svn中新建一个记事本文件,输入下面的内容:

[groups]
g_vip = improve
everyone = @g_vip 
[SVNSource:/]                   //这表示,仓库SVNSource的根目录下的访问权限
@g_vip = rw

[SVNSource:/xc]                //SVNSource仓库下test目录的访问权限
@g_vip = rw                    // 如果在前面加上@符号,则表示这是个群组权限设置

好,配置完成,重新启动Apache server

在浏览器地址栏中再次输入:http://localhost/svn/test/


SVN配置成服务启动

4.1启动的服务与客户端检出的关系:
4.1.1 如果启动的服务指向一个具体的版本库,如红字部分描述:
sc create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r D:/SVN/svntest" displayname= "SVNService" depend= Tcpip start= auto
则客户端检出的地址应为:svn://192.168.0.1/
4.1.2 如果启动的服务指向的是多个版本库的父目录,如红字部分描述:
sc create SVNService binpath= "D:\Subversion\bin\svnserve.exe --service -r D:/SVN" displayname= "SVNService" depend= Tcpip start= auto
则客户端检出的地址应为:svn://192.168.0.1/svntest

其中,sc是windows自带的服务配置程序,参数binPath表示svnserve可执行文件的安装路径,由于路径中的"Program Files"带有空格,因此整个路径需要用双引号引起来。而双引号本身是个特殊字符,需要进行转移,因此在路径前后的两个双引号都需要写成\"

--service参数表示以windows服务的形式运行,--root指明svn repository的位置,service参数与root参数都作为binPath的一部分,因此与svnserve.exe的路径一起被包含在一对双引号当中,而这对双引号不需要进行转义。

displayname表示在windows服务列表中显示的名字, depend =Tcpip 表示svnserve服务的运行需要tcpip服务,start=auto表示开机后自动运行。

若要卸载svn服务,则执行 sc delete svnserve 即可

阅读更多
个人分类: 应用服务器
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭