1. 程式人生 > >最全Linux搭建SVN服務端教程

最全Linux搭建SVN服務端教程

# 文章首推 >- [支付寶介面對接](https://mp.weixin.qq.com/s/SrjZ__VbLi-DFAcqNU9DGg) >- [高德地圖呼叫](https://mp.weixin.qq.com/s/X_EmWMbUwwAtg8fv6lBfWA) >- [驗證碼登入](https://mp.weixin.qq.com/s/faDOoXnciWFQW-uo2MMp2A) >- [QQ郵箱登入](https://mp.weixin.qq.com/s/c2ee5SWr5U677XMlijvU7g) # 今日主題:Linux搭建SVN服務端 ## 簡介 >相信程式設計師對SVN還是不陌生的,雖然現在用Git比較多,但是SVN也是用的,SVN可以做程式碼提交,多人合作,比較重要的,如果你沒有云伺服器,也可以瞭解一下,因為SVN服務端在公司的話,都是放在伺服器上的,我們只需要裝一個客戶端就好了,那麼我們今天就來了解一下SVN服務端怎麼搭建吧 ## 環境 - 騰訊雲 - centos7.5 ## 實現過程 1、安裝`SVN`,如果你已經安裝了,就不用操作了 ```bash yum install subversion ``` ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20201117104310445.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Rpbmcxa2luZw==,size_16,color_FFFFFF,t_70#pic_center) 2、配置,建立倉庫 >我們這裡在/home下建立一個名為svn的倉庫(repository),以後所有程式碼都放在這個下面,建立成功後在svn下面多了幾個資料夾。 ```bash [root@VM-4-12-centos ~]# cd /home [root@VM-4-12-centos home]# mkdir svn [root@VM-4-12-centos home]# svnadmin create /home/svn [root@VM-4-12-centos home]# ls svn conf db format hooks locks README.txt ``` `conf`:存放配置檔案的 ```bash authz 是許可權控制檔案 passwd 是帳號密碼檔案 svnserve.conf 是SVN服務配置檔案 ``` 3、配置`passwd` ```bash [root@localhost conf]# vi passwd [users] king = 123456 test1 = 123456 test2 = 123456 ``` 上面的例子中我們建立了2個使用者,一個`test1`,一個`test2`,`建議等號前後加一個空格` 4、配置`authz` ```bash [root@localhost conf]# vi authz [/] king = rw test1 = r test2 = r * = ``` 上面配置的含義是,`king`對`/home/svn/`下所有檔案具有可讀可寫許可權,`test`只有只讀許可權,除此之外,其它使用者均無任何許可權,最後一行`*=`很重要不能少。 5、配置`svnserve.conf` ```bash [root@localhost conf]# vi svnserve.conf 開啟下面的5個註釋 anon-access = read #匿名使用者可讀 auth-access = write #授權使用者可寫 password-db = passwd #使用哪個檔案作為賬號檔案 authz-db = authz #使用哪個檔案作為許可權檔案 realm = /home/svn # 認證空間名,版本庫所在目錄 ``` 6、啟動與停止 ```bash [root@localhost conf]# svnserve -d -r /home/svn(啟動) [root@localhost conf]#killall svnserve(停止) ``` 上述啟動命令中,**-d**表示守護程序, **-r** 表示在後臺執行。停止還可以採用殺死程序的方式: ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20201117110115477.png#pic_center) 7、客戶端連線 這裡使用TortoiseSVN,輸入地址`svn://你的IP` 即可,不出意外輸入使用者名稱和密碼就能連線成功了。 預設埠3690,如果你修改了埠,那麼要記得加上埠號。 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/2020111711041696.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Rpbmcxa2luZw==,size_16,color_FFFFFF,t_70#pic_center) 8、無法連線,如果這是一臺新的伺服器,那麼一定會報錯,因為他的3690埠沒有開放 我們需要做以下配置就行了 - 開啟雲伺服器的安全策略組,新增開放該埠【這是開啟外網埠】 - 防火牆開啟,並且開放該3690埠【這是開啟內網埠】 輸入` firewall-cmd --list-ports`,檢視防火牆開放了哪些埠,發現沒有開放`3690`埠 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20201117113521206.png#pic_center) 開放埠: ```bash # --zone 作用域 # --add-port=3690/tcp 新增埠,格式為:埠/通訊協議 # --permanent 永久生效,沒有此引數重啟後失效 [root@VM-4-12-centos ~]# firewall-cmd --zone=public --add-port=3690/tcp --permanent success [root@VM-4-12-centos ~]# firewall-cmd --reload #重啟防火牆 success [root@VM-4-12-centos ~]# firewall-cmd --list-ports 20/tcp 21/tcp 22/tcp 80/tcp 8888/tcp 39000-40000/tcp 888/tcp 6800/tcp 3690/tcp ``` 連線成功,good,完美,這應該是最完美的解決方案了 ![在這裡插入圖片描述](https://img-blog.csdnimg.cn/20201117114430125.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1Rpbmcxa2luZw==,size_16,color_FFFFFF,t_70#pic_center)
歡迎關注:java後端指南