基于騰訊Centos7云服務器搭建SVN版本控制庫
最近在和小伙伴組隊參加一個關于人工智能的比賽,無奈不知道怎么處理好每個人的代碼托管問題,于是找到了網上免費svn托管服務器的服務颁褂,但是所給的免費空間實在太小了。本來我們在學校的實驗室搭建了一個本地的服務器,但是只能是內網登陸须床,考慮到一個小伙伴會在78月左右就出國留學,不是內網無法登陸渐裂,而且那臺主機將用來搭建集群豺旬。此時想到了我之前申請的騰訊云服務器,遂在騰訊云上基于centos7搭建了SVN柒凉。具體過程如下族阅,如有不對,請大家指正膝捞!另外本人在CSDN:http://blog.csdn.net/weixin_36394852 以及cnblog:http://www.cnblogs.com/kwongtai 都有博客坦刀,同步發(fā)布~
1. 第一步安裝svn服務器端軟件,使用的命令有
yum install subversion
安裝完之后蔬咬,可以輸入:
svnserve -version
查看目前svn版本鲤遥,查詢到即為進入第二步
2. 創(chuàng)建svn版本庫的目錄
mkdir -p var/svn/fuck
-p參數:加了系統(tǒng)將自動建立好那些尚不存在的目錄,即一次可以建立多個目錄
3. 創(chuàng)建版本庫
svnadmin create /var/svn/fuck
執(zhí)行命令后,svn會在/var/svn/fuck生成如下文件:
其中conf文件夾下有重要的文件為以下幾個:
svnserve.conf //svn服務配置文件
authz //權限控制配置文件
passwd //用戶名口令文件
4. 配置svnserve.conf文件
在[general]里面把以下配置前的#號刪去并根據需要作出以下修改:
vi /var/svn/fuck/conf/senserve.conf
[general]
//匿名訪問的權限林艘,可以是read盖奈、write、none狐援,默認為read钢坦,在此因為我要建立我團隊的私人版本庫究孕,故我設置為none
anon-access=none
//使授權用戶有寫權限,參數也是如上3個
auth-access=write
//使用哪個文件作為賬號文件爹凹,在此指定在conf文件里面的另外一個文件passwd
password-db=passwd
//使用哪個文件作為權限文件厨诸,在此指定在conf文件里面的另外一個文件authz
authz-db=authz
//認證命名空間,說白了就是版本庫的所在目錄
realm=/var/svn/fuck
具體操作如下:
修改完之后按Esc鍵后禾酱,按Shift 連續(xù)按Z鍵進行保存(對liunx新手來說提醒一下)微酬。
5. 修改權限控制配置文件antuz:
vi /var/svn/fuck/conf/authz
在[groups]中添加:
[groups]
//用戶組
Fuck = kwongtai,dada //用戶組所對應的用戶
//因為只有一個版本庫,故使用[/]
[/] //庫目錄權限
@admin = rw //用戶組權限
* = //非用戶組權限宇植,這里設置除了用戶組都對版本庫沒有任何權限
6. 修改用戶名口令文件配置passwd
vi /var/svn/fuck/conf/passwd
7. 啟動svn版本庫
svnserve -d -r /var/svn/fuck
使用ps aux | grep svn
查看是否已經啟動了svn
見到如紅色圈記那樣得封,就代表已經啟動成功.
8. 停止svn
輸入指令killall svncerve
再輸入ps aux | grep svn
殺死進程埋心,可以發(fā)現(xiàn)svnserve所有的進程已經被殺死了
9. Win10下客戶端訪問指郁,需要安裝TortoiseSVN
下載地址如下:https://tortoisesvn.net/downloads.zh.html
10. 建立倉庫
找到要建立倉庫的文件夾下,右鍵點擊check out
11. 放上你的svn地址:
這里由于我只設置了一個庫拷呆,直接可以輸入我的外網IP就可以了
12. 確認后提示輸入用戶密碼:
這里的賬號密碼為/var/svn/fuck/conf/passwd里面設置的那些
13. 登陸之后
就能看到那個文件夾了:
在這個文件夾下闲坎。新建fuck.txt文件,隨便編輯文件之后茬斧,可以看見文件夾的標志變了
在該文件夾腰懂,右鍵點擊svn commit,彈出commit對話框项秉,可以在在此輸入每個版本的日志
在此文件夾下绣溜,右鍵點擊TortoiseSVN選擇show log可以顯示文件的日志記錄
14. 配置在Linux上配置開機自動啟動svn
最后配置在Linux上配置開機自動啟動svn,免去了重啟Linux后要自己啟動的svn的麻煩
輸入:
vi /etc/rc.d/rc.local
添加內容:
svnserve -d -r /var/svn/fuck
因為centos7之后娄蔼,原來直接修改
/etc/rc.d/rc.local
啟動腳本自動生效的功能因為修改了需要重新賦予可執(zhí)行權限
再輸入 chmod +x /etc/rc.d/rc.local
結言
自己搭建的SVN穩(wěn)定而且做到了真正的私密怖喻,這對開發(fā)來說著實是太好了。第一次寫博文岁诉,寫得不好請大家指正锚沸!