1、簡介shell
Subversion通常使用兩種後臺服務模式:一種是其本身實現的 svnserve,能夠經過svn協議訪問,另外一種是藉助mod_dav_svn 模塊,由Apache http 服務器來實現,而後經過HTTP或HTTPS協議來訪問。下面要介紹的該種svn的搭建方式,與前文中的搭建方式略有不一樣。就難易程度上來說,實現svn協議訪問的這種方式比apache http的方式要容易許多~apache
2、安裝步驟vim
步驟一 使用apt包管理器來安裝subversion緩存
sudo apt-get subversion
ps:若是是rpm系列的相似(yum install subversion)服務器
步驟二 創建svn的安裝目錄svn
mkdir -p /home/user/svn
ps: 這裏主要-p參數用來遞歸建立目錄工具
步驟三 指定安裝目錄爲svn的項目目錄spa
svnadmin crteate /home/user/svn
ps:該步驟比較重要,執行完該步驟之後,svn目錄下將會出現一個很是核心的目錄conf,目錄中的文件以下:日誌
conf/code
authz 該文件主要爲用戶的受權文件
passwd 該文件爲用戶的用戶名和密碼
svnserve.conf 該文件用來控制項目的讀寫權限,以及項目的用戶文件和受權的文件的路徑。
步驟四 修改conf中的配置文件
vim svnserve.conf
文件修改說明:
anon-access = none #匿名訪問用戶的權限爲無
auth-access = write #認證權限爲寫權限
password-db = passwd #該passwd文件默認爲conf下的文件
authz-db = authz #用戶受權文件默認爲conf下的authz文件
realm = repo name #倉庫的名字
vim passwd
文件修改說明:
user = passwd
vim authz
文件修改說明:
[svn:/]
user = rw
步驟五 開啓svnserve服務
svnserve -d -r /home/user/svn [--listen-port=port]
ps: -d 表示之後臺模式運行,-r 用於指定倉庫的位置。--listen-port這個參數指定svn服務監聽的端口爲port值,默認不指定的狀況下,監聽的端口爲3690。
3、FAQ 常見問題
1) 更新項目的時候,出現 db/txn-current-lock: Permission denied
答:查看一下指定項目下的db/目錄的屬組,可能因爲該目錄的屬組設置爲root,那麼你須要將該屬組改爲一個比較低級別的用戶,能夠是user能夠是其餘的。同時須要修改db的讀寫權限,我我的經常【暴力】的將其chmod爲777。
reference :
chown -R user:user db/
chmod -R 777 db/
2) 下載項目的時候,出現 svn: Authorization failed
答:這一個錯誤一般是因爲authz文件中的內容錯誤致使的,可使用svn自帶的一個配置文件檢測工具來檢測一下該authz文件是否存在問題,若是存在語法問題,修改語法格式,若是不存在語法問題,那麼頗有可能未設置根目錄的權限。能夠在authz中追加以下信息:
[/] andrew = rw
這樣andrew就擁有了對根目錄的讀寫權限
3)在winows的tortoisesvn客戶端下,顯示日誌出現錯誤,出現相似:鏈接服務器失敗,你想使用緩存中的數據嗎?
答:極可能是因爲svnserve.conf文件中的anon-access的值爲read,只要將anon-access的值改成none便可。
anon-access = read => acnon-access = none
原理:以anon身份去讀項目內容的時候,因爲在authz中沒有給anon配置權限,這形成了沒法讀取log item not readable的問題。
4)在用戶客戶端svn add 目錄的時候,出現相似如下問題:
svn: warning: W150002: '/Users/piercalex/svn/azzz/1' is already under version control svn: E200009: Could not add all targets because some targets are already versioned svn: E200009: Illegal target for the requested operation
答:
svn add /Users/piercalex/svn/azzz/1 --force svn add 目錄名 --force
這樣就能夠把這個目錄的東西提交進去。
4、總結
好記性不敵爛筆頭,最近深深感覺到本身記憶力的降低,不知道是工做量的增大仍是歲數太大的緣由(其實我仍是90後啦)。記憶力衰退也算一個契機吧,這樣督促本身將本身工做中的事情記錄下來,無事一身輕,哎,還有好多事情要記錄一下尼,才能作到身輕如燕~