linux安裝SVN伺服器

2021-09-20 19:03:56 字數 4182 閱讀 1280

1          

安裝svn

svn# yum install subversion

1.       

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

# mkdir /svn

1)建立svn使用者#groupadd svn #useradd -g sky user//

是將user加入到sky組內 切換使用者 #su svn 以後**庫的建立維護等,都用這個帳戶來操作。

2)驗證安裝

檢驗已經安裝的svn版本資訊 [root@localhost modules]# svnserve--version

svnserve

,版本 1.6.11 (r934486)編譯於 jun 23 2012,00:44:03

下列版本庫後端(fs) 模組可用:

* fs_base : 

模組只能操作bdb版本庫。 * fs_fs : 模組與文字檔案(fsfs)版本庫一起工作。

cyrus sasl 

認證可用。

2.       

新建乙個資源倉庫

# svnadmin create /svn/project

# ls /svn/project/

conf  db  format  hooks  locks  readme.txt

目錄用途說明:

l  hooks

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         #

這是個提示資訊

儲存【[general #

匿名訪問的許可權,可以是read,write,none,預設為readanon-access=none#使授權使用者有寫許可權auth-access=write#密碼資料庫的路徑 password-db=passwd#訪問控制檔案 authz-db=authz#認證命名空間,subversion會在認證提示裡顯示,並且作為憑證快取的關鍵字

realm=/opt/svn/repositories】

以上語句都必須頂格寫, 左側不能留空格, 否則會出錯.

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

[/](#設定[/]代表根目錄下所有的資源 [/] 或者寫成[repl:/])

@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  016:08 ?        00:00:00 svnserve -d -r/svn/project/

root      4692  3676  0 16:17pxs/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          faq

3.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

* =儲存

如果連線的時候出現認證失敗,請檢查authz和svnserve.conf配置檔案。

【如果連線出錯,請檢查防火牆設定 #vi /etc/sysconfig/iptables 加入: -a input -m state --state new -m tcp -p tcp --dport 3690 -j accept#service iptables restart

建立啟動subversion的指令碼: #echo 'svnserve -d -r/opt/lampp/htdocs/_svn/' > start_svn.sh #chmod 0777 start_svn.sh#./start_svn.sh

將啟動指令碼放置到開機自動啟動指令碼中:以root身份修改檔案:/etc/rc.d/rc.local,新增以下文字: su -c /opt/lampp/htdocs/_svn/start_svn.sh svn】

linux安裝svn伺服器

1 解壓 tar xvf subversion 1.6.7.tar.bz2 tar xvf subversion deps 1.6.7.tar.bz2 3 編譯 bin資料夾執行命令 make 4 安裝 bin資料夾執行命令 make install 6 測試安裝是否成功 svnserve vers...

linux安裝svn伺服器

1.檢查了是否安裝了舊版的svn rpm qa subversion 2.如果是則需要解除安裝 yum remove subversion 3.安裝svn yum y install subversion 4.建立svn版本庫 mkdir p home xuyw svn 建立目錄 svnadmin ...

linux安裝svn伺服器

1 檢查系統是否已經安裝如果安裝就解除安裝 檢查 svnserve version 解除安裝 yum remove subversion 2 安裝 yum install subversion 3 建立svn庫 檔案位置可自由 建立倉庫資料夾 mkdir p opt svn repository 用...