最全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後端指南
