Linux搭建SVN伺服器

2021-09-20 18:15:44 字數 3035 閱讀 7490

1 安裝svn

# yum install subversion:

1.新建乙個目錄用於儲存svn所有檔案

# mkdir /svn
2. 新建乙個資源倉庫

# svnadmin create /svn/project   # ls /svn/project/   conf db format hooks locks readme.txt
目錄用途說明:l hooks目錄:放置hook指令碼檔案的目錄

l locks目錄:用來放置subversion的db鎖檔案和db_logs鎖檔案的目錄,用來追蹤訪問檔案庫的客戶端

l format檔案:是乙個文字檔案,裡面只放了乙個整數,表示當前檔案庫配置的版本號

l conf目錄:是這個倉庫的配置檔案(倉庫的使用者訪問賬號、許可權等)

3. 配置svn服務的配置檔案svnserver.conf檔案

# vi /svn/project/conf/svnserve.conf   [general]   anon-access = none   auth-access = write   password-db = /svn/project/conf/passwd   authz-db = /svn/project/conf/authz   realm = my test repository #這是個提示資訊
儲存

4. 新增兩個訪問使用者及口令

# vi /svn/project/conf/passwd   [users]   xiaoran.shen = 123456   test1 = 123456   test2 = 123456
儲存

注意:對使用者配置檔案的修改立即生效,不必重啟svn服務。

5. 配置新使用者的授權檔案

# vi /svn/project/conf/authz   [groups]   admin = xiaoran.shen,test1   user = test2   [/]   @admin = rw   @user = r   * =
儲存

格式說明:

版本庫目錄格式:

[《版本庫》:/專案/目錄]

@《使用者組名》 = 《許可權》

《使用者名稱》 = 《許可權》

/ 表示對根目錄(即/svn/project目錄)下的所有子目錄範圍設定許可權;

[/abc] 表示對資料庫中abc專案設定許可權;

建立乙個admin組,組成員包括xiaoran.shen和test1

建立乙個user組,成員只有test2;

admin組對目錄有讀寫許可權;

單個使用者test2有讀寫許可權;

*=表示除了上面設定的許可權使用者組以外,其他所有使用者都設定空許可權,空許可權表示禁止訪問本目錄,這很重要一定要加上。

注意:對許可權配置檔案的修改立即生效,不必重啟svn。

6. 啟動svn服務

svnserve -d -r /svn/project/

注意:不要使用系統提供的 /etc/init.d/svnserve start 來啟動,因為系統預設的啟動指令碼中沒有使用 –r /svn/project引數指定乙個資源。這種情況下啟動的svn服務,客戶端連線會提示「svn: no repository found in 'svn:' 」這樣的錯誤。

預設svn伺服器端口是3690。

殺死svn服務:

# ps -ef|grep svn   root 4642 1 0 16:08 ? 00:00:00 svnserve -d -r /svn/project/   root 4692 3676 0 16:13 pts/2 00:00:00 grep svn   # kill -9 4642
若要使用/etc/init.d/svnserve 指令碼,可以修改start()函式部分,如下:

start()  $exec $args -r /svn/project   retval=$?   echo   [ $retval -eq 0 ] && touch $lockfile   return $retval   }
完成 

2 使用客戶端連線

2.1 使用windows的客戶端

開啟tortoisesvn repository browser工具

在url中輸入:

svn:回車,提示輸入使用者名稱和口令

2.2 使用linux下的命令列

# svn co svn:
3 faq3.1 命令列方式連線,提示svn: no repository found in 'svn:'錯誤?

解決:啟動svn服務的時候沒有使用-r /svn/project引數,沒有指明資源庫的具體路徑。使用# svnserve -d -r /svn/project/ 命令來啟動就可以了,不要使用/etc/init.d/svnserver指令碼。

3.2 執行命令# svn co svn:時提示「svn: authorization failed」錯誤?

解決:一般這種授權失敗的錯誤原因都來自conf/authz檔案的配置

正確的配置如下:

[groups]   admin = xiaoran.shen,test1   user = test2   [/]   @admin = rw   @user = rw   * =  

修改svnserve.conf 檔案時。解開注釋時要注意,同時要刪除#後面的空格,否則報錯:svnserve.conf:12: option expected

編輯iptables 增加3690埠

儲存

linux 搭建SVN伺服器。

1 根據subversion 的 configure 時的引數需要,新增 sqlite zlib 等 包 這些要在subversion之前安裝,2 裝httpd 3 再裝 subversion 在裝 subversion時 make install 出錯 如下 error while loading...

Linux搭建SVN 伺服器

沈小然 日期 2014年8 月5日 svn客戶端 tortoisesvn yum install subversion 1.新建乙個目錄用於儲存 svn所有檔案 mkdir svn 2.新建乙個資源倉庫 svnadmin create svn project ls svn project confd...

Linux搭建SVN伺服器

之前搭建過一次,沒什麼難度,但是後來出了點問題,就沒再去用,這次重新搭建,遇到很多坑,等我這次排完坑,也對這個版本管理工具有了比較深入的了解,特此寫一篇文章,記錄一下。我的環境為centos 6.5 64位。1 先安裝啊。一條簡單的命令 yum y install subversion 2 建立乙個...