文章目錄
- 在服務端建立資源倉庫
- 資源倉庫通路權限配置
- 給資源倉庫添加使用者
- 配置使用者組及使用者的權限
- 啟動 SVN 伺服器
- 停止 SVN 伺服器
SVN 是一個使用十分廣泛的開放源代碼的版本控制系統。在 Windows 系統下,我們一般使用 TortoiseSVN 來搭建 SVN 環境。而 MacOS 系統我們該如何搭建 SVN 伺服器環境呢?
如果你安裝了 Xcode 指令行工具,那麼也會預設一并安裝 SVN 指令行工具,這個預設安裝的 SVN 版本是1.7.x。但是有的電腦并沒有安裝 Xcode 指令行工具,是以也就沒有預設安裝 SVN 指令行工具,那麼你可以使用軟體包管理工具 Homebrew 直接安裝 SVN,如何安裝詳見《MacOS 如何安裝 SVN 指令終端》。
假設你已經安裝好了 SVN 指令行工具,那麼我們開始搭建 SVN 服務端環境吧!
在服務端建立資源倉庫
我們先在文稿目錄(~/Documents)下建立一個專門用于存放 SVN 資料的目錄,例如我通常取名為
svn-repo
,後面我會把多個倉庫目錄都放在這裡面。那麼這個目錄
svn-repo
就是 SVN 倉庫的根目錄。
在指令終端執行以下指令:
svnadmin create ~/Documents/svn-repo/qpw
注:建議按産品線來建立資源倉庫,因為産品線下分多個項目,這樣 SVN 服務端的『倉庫-項目』結構正好與『産品線-項目』結構吻合了。
執行以上指令後就可以在目錄
svn-repo
下面看到目錄
qpw
,這就是一個倉庫目錄,其代表一個資源倉庫,在我這裡就是代表一個産品線。打開這個目錄你可以看到以下的内容:
![](https://img.laitimes.com/img/__Qf2AjLwojIjJCLyojI0JCLiIXZ05WZj91YpB3IwczX0xiRGZkRGZ0Xy9GbvNGL2EzXlpXazxSP9cnW1lzVhRTNXp1M5cVWwhnMMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2X0hXZ0xCMx81dvRWYoNHLrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdssmch1mclRXY39CXldWYtlWPzNXZj9mcw1ycz9WL49zZwpmLiFzY2YTZ0EGNxUjM2UzY5gTYhRjZ3YmY5EGMjZ2MmBzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
資源倉庫通路權限配置
在
conf
目錄存在以下配置檔案:
我們先配置檔案
svnserver.conf
,打開檔案後将下圖紅色線框的 4 個配置項前面的“#” 和“空格”都去掉:
注:
-
表示匿名通路的時候是隻讀的,即隻能看倉庫的資料,而改成anon-access = read
,表示禁止匿名通路,即必須憑使用者名和密碼才能通路none
-
表示通過身份認證的通路允許寫,即可以在倉庫中存放和修改資料auth-access = write
-
用來指定一個存放使用者名和密碼的配置檔案的路徑,這裡直接寫password-db = passwd
,其實是指預設的相對路徑passwd
,系統在讀取檔案./passwd
的資料時候,目前工作目錄就是配置檔案svnserver.conf
所在的目錄,是以在svnserver.conf
檔案内去指定另一個檔案的路徑,而該檔案又是和svnserver.conf
在同一個目錄下,就可以直接寫檔案名了svnserver.conf
-
用來指定一個權限配置檔案的路徑authz-db = authz
-
認證空間名,版本庫所在目錄realm = path
給資源倉庫添加使用者
打開目錄
conf
下的檔案
passwd
。在裡面的
[users]
下面添加使用者名和密碼。
這裡我配置了兩個使用者:dpqyw 和 com。
配置使用者組及使用者的權限
我們打開目錄
conf
下面的權限配置檔案 authz,在裡面的
[groups]
下面進行相關的配置。
如下圖所示,我們在裡面的
[groups]
下面建立一個使用者組名為
group1
,在該使用者組中有
dpqyw
和
com
兩個使用者。配置使用者
dpdqw
的權限為對所有的資源倉庫都有讀寫權限;而
group1
分組的使用者隻有對倉庫
code1
有讀寫權限。
注:
* =
表示其他使用者無任何權限
啟動 SVN 伺服器
在指令終端輸入以下的任意一條指令都可以啟動 SVN 伺服器:
svnserve -d -r ~/Documents/svn-repo
svnserve -d -r ~/Documents/svn-repo/qpw
注:
-
表示守護程序-d
-
表示在背景執行-r
停止 SVN 伺服器
打開“活動螢幕” 。搜尋 svn,将程序強制退出即可。
如果是在 Linux 系統下,可以輸入下面的指令結束程序:
[[email protected] conf]# ps -ef|grep svnserve
root 4908 1 0 21:32 ? 00:00:00 svnserve -d -r /home/svn
root 4949 4822 0 22:05 pts/0 00:00:00 grep svnserve
[[email protected] conf]# kill -9 4908
或者
或者