基于騰訊Centos7云服務(wù)器搭建SVN版本控制庫(kù)
最近在和小伙伴組隊(duì)參加一個(gè)關(guān)于人工智能的比賽,無(wú)奈不知道怎么處理好每個(gè)人的代碼托管問(wèn)題,于是找到了網(wǎng)上免費(fèi)svn托管服務(wù)器的服務(wù),但是所給的免費(fèi)空間實(shí)在太小了。本來(lái)我們?cè)趯W(xué)校的實(shí)驗(yàn)室搭建了一個(gè)本地的服務(wù)器,但是只能是內(nèi)網(wǎng)登陸,考慮到一個(gè)小伙伴會(huì)在78月左右就出國(guó)留學(xué),不是內(nèi)網(wǎng)無(wú)法登陸,而且那臺(tái)主機(jī)將用來(lái)搭建集群。此時(shí)想到了我之前申請(qǐng)的騰訊云服務(wù)器,遂在騰訊云上基于centos7搭建了SVN。具體過(guò)程如下,如有不對(duì),請(qǐng)大家指正!另外本人在CSDN:http://blog.csdn.net/weixin_36394852 以及cnblog:http://www.cnblogs.com/kwongtai 都有博客,同步發(fā)布~
1. 第一步安裝svn服務(wù)器端軟件,使用的命令有
yum install subversion
安裝完之后,可以輸入:
svnserve -version
查看目前svn版本,查詢到即為進(jìn)入第二步
2. 創(chuàng)建svn版本庫(kù)的目錄
mkdir -p var/svn/fuck
-p參數(shù):加了系統(tǒng)將自動(dòng)建立好那些尚不存在的目錄,即一次可以建立多個(gè)目錄
3. 創(chuàng)建版本庫(kù)
svnadmin create /var/svn/fuck
執(zhí)行命令后,svn會(huì)在/var/svn/fuck生成如下文件:

其中conf文件夾下有重要的文件為以下幾個(gè):
svnserve.conf //svn服務(wù)配置文件
authz //權(quán)限控制配置文件
passwd //用戶名口令文件
4. 配置svnserve.conf文件
在[general]里面把以下配置前的#號(hào)刪去并根據(jù)需要作出以下修改:
vi /var/svn/fuck/conf/senserve.conf
[general]
//匿名訪問(wèn)的權(quán)限,可以是read、write、none,默認(rèn)為read,在此因?yàn)槲乙⑽覉F(tuán)隊(duì)的私人版本庫(kù),故我設(shè)置為none
anon-access=none
//使授權(quán)用戶有寫(xiě)權(quán)限,參數(shù)也是如上3個(gè)
auth-access=write
//使用哪個(gè)文件作為賬號(hào)文件,在此指定在conf文件里面的另外一個(gè)文件passwd
password-db=passwd
//使用哪個(gè)文件作為權(quán)限文件,在此指定在conf文件里面的另外一個(gè)文件authz
authz-db=authz
//認(rèn)證命名空間,說(shuō)白了就是版本庫(kù)的所在目錄
realm=/var/svn/fuck
具體操作如下:


修改完之后按Esc鍵后,按Shift 連續(xù)按Z鍵進(jìn)行保存(對(duì)liunx新手來(lái)說(shuō)提醒一下)。
5. 修改權(quán)限控制配置文件antuz:
vi /var/svn/fuck/conf/authz
在[groups]中添加:
[groups]
//用戶組
Fuck = kwongtai,dada //用戶組所對(duì)應(yīng)的用戶
//因?yàn)橹挥幸粋€(gè)版本庫(kù),故使用[/]
[/] //庫(kù)目錄權(quán)限
@admin = rw //用戶組權(quán)限
* = //非用戶組權(quán)限,這里設(shè)置除了用戶組都對(duì)版本庫(kù)沒(méi)有任何權(quán)限

6. 修改用戶名口令文件配置passwd
vi /var/svn/fuck/conf/passwd

7. 啟動(dòng)svn版本庫(kù)
svnserve -d -r /var/svn/fuck
使用ps aux | grep svn查看是否已經(jīng)啟動(dòng)了svn

見(jiàn)到如紅色圈記那樣,就代表已經(jīng)啟動(dòng)成功.
8. 停止svn
輸入指令killall svncerve再輸入ps aux | grep svn

殺死進(jìn)程,可以發(fā)現(xiàn)svnserve所有的進(jìn)程已經(jīng)被殺死了
9. Win10下客戶端訪問(wèn),需要安裝TortoiseSVN
下載地址如下:https://tortoisesvn.net/downloads.zh.html
10. 建立倉(cāng)庫(kù)
找到要建立倉(cāng)庫(kù)的文件夾下,右鍵點(diǎn)擊check out

11. 放上你的svn地址:
這里由于我只設(shè)置了一個(gè)庫(kù),直接可以輸入我的外網(wǎng)IP就可以了

12. 確認(rèn)后提示輸入用戶密碼:
這里的賬號(hào)密碼為/var/svn/fuck/conf/passwd里面設(shè)置的那些

13. 登陸之后
就能看到那個(gè)文件夾了:

在這個(gè)文件夾下。新建fuck.txt文件,隨便編輯文件之后,可以看見(jiàn)文件夾的標(biāo)志變了

在該文件夾,右鍵點(diǎn)擊svn commit,彈出commit對(duì)話框,可以在在此輸入每個(gè)版本的日志

在此文件夾下,右鍵點(diǎn)擊TortoiseSVN選擇show log可以顯示文件的日志記錄

14. 配置在Linux上配置開(kāi)機(jī)自動(dòng)啟動(dòng)svn
最后配置在Linux上配置開(kāi)機(jī)自動(dòng)啟動(dòng)svn,免去了重啟Linux后要自己?jiǎn)?dòng)的svn的麻煩
輸入:
vi /etc/rc.d/rc.local
添加內(nèi)容:
svnserve -d -r /var/svn/fuck
因?yàn)閏entos7之后,原來(lái)直接修改
/etc/rc.d/rc.local啟動(dòng)腳本自動(dòng)生效的功能因?yàn)樾薷牧诵枰匦沦x予可執(zhí)行權(quán)限
再輸入 chmod +x /etc/rc.d/rc.local
結(jié)言
自己搭建的SVN穩(wěn)定而且做到了真正的私密,這對(duì)開(kāi)發(fā)來(lái)說(shuō)著實(shí)是太好了。第一次寫(xiě)博文,寫(xiě)得不好請(qǐng)大家指正!