在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尋找