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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

svn服务器基本知识及搭建

發布時間:2024/9/20 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 svn服务器基本知识及搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

聲明,本文大多數都是東拼西湊而來,并非本人完全出品,如有雷同,大家見諒!

另外,歡迎大家光顧我們公司游戲:航空大亨、船長日志、我是英雄(三款主打帶給大家)

一、svn概述

? ?svn(subversion)是一個開源的版本控制系統, 也就是說 Subversion 管理著隨時間改變的數據。這些數據放置在一個中央資料檔案庫 (repository) 中。這個檔案庫很像一個普通的文件服務器, 不過它會記住每一次文件的變動。這樣你就可以把檔案恢復到舊的版本, 或是瀏覽文件的變動歷史。

二、svn中的一些基本概念

(1). repository(源代碼庫)

源代碼統一存放的地方

(2). Checkout (提取)

當你手上沒有源代碼的時候,你需要從repository checkout一份

(3). Commit (提交)

當你已經修改了代碼,你就需要Commit到repository

(4). Update (更新)

當你已經Checkout了一份源代碼, Update一下你就可以和Repository上的源代碼同步,你手上的代碼就會有最新的變更

三、不多廢話,殺入主題,安裝部署svn 獨立服務器。 ?(整合apache的安裝請自己搜索)

1.安裝方法:

? ?①yum安裝:yum -y install subversion(你的技術還停留在yum基礎么?)

? ?②源碼包編譯安裝(我比較喜歡源碼包安裝,因為有丁點難度,哈哈)

[root@gang ~]# wget http://www.apache.org/dist/subversion/subversion-1.8.5.tar.gz

[root@gang opt]# tar zxf subversion-1.8.5.tar.gz

[root@gang opt]# cd subversion-1.8.5

[root@gang subversion-1.8.5]# mkdir -p /usr/local/webserver/

2、別急著安裝,現在來安裝依賴包

1).安裝apr-1.4.6.tar.gz

[root@gang webserver]# tar zxf apr-1.4.6.tar.gz

[root@gang webserver]# cd apr-1.4.6

[root@gang apr-1.4.6]# ./configure --prefix=/usr/local/webserver/apr

[root@gang apr-1.4.6]# make && make install

2).安裝apr-util-1.4.1.tar.gz

[root@gang webserver]# tar zxf apr-util-1.4.1.gz

[root@gang webserver]# cd apr-util-1.4.1

[root@gang apr-util-1.4.1]# ./configure --prefix=/usr/local/webserver/apr-util --with-apr=/usr/local/webserver/apr

[root@gang apr-util-1.4.1]# make && make install

3).安裝pcre-8.32.tar.gz

[root@gang webserver]# tar zxf pcre-8.32.tar.gz

[root@gang webserver]# cd pcre-8.32

[root@gang pcre-8.32]# ./configure --prefix=/usr/local/webserver/pcre && make && make install

4).安裝zlib-1.2.5.tar.gz

[root@gang webserver]# tar zxf zlib-1.2.5.gz

[root@gang webserver]# cd zlib-1.2.5

[root@gang zlib-1.2.5]# ./configure ?&& make && make install

----此處的./configure不可隨意的--prefix,不然會導致ssh服務,啟動異常,或者之后svn錯誤

5).獲取sqlite文件支持

[root@gang webserver]# wget http://cznic.dl.sourceforge.net/project/sqlite.mirror/SQLite%203.7.12/sqlite-amalgamation-3071200.zip

[root@gang webserver]# unzip sqlite-amalgamation-3071200.zip

[root@gang webserver]# mkdir -p /usr/local/webserver/subversion-1.8.5/sqlite-amalgamation/

[root@gang webserver]# cp sqlite-amalgamation-3080200/* subversion-1.8.5/sqlite-amalgamation/

三、正式安裝

[root@gang subversion-1.8.5]# ./configure --prefix=/usr/local/webserver/svn --with-apr=/usr/local/webserver/apr --with-apr-util=/usr/local/webserver/apr-util --with-zlib=/usr/local/webserver/zlib/ --without-berkeley-db --with-openssl=/usr/include/openssl/

#svn存儲版本數據有2種方式:BDB(一種事務安全型表類型)和FSFS(一種不需要數據庫的存儲系統)。因為BDB方式在服務器中斷時,有可能鎖住數據,所以還是FSFS方式更安全一點

[root@gang subversion-1.8.5]# make ?&& make install

至此svn安裝完畢(如果各位遇到其他問題,請咨詢度娘和谷歌)

export "PATH=$PATH:/usr/local/webserver/svn/bin" >> /etc/profile

echo "

/usr/local/lib

/usr/local/lib64

" ?>> /etc/ld.so.conf

[root@gang ~]# ldconfig

四、正式使用

?1.創建版本庫

[root@gang ~]# svnadmin create /data/svndata/20140116 ? ?---20140116是版本庫名稱

輸入后,會在 “創建的目錄下”生成如下三個文件 :/data/svndata/20140116/conf

svn服務配置文件 svnserve.conf
用戶口令文件 passwd

權限配置文件 authz

2.配置文件詳解及案例

No1. ?svnserve.conf 文件,該文件配置項分為以下5項:(每行的配置前不能有空格)


?anon-access: 控制非鑒權用戶訪問版本庫的權限。

?auth-access:控制鑒權用戶訪問版本庫的權限。

?password-db: 指定用戶名口令文件名。

?authz-db:指定權限配置文件名,通過該文件可以實現以路徑為基礎的訪問控制。

?realm:指定版本庫的認證域,即在登錄時提示的認證域名稱。若兩個版本庫的認證域相同,建議使用相同的用戶名口令數據文件

No2. passwd里邊保存用戶和密碼

[users] ----定義用戶和用戶密碼

# harry = harryssecret

# sally = sallyssecret

admin = 追夢創游 ? ?

guest = 航空大亨

user1 = 船長日志

user2 = “Doodle Fill For Tango”

gang = Linux

word = 運維工程師

chenjian = chenjianpwd

No3. authz ?文件

[groups] ----定義用戶組 ? ?左側為組,又側為包含用戶

admin = admin, gang

group1 = user1, user11

group2 = user2

docs = word

training = chenjian

--這里把不同用戶放到不同的組里面,下面在設置目錄訪問權限的時候,用目錄來操作就可以了。

# 為所有庫指定默認訪問規則

# 所有人可以讀,管理員可以寫,危險分子沒有任何權限

[/] ? ? ?--對應目錄:/data/svndata

* = r

@admin = rw ? ? ? ----admin組的用戶可讀寫

dangerman = ? ? ? ----危險用戶沒權限

# 允許開發人員可以完全訪問他們的項目版本庫

[proj1:/] ? ? ? ? ? ?----定義group組 1 的用戶可以讀寫

@group1 = rw ? ? ? ? ----帶@ 的,代表組, 不帶@ 的表示對用戶權限的設定

[proj2:/]

@group2 = rw

[bigproj:/]

@grou1 = rw

@group2 = rw

trevor = rw

# 文檔編寫人員對所有的docs目錄有寫權限

[/trunk/doc]

@docs = rw

# 培訓人員可以完全訪問培訓版本庫

[TrainingRepos:/] ? ? ? ?-------版本庫目錄格式:
@training = rw ? ? ? ? ? ? ? ? ? ? ? [<版本庫>:/項目/目錄]
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? @<用戶組名> = <權限>
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? <用戶名> = <權限>


? 2. svn服務控制

開啟svn服務:svnserver –d –r /var/svndata ? ?-- ?-d表示后臺運行 ?-r 表示根目錄

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? --listen-port 指定監聽端口
關閉svn服務: killall svnservice 或者kill -9 pid

五、客戶端的使用。

根據你的系統32bit/64bit下載TortoiseSVN 1.7-1.8內的版本

把文件上傳到SVN版本庫后,上傳的文件不再以文件原來的格式存儲,而是被svn以它自定義的格式壓縮成版本庫數據,存放在版本庫中(/data/svndata/20140116/db/revs中)。

附注: svn最重要的一點,權限分配!

原文地址請參照:http://blog.csdn.net/tianlesoftware/article/details/6119231



轉載于:https://blog.51cto.com/jishuweiwang/1352324

總結

以上是生活随笔為你收集整理的svn服务器基本知识及搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。