1. 程式人生 > >Linux 安裝svn服務器

Linux 安裝svn服務器

linux 安裝 帳號 repos gen ref 控制文件 文件配置 posit tor

下載Subversion

盡管Subversion是apache的一個項目,然而Apache沒有為任何系統單獨開發安裝的二進制文件,下面的鏈接是任何版本的Linux安裝svn的方式。

Linux安裝Subversion鏈接 ,使用包管理命令例如,YUM和APT包管理安裝軟件。

windows安裝鏈接 ,下載之後直接點擊安裝即可(需要記住安裝路徑)。

安裝Subversion

Linux 安裝使用以下命令進行安裝:

sudo yum install subversion
apt-get install subversion

windows安裝,點擊下載的安裝包,並設置相應的安裝路徑。

檢驗subversion是否成功,輸入以下命令就可以看到安裝的svn版本。

svnserve --version

技術分享圖片

windows安裝之後檢測是否安裝成功,需要在環境變量配置中添加相應的安裝包的路徑。

開啟Subversion服務

Linux安裝Subversion的時候就自動創建了一個啟動服務的文件腳本,路徑為 /etc/init.d/svnserve。這個腳本可以用來開啟Subversion服務。Linux環境下開啟Subversion服務的命令如下:

sudo /etc/init.d/svnserve start

windows的話直接在控制面板中進行該服務的開啟。

創建SVN版本庫目錄

在linux中創建版本庫目錄的命令如下:

mkdir -p REPOS_PATH

REPOS_PATH 代表的是創建版本庫目錄的路徑。

比如:

mkdir –p /ciroot/subversion/repository

在windows 下創建版本庫目錄的命令如下:

mkdir REPOS_PATH

比如:

mkdir C:\ciroot\subversion\repository

創建SVN版本庫

接著通過上一步創建的版本庫目錄進行SVN版本庫創建。在linux下創建版本庫的命令如下:

svnadmin create /ciroot/subversion/repository

在windows下創建版本庫的命令如下:

svnadmin create C:\ciroot\subversion\repository

執行後,自動建立repositories庫,查看/opt/svn/repositories文件夾包含了conf,db,format,hooks,locks,README.txt等文件,說明一個SVN庫已經建立。

通過svn客戶端訪問svn版本是有文件權限以及用戶訪問權限控制的,下面通過配置文件來配置訪問權限。默認用戶具有只讀權限。

配置SVN版本庫

下面為了能夠通過SVN客戶端進行版本庫的訪問,通過進入REPOS_PATH/conf/目錄下的文件來進行配置,配置方式如下。註:REPOS_PATH 是上面創建版本庫目錄。

進入到conf目錄下:

cd /ciroot/subversion/repository/conf

技術分享圖片

進入該目錄,發現有authz、 passwd、svnserve.conf 。

authz文件是權限控制文件

passwd是帳號密碼文件

svnserve.conf SVN服務配置文件

進入配置文件中設置賬號密碼

輸入如下命令進入賬號密碼設置。

vi passwd 

[users]塊中添加用戶和密碼,格式:帳號=密碼,如test=123456

技術分享圖片

設置權限

輸入如下命令進行權限的配置。

vi authz

設置哪些用戶可以訪問哪些目錄,向authz文件追加以下內容:

[/]
test=rw  //給該用戶訪問所有庫的權限

[repository:/project] //repository庫的根目錄權限
test=rw

/ 表示根目錄及以下,根目錄是svnserve啟動時指定的,我們指定的是/ciroot/subversion;/ 就是指對全部版本庫都具有權限

repository:/ 表示對庫repository的根目錄設置權限

PS:

* 權限配置文件中出現的用戶名必須已在用戶配置文件中定義。

* 對權限配置文件的修改立即生效,不必重啟svn。

svnserve.conf文件配置

輸入如下命令,對svnserve.conf進行配置

 vi  svnserve.conf
[general]
#匿名訪問的權限,可以是read,write,none,默認為read
anon-access=none
#使授權用戶有寫權限
auth-access=write
#密碼數據庫的路徑
password-db=passwd
#訪問控制文件
authz-db=authz
#認證命名空間,subversion會在認證提示裏顯示,並且作為憑證緩存的關鍵字
realm=/ciroot/subversion/repository

這裏註意各標簽不能錯,也不能有重復,不然無法連接。

啟動svn版本庫

# svnserve -d -r /ciroot/subversion/repository

輸入如下命令檢查svn是否啟動成功。

ps -ef|grep svn|grep -v grep 

技術分享圖片

停止和啟動svn

# killall svnserve //停止
# svnserve -d -r /opt/svn/repositories // 啟動

最後通過安裝tortoisesvn 客戶端進行驗證。

技術分享圖片

Linux 安裝svn服務器