安裝svnapache
yum -y install mod_dav_svn subversionvim
安裝httpd即apache服務器
yum -y install httpdide
1.svn
配置svn倉庫ui
mkdir -p /data/svnip
創建svn版本庫(能夠創建多個倉庫)it
svnadmin create /data/svn/projectio
2.修改svn版本庫配置class
vi /data/svn/project/conf/svnserve.conf
anon-access = none
auth-access = write
password-db = /data/svn/passwd #指向用戶配置文件
authz-db = /data/svn/authz #指向權限配置文件
配置svn用戶和權限
vim /data/svn/authz
[groups] #權限分組
manager=admin
[/] #根目錄
@manager=rw #manager組有讀寫權限
[project:/] #project庫
*=r #全部人都有讀取權限
建立用戶名和密碼文件
cd /data/svn/
htpasswd -c passwd admin
3.
開啓httpd訪問
vi /etc/httpd/conf.d/subversion.conf
<Location /svn/>
DAV svn
SVNParentPath /data/svn/ #必定要注意,這裏是建立版本庫的父目錄
AuthType Basic
AuthName "Subversion repos"
AuthUserFile /data/svn/passwd
AuthzSVNAccessFile /data/authz
Require valid-user
</Location>
其中/data/svn是準備放倉庫的目錄,這個目錄能夠放置多個代碼倉庫,AuthUserFile就是用戶和密碼的文件,也能夠移動到其餘地方單獨管理.
vi /etc/httpd/conf/httpd.conf
將裏面的 #ServerName localhost:80 註釋去掉
修改Linsten端口爲80外的其它端口
訪問: http://ip/svn/project
完成.
############################################################################################################
解決SVN Can’t open file ‘/XXX/xxx/db/txn-current-lock’錯誤
出現這種問題的緣由在於搭建SVN服務器,包括建立Repository目錄/home/svn目錄下的一切子目錄和文件都是在root用戶下進行的,所 以在root用戶下檢出、提交都沒有問題。可在Windows PC上從客戶端訪問就有問題了,由於是隻有擁有管理器權限的人才能對Repository目錄進行徹底控制,而在Windows從客戶端訪問的話,由於是 Users用戶組的,對Repository沒有修改權限,因此不能提交。
解決辦法: 在服務器上把Users對Repository的徹底控制權限加上就能夠了,執行以下命令對/home/svn目錄下的全部文件和子目錄添加Users的讀寫權限
執行下面的命令:
chmod -R o+rw /home/svn
#這裏的路徑是你項目庫的根目錄
###############################################################################################################
The URI does not contain the name of a repository. [403, #190001]
解答:這是因爲subversion.conf文件中SVNParentPath路徑設置不正確引發的,SVNParentPath路徑必須爲svnadmin create生成數據倉庫路勁的父目錄,如上面創建數據倉庫的命令爲svnadmin create /storage/svn/aiezu,則SVNParentPath爲/storage/svn