1. 程式人生 > 其它 >linux svn 安裝配置

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版本庫 可以從上文尋找