最全Linux搭建SVN服務端教程

文章首推

今日主題:Linux搭建SVN服務端

簡介

相信程式設計師對SVN還是不陌生的,雖然現在用Git比較多,但是SVN也是用的,SVN可以做程式碼提交,多人合作,比較重要的,如果你沒有雲伺服器,也可以了解一下,因為SVN服務端在公司的話,都是放在伺服器上的,我們只需要裝一個客戶端就好了,那麼我們今天就來了解一下SVN服務端怎麼搭建吧

環境

  • 騰訊雲
  • centos7.5

實現過程

1、安裝SVN,如果你已經安裝了,就不用操作了

yum install subversion

在這裡插入圖片描述
2、配置,創建倉庫

我們這裡在/home下建立一個名為svn的倉庫(repository),以後所有程式碼都放在這個下面,創建成功後在svn下面多了幾個文件夾。

[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:存放配置文件的

authz 是許可權控制文件
passwd 是帳號密碼文件
svnserve.conf 是SVN服務配置文件

3、配置passwd

[root@localhost conf]# vi passwd 
[users]
king = 123456
test1 = 123456
test2 = 123456

上面的例子中我們創建了2個用戶,一個test1,一個test2建議等號前後加一個空格

4、配置authz

[root@localhost conf]# vi authz 
[/]
king = rw
test1 = r
test2 = r
* =

上面配置的含義是,king/home/svn/下所有文件具有可讀可寫許可權,test只有隻讀許可權,除此之外,其它用戶均無任何許可權,最後一行*=很重要不能少。

5、配置svnserve.conf

[root@localhost conf]# vi svnserve.conf 
打開下面的5個注釋
anon-access = read #匿名用戶可讀
auth-access = write #授權用戶可寫
password-db = passwd #使用哪個文件作為帳號文件
authz-db = authz #使用哪個文件作為許可權文件
realm = /home/svn # 認證空間名,版本庫所在目錄

6、啟動與停止

[root@localhost conf]# svnserve -d -r /home/svn(啟動)
[root@localhost conf]#killall svnserve(停止)

上述啟動命令中,-d表示守護進程, -r 表示在後台執行。停止還可以採用殺死進程的方式:
在這裡插入圖片描述
7、客戶端連接
這裡使用TortoiseSVN,輸入地址svn://你的IP 即可,不出意外輸入用戶名和密碼就能連接成功了。

默認埠3690,如果你修改了埠,那麼要記得加上埠號。
在這裡插入圖片描述
8、無法連接,如果這是一台新的伺服器,那麼一定會報錯,因為他的3690埠沒有開放

我們需要做以下配置就行了

  • 打開雲伺服器的安全策略組,添加開放該埠【這是打開外網埠】
  • 防火牆打開,並且開放該3690埠【這是打開內網埠】

輸入 firewall-cmd --list-ports,查看防火牆開放了哪些埠,發現沒有開放3690
在這裡插入圖片描述
開放埠:

# --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,完美,這應該是最完美的解決方案了
在這裡插入圖片描述



歡迎關註:java後端指南



Tags: