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