apache+svn整合

1:安装svn客户端, 而且在客户端下,php

能创建仓库,在本身的硬盘上,建一个库linux

利用 file:///D:/xx/yy来管理本身的仓库.apache


2:把svn与apache整合.windows


2.1为何与apache一块儿整合?app

答:由于80端口支持普遍.ide


2.2: 整合步骤svn


在windows,选取与apache相适应的subversion的压缩包,并与apache整合.测试

下载地址:http://sf.net/projects/win32svnui


在linux下,通常是下载源码.net

地址:http://subversion.apache.org/


2.3:具体操做

2.3-1:解压win32svn压缩包,推荐到apache的平级目录,

并重命名为svn


注意: 咱们要作的是把svn 当成apache的一个模块来执行.

和php做为apache来整合,有相似之处.


2.3-2:复制so

把svn/bin中的

mod_authz_svn.so

mod_dav_svn.so

到apache/modules/下面.


2.3-3: 修改配置文件

apache/conf/httpd.conf


把下面这两行前的#号去掉

#LoadModule dav_module modules/mod_dav.so

#LoadModule dav_fs_module modules/mod_dav_fs.so


而后新增2行

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.so



2.3-4: 修改环境变量 ,并重启,使环境变量生效.

在环境变量中的path里,加上 svn/bin的路径.

例; D:\amp\svn\bin


3.1:寻立仓库目录

在X盘,例D:/amp


创建仓库目录, 例: D:/amp/repo


3.2: 创建仓库

在D:/amp/repo 下面创建具体的代码仓库.

如D:/amp/repo/orange


3.3: 修改配置文件,httpd.conf

目的:使apache可以对特定目录转发给svn处理.


具体:在httpd.conf后面加上以下几句话:


<Location /svn>

        DAV svn

        SVNParentPath D:/amp/repo  


        #repo目录是全部仓库的上级目录

</Location>


3.4:测试

经过客户端 签出 http://localost/svn/orange 

便可把仓库签出


=====================权限控制==============

再次httpd.conf


<Location /svn>

        DAV svn

        SVNParentPath D:/amp/repo  

        

        AuthZSVNAccessFile D:/amp/repo/authz

        AuthUserFile D:/amp/repo/passwd

        # 上述两行分别表明用户权限表, 用户密码表.


        Satisfy Any

        Require valid-user


        AuthType Basic

        AuthName "hp5qi"



        #repo目录是全部仓库的上级目录

</Location>



============生成用户密码,及配置用户权限==========

在apache的bin目录下面执行!


htpasswd -c D:/amp/repo/passwd stu 

# -c表明新建立,若是是第2次及之后再次增长用户,不要用-c,不然前面的用户都丢失了.


在authz里写权限规则

例: 在D:/repo/orange, 和apple两个仓库

[orange:/]

stu = r

dev = rw



[apple:/]

stu = rw

dev = r

* = r



如上配置中,即说明

对于orange仓库

stu 只读权限

dev 读写权限


apple 仓库

stu 读写权限

dev 只读

任意用户 读权限

相关文章
相关标签/搜索