Linux搭建SVN 伺服器

2022-07-15 02:15:08 字數 2529 閱讀 5221

# yum install subversion

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

# mkdir /svn

2.       新建乙個資源倉庫

# svnadmin create /svn/project

# ls /svn/project/

conf  db  format  hooks  locks  readme.txt

目錄用途說明:

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

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

完成 開啟tortoisesvn repository browser工具

在url中輸入:

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

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

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

正確的配置如下:

[groups]

admin = xiaoran.shen,test1

user = test2

@admin = rw

@user = rw

儲存

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 建立乙個...