標籤:svn centos apache
安裝svn
yum -y install mod_dav_svn subversion
安裝httpd即apache
yum -y install httpd
1.
配置svn倉庫
mkdir -p /data/svn
建立svn版本庫(可以建立多個倉庫)
svnadmin create /data/svn/project
2.修改svn版本庫配置
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
本文出自 “自動化營運” 部落格,請務必保留此出處http://zdhyw.blog.51cto.com/7744211/1929708
centos6.5下 svn+apache搭建