ubuntu server下搭建svn服務以及遷移的方法ubuntu server下搭建svn服務以及遷移的方法,,感興趣的朋友可以參考下,。 搭建SVN服務 復制代碼 代碼如下:
sudo apt-get install apache2
然后安裝subversion及svn-apache連接庫: 復制代碼 代碼如下:
sudo apt-get install subversion
sudo apt-get install libapache2-svn 增加svn用戶組,,用于管理svn,并加入到www-data的apache組: 復制代碼 代碼如下:
sudo addgroup subversion
sudo usermod -G subversion -a www-data 然后可以創(chuàng)建svn項目倉庫了: 復制代碼 代碼如下:
# 一般可以將項目倉庫建立到/home/svn目錄
# 假設項目名為myproject,,先建立空目錄 $ sudo mkdir /home/svn $ cd /home/svn $ sudo mkdir myproject $ sudo chown -R root:subversion myproject #創(chuàng)建為svn項目,,使用以下命令 $ sudo svnadmin create /home/svn/myproject # 然后才賦予組成員對所有新加入文件倉庫的文件擁有相應的權(quán)限: # 如果命令順序搞錯,可能會報錯,,請參照官方wiki $ sudo chmod -R g+rws myproject 最后是配置apache,,用http協(xié)議訪問svn服務: 復制代碼 代碼如下:
# 在安裝了libapache2-svn時會自動生成該文件
$ sudo vi /etc/apache2/mods-available/dav_svn.conf 編輯dav_svn.conf配置文件,內(nèi)有注釋,,可以去掉前面的#使語句生效,,最后內(nèi)容大概如下即可: 復制代碼 代碼如下:
<Location /svn> #/svn表示http://hostname/svn/myproject
DAV svn SVNParentPath /home/svn #配置倉庫父目錄 AuthType Basic AuthName "ToFishes Project Svn" AuthUserFile /etc/subversion/passwd #svn用戶文件 AuthzSVNAccessFile /etc/subversion/authz #授權(quán)訪問文件 Require valid-user </Location> svn用戶文件/etc/subversion/passwd 和 授權(quán)訪問文件/etc/subversion/authz是不存在的,需要手動創(chuàng)建,。 svn用戶文件可以通過命令創(chuàng)建: 復制代碼 代碼如下:
#首次創(chuàng)建需要加-c選項,,同時可以增加一個svn用戶
#執(zhí)行該命令會提示為新用戶user_name設置密碼 sudo htpasswd -c /etc/subversion/passwd user_name #以后添加新用戶,需要去掉-c選項,,否則以前的用戶就被覆滅了 sudo htpasswd /etc/subversion/passwd new_name 用戶是可以添加了,,同時需要管理授權(quán),用于多個svn項目,,劃分不同的用戶組: 用vi /etc/subversion/authz編輯授權(quán)文件,,無文件則編輯并保存后會自動創(chuàng)建,無需擔心,。 授權(quán)文件內(nèi)容格式如下: 復制代碼 代碼如下:
#用戶組指令
[groups] #格式為 組名 = 用戶名1,,用戶名2 group1 = user1, user2 group2 = user1, user3 #other groups... #格式為 svn項目的倉庫名:對應目錄 [svn_repository_name:/] #設置組的權(quán)限,r=read, w=write @group1 = rw [svn_repository_name2:/web/css] @group2 = rw 改完最后重啟apache : sudo /etc/init.d/apache2 restart,。這樣工作就全部完成了,。 其中訪問地址是什么呢,只要當前服務器已經(jīng)綁定了一個域名,,并且在apache中啟用了此域名的虛擬主機,。 比如能正常訪問 http://www./, 那么svn項目的訪問地址就是 http://www./svn/項目名。 遷移SVN倉庫 最近服務器硬盤壞道導致頻繁自動關(guān)機,,所以需要遷移SVN到新的服務器去,。 1. 在老服務器進行導出操作: 2. 在新服務器將dumpfile.svndump導入到新的repository 目錄中,。 如果項目倉庫比較多,附上一個批處理導出命令,,導入的改改就行了: 復制代碼 代碼如下:
#!/bin/bash
cd /home/svn filelist=`ls` #符號·不是單引號,,而是位于鍵盤感嘆號左側(cè) for fname in $filelist do svnadmin dump $fname > /home/svndump/${fname}.svndump #echo $fname #最好是root用戶執(zhí)行,否則要sudo了 done 那么本地項目svn的檢出及更新地址就需要變更了,, 使用TortoiseSVN工具的右鍵找到Relocate菜單就可以了,,而使用命令的話如下: 復制代碼 代碼如下:
#在項目目錄查看下倉庫地址
$ svn info #回顯中的URL項就是舊版地址oldpath #然后切換到新版地址newpath即可 $ svn switch --relocate http://oldpath http://newpath #查看信息確認下 $ svn info 參考內(nèi)容: |
|