linux svn 安裝配置
安裝
官網下載: http://subversion.apache.org/packages.html
SVN客戶端:TortoiseSVN :https://tortoisesvn.net/downloads.html
1、檢測系統是否有老版本
rpm -qa subversion
如果沒安裝過則什麼都不顯示
如果有老闆可以執行下面命令刪除
yum -y remove subversion
2、yum命令安裝
此命令會全自動安裝svn伺服器相關服務和依賴,安裝完成會自動停止命令執行
yum -y install subversion
若檢視安裝的位置
rpm -ql subversion
3、建立版本目錄
此僅為目錄,為後面建立版本庫提供存放位置,subversion預設是把/var/svn作為資料根目錄的,開機啟動預設也是從這裡
mkdir -p /var/svn/svnrepos
4、建立svn版本庫
在第二步建立的路徑基礎上,建立版本庫(test_xc為目錄(專案或版本庫)名稱,後面checkout專案時會用到。)
svnadmin create /var/svn/svnrepos/test_xc
建立成功後,進入test_xc目錄下,可以看見如下檔案資訊:
conf:是這個倉庫配置檔案(倉庫使用者訪問賬戶,許可權)
format:是一個文字檔案,裡邊只放了一個整數,表示當前檔案庫配置的版本號
hooks:放置hook腳步檔案的目錄
locks:用來放置subversion的db鎖檔案和db_logs鎖檔案的目錄,用來追蹤存取檔案庫的客戶端
4.1 配置修改
進入conf,conf目錄下,一共存放三份重要的配置檔案,如下:
authz:負責賬號許可權的管理,控制賬號是否讀寫許可權
passwd:負責賬號和密碼的使用者名稱單管理
svnserve.conf:svn伺服器配置檔案
修改svnserve.conf
原始檔案內容,都被註釋掉的,我們只需要去掉指定內容前註釋即可
開啟下面的5個註釋
anon-access = read #匿名使用者可讀 auth-access = write #授權使用者可寫 password-db = passwd #使用哪個檔案作為賬號檔案 authz-db = authz #使用哪個檔案作為許可權檔案 realm = /home/svn # 認證空間名,版本庫所在目錄
修改authz檔案
使用者分組 在設定許可權 配置如下
[groups]
# harry_and_sally = harry,sally
# harry_sally_and_joe = harry,sally,&joe
admin = admin # 建立一個admin組 有一個admin使用者
hduser = hduser8000 # 建立一個hduser組 有一個hduser使用者
# [/foo/bar]
# harry = rw
# &joe = r
# * =
# [repository:/baz/fuz]
# @harry_and_sally = rw
# * = r
[/]
@admin =rw
@hduser=r
[/xc11]
@hduser = rw
*=
修改passwd 檔案
建立兩個使用者 賬戶 = 密碼
[users]
# harry = harryssecret
# sally = sallyssecret
admin = *****
hduser8000 = *****
5、開啟防火牆
多數情況下伺服器安裝完成,配置完成後,無法連線svn伺服器,均是防火牆問題
配置防火牆埠
首先要明確CentOS7的預設防火牆為firewallD。subversion的預設埠為3690,如果沒有開啟會報錯:
1: sudo firewall-cmd --permanent --add-service=telnet
2: sudo firewall-cmd --permanent --add-port=3690/tcp
3: sudo firewall-cmd --reload
centOS 7 防火牆開啟、關閉與檢視狀態:
systemctl start firewalld
systemctl stop firewalld
systemctl status firewalld
用systemctl status firewalld檢視防火牆狀態
6、啟動svn伺服器
-d : 守護程序 -r : svn資料根目錄
svnserve -d -r /var/svn/svnrepos # 用root許可權啟動
檢視SVN服務:
ps aux|grep svnserve #預設埠為:3690
設定開機啟動
在centos7, 設定開機啟動:
sudo systemctl enable svnserve.service #注意:根目錄必須是/var/svn 這樣才能設定成功!!
設定開機啟動後就可以按下面的方式開啟或停止服務了
systemctl start svnserve.service
systemctl stop svnserve.service
7、可以拉取專案
進入windows 檢出專案 位址列輸入 svn://專案ip:3690/test
專案ip可以通過 ip addr 或者 ifconfig 檢視 inet,test_xc 為當初建立的SVN版本庫 可以從上文尋找