Linux centos7 下 svn 服务器搭建
摘自:https://www.cnblogs.com/mymelon/p/5483215.html
鑒于在搭建時,參考網上很多資料,網上資料在有用的同時,也坑了很多人
本文的目的,也就是想讓后繼之人在搭建svn服務器時不再犯錯,不再被網上漫天的坑爹作品所坑害,故此總結
/******開始*********/
系統環境:Centos 7.0
第一步:通過yum命令安裝svnserve,命令如下:
>yum -y install subversion
此命令會全自動安裝svn服務器相關服務和依賴,安裝完成會自動停止命令運行
若需查看svn安裝位置,可以用以下命令:
>rpm -ql subversion
第二步:創建版本庫目錄(此僅為目錄,為后面創建版本庫提供存放位置)
選擇在var路徑下創建版本庫,當前處于根目錄下,一次性創建如下:
>mkdir /var/svn/svnrepos
第三步:創建svn版本庫
在第二步建立的路徑基礎上,創建版本庫,命令如下:
>svnadmin create /var/svn/svnrepos/xxxx ? (xxxx為你預期的版本庫名稱,可自定義)
創建成功后,進入xxx目錄下
>cd /var/svn/svnrepos/xxxx
進入目錄,可以看見如下文件信息:
第四步:配置修改
進入已經創建好的版本庫目錄下,也就是前文說創建的xxxx
進入conf
>cd?/var/svn/svnrepos/xxxx/conf
conf目錄下,一共存放三份重要的配置文件,如下:
?
authz:負責賬號權限的管理,控制賬號是否讀寫權限
passwd:負責賬號和密碼的用戶名單管理
svnserve.conf:svn服務器配置文件
細節修改如下:(希望大家嚴格按照以下信息,不用參考網絡上其他資料)
修改authz文件信息,如下:
>vi authz
在文件內容的末尾,添加如下:
?
只需在末尾添加,無需在文件其他部分修改和添加任何東西(請忽略groups被我馬賽克的地方,那其實也是條無用的記錄,我忘記刪掉而已),末尾內容如下:
[\]
賬號1 = rw
賬號2 = rw
。。。。。
rw表示賦予此賬號可讀寫的權限,請注意[]中的斜杠,一定是反斜杠,有些教程說,需添加版本庫名稱在括號內,我直接建議就這寫,這樣寫允許訪問的權限更大,避免一些錯誤
修改passwd文件信息
>vi passwd
賬號密碼文件無需做修改,也是直接將賬號和密碼信息追加到文件中即可,注意格式為:
賬號 = 密碼
例如:admin = 123456
修改svnserve.conf(重要)
vi svnserve.conf
原始文件內容,都被注釋掉的,我們只需要去掉4條指定內容前注釋即可,如下:
?
大多數網絡資料,都會讓大家將authz-db = authz這條給去掉注釋,經過我本人多次被坑經驗,此條去掉后,雖然svn服務器可以連接,但一直會提示“認證失敗”,注釋掉即可正常
還有多數資料會讓大家在realm = My First Repository處填寫服務器ip,經過測試,填寫后并無什么用處,所以大家去掉注釋即可,無需做任何修改
到此,配置已經全部完成,賬號信息已經添加成功
第五步:防火墻開啟
多數情況下服務器安裝完成,配置完成后,無法連接svn服務器,均是防火墻問題,大家按照如下3條命令逐一執行即可
>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT
>/etc/init.d/iptables save
>service iptables restart
執行結果如下圖:
?
六:啟動svn服務器
在跟目錄下,執行如下命令:
>svnserve -d -r /var/svn/svnrepos
啟動成功后,可用ps -aux查看服務啟動是否成功
七:客戶端訪問svn服務器
在windows客戶端,輸入地址:svn://ip地址:3690/xxxx ? (iP地址為你linux的ip,xxxx為前文創建的版本庫名稱,3690為svn默認端口)
彈出輸入用戶名和密碼,輸入即可訪問
到此,Linux下svn服務器搭建就總結完畢,感謝大家的閱讀
八:svn版本回退
不丟失新建的文件,獲得最新的SVN版本控制。TortoiseSVN-ShowLog-選中你要回滾的版本-右鍵-Export,之后將修改的文件覆蓋到你的最新版本,commit即可。
編輯了代碼,但是想放棄修改,可以直接TortoiseSVN-revert就可以更新到工程的最新版本。
回到某一個版本,可以直接選擇TortoiseSVN-update to reversion,這樣可以把版本回退到選中的版本,SVN并沒有顯示出有沖突,并且新建立的文件還在,但是這種不能直接在回退的版本上編輯,因為SVN的控制版本還是在最新的主干上,需要update并解決沖突。
從日志回滾到需要的版本,show log-選中需要的版本-右鍵-update item to reversion.SVN并沒有沖突,并且新建的文件還在,但是也不能在回退的版本上編輯,需要update解決沖突。
可以直接show log-選中要清除的版本-右鍵-revert changes from this reversion,這樣可以直接解決沖突并提交。但是新建的文件都沒有了,選中的這個版本就沒有了。
show log-選中需要回退到的版本-右鍵-revert to this reversion,則選中的版本之后的版本就沒有了,作廢了。
?
轉載于:https://www.cnblogs.com/GaoAnLee/p/9509758.html
總結
以上是生活随笔為你收集整理的Linux centos7 下 svn 服务器搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 判定pc端與移動端
- 下一篇: Linux内核的并发与竞态、信号量、互斥