日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

SVN--subversion的五种访问方式

發(fā)布時(shí)間:2023/12/19 综合教程 47 生活家
生活随笔 收集整理的這篇文章主要介紹了 SVN--subversion的五种访问方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

SVN的訪問方式

Subversion 文件倉庫可以通過許多不同的方式進(jìn)行訪問(Check Out,簽出)——通過本地硬盤,或者通過各種網(wǎng)絡(luò)協(xié)議。無論如何,文件倉庫的位置總是使用 URL 來表示。下表顯示了不同的 URL 模式對(duì)應(yīng)的訪問方法:

模式 訪問方法
file:/// 直接訪問本地硬盤上文件倉庫
http:// 通過 WebDAV 協(xié)議訪問支持 Subversion 的 Apache 2 Web 服務(wù)器
https:// 類似 http://,支持 SSL 加密
svn:// 通過自帶協(xié)議訪問 svnserve 服務(wù)器
svn+ssh:// 類似 svn://,支持通過 SSH 通道

這里只介紹http://的多庫訪問,因?yàn)楹苡写硇裕呀?jīng)包含所有的基本配置了,特此記錄日志。

實(shí)現(xiàn)功能:

MD5加密(使用apache的htpasswd的-m加密)

http://訪問 (apache的mod_dav_svn.so 和mod_authz_svn.so)

多版本庫共存 和易于管理的獨(dú)立配置文件(subversion.conf)

庫文件內(nèi)的任意一個(gè)文件的權(quán)限操作(這是單svn://無法達(dá)到的)

不需要開放多余端口

---------------------------------------------------安裝-----------------------------------------------------

yum install subversion httpd mod_dav_svn    

#只需要以上的三個(gè),配置源,下載最新的。這里的apache可以因人而異自行修改,主要文件還是Apache的mod_dav_svn模塊的支持

--------------------------------------------------配置----------------------------------------------------

首先說明庫的根目錄是/home/svn,在根目錄下會(huì)創(chuàng)建多個(gè)庫

#第一個(gè)庫:

mkdir /home/svn/datesvn

svnadmin create /home/svn/datesvn

#第二個(gè)庫:

mkdir /home/svn/datesvn1

svnadmin create /home/svn/datesvn1

#這里為了統(tǒng)一管理,所有的配置在第一個(gè)庫datesvn里配置,然后通過apache來指向配置文件位置,就不用寫兩份配置文件了

vi /home/svn/datesvn/authz

[groups]        #通過分配群組來實(shí)現(xiàn)目錄訪問權(quán)限
admin = ch
docs = test2

#datesvn的庫
[datesvn:/]
ch = rw        

[datesvn:/Test]    #這里是datesvn庫里邊的Test文件夾的權(quán)限
@docs = r # @指的是代表群組docs所有成員,上邊的是獨(dú)立一個(gè)成員ch

#datesvn1的庫

[datesvn1:/]        # 這里[/] [datesvn:/] [datesvn1:/]其實(shí)分別意思為,/home/svn,/home/svn/datesvn/,/home/svn/datesvn,當(dāng)然這里是不推薦放出[/]目錄的
@docs = rw

#權(quán)限有r,w,rw,還有none,最好不要做出* =r或者* = rw等的事情。如果你配過防火墻,那么應(yīng)該知道原則是先封閉,后開放。那么為了更加安全,默認(rèn)subserve是只有寫在配置文件的目錄才能被訪問,沒有寫上去的不能被訪問。也就是說,默認(rèn)不寫東西是無法被訪問的,也就是封閉的,那么再寫下目錄和權(quán)限,這樣的話就不會(huì)有沖突的訪問規(guī)則。例如根目錄下你的默認(rèn)訪問權(quán)限是r,也就是* = r,那么你認(rèn)為就算你后來設(shè)置w的時(shí)候不會(huì)有問題嗎?我反正是無論如何都是寫不進(jìn)的,只要有* =r。有人這么寫過,不過我想不通他這么寫的原因,或許就是個(gè)可讀庫吧

vi /etc/httpd/conf.d/subversion.conf

<Location />
DAV svn
SVNParentPath /home/svn/                #這里是設(shè)置根目錄,也就是所有庫文件的根目錄例如/home/svn/datesvn和/home/svn/datesvn1的根目錄就是/home/svn
# SVNPath /home/svn/datesvn              #這里是設(shè)置單個(gè)庫的目錄,如果只有一個(gè)庫,可以用這個(gè)

# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL                    

AuthType Basic
AuthName "驗(yàn)證信息"                    #svn連接時(shí)的提示信息,可手動(dòng)修改
AuthzSVNAccessFile /home/svn/datesvn/conf/authz    #文件訪問的權(quán)限配置文件,需要制定文件,官網(wǎng)說明沒有這項(xiàng),需要自己補(bǔ)上
AuthUserFile /home/svn/datesvn/conf/passwd        #指定密碼文件
Require valid-user                      #只有認(rèn)證用戶才可以訪問,類似防火墻的拒絕
# </LimitExcept>
</Location>

/*

如果你樂意,也可以這樣做

<Location /datesvn>
DAV svn
#SVNParentPath /home/svn/                #這里是設(shè)置根目錄,也就是所有庫文件的根目錄例如/home/svn/datesvn和/home/svn/datesvn1的根目錄就是/home/svn
SVNPath /home/svn/datesvn              #這里是設(shè)置單個(gè)庫的目錄,如果只有一個(gè)庫,可以用這個(gè)

# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL                    

AuthType Basic
AuthName "驗(yàn)證信息"                    #svn連接時(shí)的提示信息,可手動(dòng)修改
AuthzSVNAccessFile /home/svn/datesvn/conf/authz    #文件訪問的權(quán)限配置文件,需要制定文件,官網(wǎng)說明沒有這項(xiàng),需要自己補(bǔ)上
AuthUserFile /home/svn/datesvn/conf/passwd        #指定密碼文件
Require valid-user                      #只有認(rèn)證用戶才可以訪問,類似防火墻的拒絕
# </LimitExcept>
</Location>

<Location /datesvn1>
DAV svn
#SVNParentPath /home/svn/                #這里是設(shè)置根目錄,也就是所有庫文件的根目錄例如/home/svn/datesvn和/home/svn/datesvn1的根目錄就是/home/svn
SVNPath /home/svn/datesvn1              #這里是設(shè)置單個(gè)庫的目錄,如果只有一個(gè)庫,可以用這個(gè)

# <LimitExcept GET PROPFIND OPTIONS REPORT>
# Require SSL connection for password protection.
# SSLRequireSSL                    

AuthType Basic
AuthName "驗(yàn)證信息"                    #svn連接時(shí)的提示信息,可手動(dòng)修改
AuthzSVNAccessFile /home/svn/datesvn/conf/authz    #文件訪問的權(quán)限配置文件,需要制定文件,官網(wǎng)說明沒有這項(xiàng),需要自己補(bǔ)上
AuthUserFile /home/svn/datesvn/conf/passwd        #指定密碼文件
Require valid-user                      #只有認(rèn)證用戶才可以訪問,類似防火墻的拒絕
# </LimitExcept>
</Location>

由于很多文章沒有詳細(xì)講述SVNParentPath,當(dāng)時(shí)個(gè)人覺得還是挺方便的,推薦

*/

#添加可訪問用戶

htpasswd -c /home/svn/datesvn/conf/passwd ch

htpasswd /home/svn/datesvn/conf/passwd test2

htpasswd的使用方法請(qǐng)?jiān)谖业牧硪晃恼虏榭?/em>

service httpd restart

#以上是個(gè)人查閱文檔后寫的簡(jiǎn)單模板,有更好的建議請(qǐng)聯(lián)系我。

/*-------------------------------------------------------------介紹篇------------------------------------------------------------------------

/home/svn/datesvn/conf下這些文件是主要的配置文件:

svnserve.conf: svn服務(wù)配置文件,apache有相似的功能,所以這里沒有說這個(gè)文件的作用,因?yàn)椴粫?huì)用到。
passwd: 用戶名口令文件。
authz: 權(quán)限配置文件。

安裝完mod_dav_svn后,默認(rèn)會(huì)在apache的conf.d目錄,出現(xiàn)以下模塊的mod_dav_svn.so 和mod_authz_svn.so

以及subversion.conf,當(dāng)然你會(huì)看見,

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

已經(jīng)幫你寫好調(diào)用了,不需要再主配置文件httd.conf再寫的了

權(quán)限問題,由于是http訪問,那么寫和讀都要有apache的權(quán)限操作才能完成

# To create a new repository "http://localhost/repos/stuff" using
# this configuration, run as root:
#
# # cd /var/www/svn
# # svnadmin create stuff
# # chown -R apache.apache stuff
# # chcon -R -t httpd_sys_content_t stuff

subversion里邊有寫到,必須是apache可以訪問,如果有開selinux,那么chcon -R -t httpd_sys_content_t stuff

*/

那么配置好后,主要是以下幾個(gè)文件的增刪改查:

添加用戶 htpasswd /home/svn/datesvn/conf/passwd 用戶

修改權(quán)限 vi /home/svn/datesvn/authz

service httpd reload

訪問方式

http://ip/datesvn

http://ip/datesvn1

當(dāng)然也可以配置域名訪問

更多詳情可看subversion中文網(wǎng),比較簡(jiǎn)潔的版本安裝,但是功能定制比較詳細(xì)的就沒有比較好的例子了

http://wiki.ubuntu.org.cn/SubVersion

總結(jié)

以上是生活随笔為你收集整理的SVN--subversion的五种访问方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。