您好,登錄后才能下訂單哦!
這篇文章主要講解了“linux系統如何安裝SVN服務器”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“linux系統如何安裝SVN服務器”吧!
一、安裝SVN
官網下載:http://subversion.apache.org/packages.html
SVN客戶端:TortoiseSVN,官網下載:http://tortoisesvn.net/downloads.html
# 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
版權所有 (C) 2000-2009 CollabNet。Subversion 是開放源代碼軟件,請參閱 http://subversion.tigris.org/ 站點。此產品包含由 CollabNet(http://www.Collab.Net/) 開發的軟件。
下列版本庫后端(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目錄:放置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 #這是個提示信息
保存
【[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
* =
保存
格式說明:
版本庫目錄格式:
[<</span>版本庫>:/項目/目錄]
@<</span>用戶組名> = <</span>權限>
<</span>用戶名> = <</span>權限>
/ 表示對根目錄(即/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://192.168.11.229/project' ”這樣的錯誤。
默認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() {
[ -x $exec ] || exit 5
[ -f $config ] || exit 6
echo -n $"Starting $prog: "
daemon --pidfile=${pidfile} $exec $args -r /svn/project
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
完成
二、使用客戶端連接
2.1 使用windows的客戶端
打開TortoiseSVN Repository Browser工具
在URL中輸入:
svn://192.168.11.229回車,提示輸入用戶名和口令
2.2 使用Linux下的命令行
#
svn co svn://192.168.11.229
3 FAQ
3.1 命令行方式連接,提示svn: No repository found in 'svn://192.168.11.229/project'錯誤?
解決:啟動svn服務的時候沒有使用-r /svn/project參數,沒有指明資源庫的具體路徑。使用# svnserve -d -r /svn/project/ 命令來啟動就可以了,不要使用/etc/init.d/svnserver腳本。
3.2 執行命令# svn co svn://192.168.11.229/project時提示“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服務器”的內容了,經過本文的學習后,相信大家對linux系統如何安裝SVN服務器這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。