1. 程式人生 > >在linux伺服器上搭建SVN伺服器

在linux伺服器上搭建SVN伺服器

收集了網上很多資料終於搭好啦。

系統環境:centOS7.0

一:解除安裝SVN(如果你是一臺新的系統機可以忽略這一步)

1: rpm -qa subversion 查詢SVN是否有過低版本SVN(沒有安裝過則不顯示)

2:yum removesubversion 解除安裝SVN

二:安裝SVN

1:yum -y install subversion  雲安裝命令 安裝SVN相關服務

2:檢查SVN是否安裝成功  svnserve --version

三:建立SVN版本庫

我自己系統這邊把版本庫根目錄 安裝在了 var/svn/svnrepos/目錄下

1: mkdir /var/svn/svnrepos 建立一個資料夾

2:建立SVN版本庫   svnadmin create /var/svn/svnrepos/xxxx    (xxxx)為目錄(專案或版本庫)名稱,後面checkout專案時會用到。

3:>cd /var/svn/svnrepos/xxxx    進入該目錄檢視目錄下

      >ls                                          檢查建立的檔案。

4:  conf,db,format,books,locks等檔案或資料夾

簡單介紹一下目錄:

conf:SVN版本庫配置檔案(帳號密碼許可權等)

conf/authz:負責賬號許可權的管理,控制賬號是否讀寫許可權

conf/passwd:負責賬號和密碼的使用者名稱單管理

conf/svnserve.conf:svn伺服器配置檔案

db:版本庫資料儲存

locks:跟蹤目錄的訪問者

四:修改配置檔案

1:進入conf目錄  >cd /var/svn/svnrepos/xxxx/conf

2:   修改authz檔案   >vi authz

3:   按一下 i 鍵 進入VIM編輯模式

在本文末尾增加如下程式碼:

[\]    

使用者名稱1 = rw

使用者名稱2 = r

* = r

[/資料夾1]

使用者名稱2 = rw

PS:1:[\] 表示 最大許可權   [/資料夾] 表示針對這個資料夾的許可權

     2:使用者名稱(組)可以隨意定義

     3:rw 和 r分別代表  可讀可寫 和 只讀

     4:* 表示 任何使用者

     5:關於許可權這邊不做過多說明。

4: 儲存並退出 esc > :wq

5: 修改passwd 檔案配置  在末尾新增 賬號密碼(VIM模式如何處理 編寫 儲存退出 請看 步驟3 步驟4) vi passwd

 格式是 :  賬號 = 密碼

6:修改svn配置檔案 vi svnserve.conf

取值範圍介紹:write 可讀可寫  read 只讀  none 無權訪問

anon-access:表示非授權(遊客)使用者訪問範圍 預設值:read;

auth-access: 表示授權使用者訪問範圍  預設值:write;

password-db:passwd檔案相對路徑    他預設會指向你的 ../conf/passwd 不需要設定

realm:指定版本庫認證域 可以隨意設定一個UUID 比如:my test

去掉4行註釋。

7:儲存並退出。

五:開啟防火牆

多數情況下,配置完SVN後 無法訪問通常是防火牆為配置 3690 埠(SVN預設埠)

1:>/sbin/iptables -I INPUT -p tcp --dport 3690 -j ACCEPT

2:>/etc/init.d/iptables save

3:>service iptables restart

或者(系統未安裝INPUT命令 或者 centOS7 firewall 已經代替 iptables)

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

六:啟動svn服務

1:svnserve -d -r /var/svn/svnrepos    (/var/svn/svnrepos 為當初svn版本庫根目錄)

2:啟動成功後 ps aux | grep svn 可以檢視svn程序

3:(如目錄正常則跳過此步驟 若該目錄 並非當初建立時目錄 則需要停止服務並修改重啟) kill 這個程序 並執行步驟1

七:檢出專案

1:進入windows 檢出專案 位址列輸入  svn://專案ip:3690/xxxx  

專案ip可以通過 ip addr 或者 ifconfig  檢視 inet

xxxx 為當初建立的SVN版本庫 可以從上文 xxxx尋找