Linux平臺的SVN服務(wù)器的配置及搭建
https://jingyan.baidu.com/article/54b6b9c08b35382d593b477c.html

一、安裝SVN
1
在Linux平臺上,SVN的軟件包名稱是subversion,我們使用命令:
yum list | grep subversion
查看一下,可以看到,在我們配置的163的yum源上有這個安裝包。
2
直接使用yum命令來安裝這個安裝包,命令是:
yum install subversion -y
然后等待軟件安裝完畢,軟件安裝好以后,通過命令:
rpm -ql subversion | more
來查看這個軟件配置的命令,可以看到,配置的基本上都是svn相關(guān)的命令。至此SVN服務(wù)端軟件安裝完畢。
END
二、配置和使用SVN
1
安裝好了SVN以后,我們要配置好詳細(xì)的目錄以及 對應(yīng)的權(quán)限才能夠?qū)崿F(xiàn)SVN的使用以及管理。這里先介紹下幾個基本概念:
主目錄:即SVN代碼的放置目錄,類似于Linux系統(tǒng)的根目錄。所有的SVN項目都是放在主目錄底下。
user:即SVN的用戶
group:即將若干個用戶放在一個組。
r, rw:r表示可讀權(quán)限,rw表示可讀可寫權(quán)限。一般是用戶或者群組對目錄或者目錄中的數(shù)據(jù)具有可讀,或可讀可寫權(quán)限。關(guān)系如下所示:
2
先創(chuàng)建一個svn的代碼存放目錄,命令如下:
mkdir /svn
然后使用svnadmin 命令將這個目錄設(shè)置為svn的主目錄,命令是:
svnadmin create /svn
創(chuàng)建好后我們查看一下這個目錄下的文件,可以看到有4個目錄,2個文件。其中我們用的最多的就是conf目錄底下的文件,因為所有的配置都在里面,下面我們來依次介紹。
3
passwd文件是用于設(shè)置賬號密碼的。格式如下:
[users]
username=password
username就是你要配置的用戶名,password就是用戶的密碼。我們創(chuàng)建三個用戶sv1、sv2和manager,初始密碼都配置成Pass234!@,密碼稍微復(fù)雜一點對于安全很重要,如下所示:
4
authz用來配置權(quán)限和群組的,配置群組的格式是:
[groups]
群組別名=user1,user2,user3..
群組別名指的是為你的群組取得名字,例如develpment,開發(fā)組。
配置權(quán)限的格式是:
[/path/to/dir]
user1 = r
user2 = rw
@group1 = rw
user1,user2表示用戶,@group1表示某個群組的命令。根據(jù)這樣的格式,配置一個開發(fā)組dev,把sv1、sv2和manager都加入到開發(fā)組dev里去,讓開發(fā)組dev對項目具有讀權(quán)限,manager用戶具有讀寫權(quán)限。如下所示:
5
最后,在svnserve.conf文件里將前面配置好的兩個文件關(guān)聯(lián)起來。
打開svnserve.conf文件,將下面途中紅框中圈出來選項全都去掉注釋,同時去掉注釋后面的那個空格,否則會出錯。
anon-access = read 表示匿名用戶允許讀
auth-access = write 表示認(rèn)證用于允許寫
password-db = passwd 表示使用passwd文件來進(jìn)行賬號密碼認(rèn)證
authz-db = authz 表示使用authz文件用戶權(quán)限認(rèn)證
realm = /svn 表示將/svn目錄做為SVN服務(wù)器的工作目錄。
至此權(quán)限和用戶都配置完畢,啟動SVN服務(wù)器后,防火墻上放行SVN服務(wù)器的3690端口。如下面第二張圖所示:
END ==================補(bǔ)充================
因本機(jī)使用iptables防火墻,故在? /etc/sysconfig/iptables 中添加
-A INPUT -p tcp -m tcp --dport 3690 -j ACCEPT
==================補(bǔ)充================
客戶端登陸驗證
1
SVN服務(wù)器配置好并且啟動以后,我們開始通過客戶端登陸來嘗試一下,客戶端軟件一般使用TortoiseSVN,也就是俗稱的小烏龜。下載好后直接安裝,安裝完畢后,桌面圖標(biāo)如下圖所示:
2
我們在Windows系統(tǒng)上隨便找個目錄來放我們的開發(fā)文件夾,比如F盤下的develop目錄,如下所示,在目錄上點右鍵,然后點擊SVN Checkout,就是要從SVN上同步代碼的意思。然后在彈出來的新窗口第一欄填入svn的地址,格式是:
svn://ip_address/
比如同步我們剛剛配置的開發(fā)目錄,那格式就是:
svn://192.168.1.194/
因為這個時候開發(fā)目錄下沒有任何子目錄,所以不能配置子目錄權(quán)限。
192.168.1.194是我的服務(wù)器IP地址,然后點擊OK。
3
此時會彈出用戶名,密碼窗口。我們先使用manager登陸,進(jìn)去創(chuàng)建目錄結(jié)構(gòu)和文檔,如下所示,創(chuàng)建了目錄app1和readme.txt文件。創(chuàng)建完成后在目錄下點右鍵,點擊SVN commit
4
此時就會彈出提交頁面,我們把新增的目錄app1和文件readme.txt勾選上,并且寫上注釋First Commit。然后點OK提交,可以看到manager用戶可以正常提交,說明他對這個目錄的讀寫權(quán)限正常。
5
此時我們再新建一個目錄,叫做dev,此時使用用戶sv1往這個目錄里拉取manager用戶提交的信息,可以看到能夠正常拉下來。說明讀權(quán)限正常,我們在這個目錄里新建一個test_from_sv1.txt文件,然后嘗試將這個文件上傳??纯唇Y(jié)果如何:
6
最后我們看到的提示是授權(quán)失敗,說明sv1用戶對這個目錄沒有寫權(quán)限。也即我們配置的權(quán)限生效了。說明整個SVN服務(wù)器正常工作。至此,SVN服務(wù)器配置完畢。
END
Linux SVN
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。