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 只讀

任意用戶 讀權限

相關文章
相關標籤/搜索