1.安裝svn和httpd
yum install httpd
yum install subversion mod_dav_svn
創建倉庫目錄
mkdir -p /var/www/svn
3.創建svn倉庫
svnadmin create /var/www/svn/project
4.配置改倉庫的配置文件
vim /var/www/svn/project/conf/svnserve.conf
5.禁用匿名用戶並開啟驗證用戶權限。
anon-access = none
auth-access = write
6.整合Apache
vi /etc/httpd/conf.d/subversion.conf 加入以下:
<Location /project>
DAV svn
SVNPath /var/www/svn/project/
AuthType Basic
AuthName "svn"
AuthUserFile /var/www/svn/project/conf/passwd
Require valid-user
</Location>
給svn目錄權限。
chown apache.apache /var/www/svn -R
chmod 777 /var/www/svn -R
創建認證賬號。
cd /var/www/svn/project/conf
htpasswd -c passwd user
7.編輯authz文件,設置guest組包含user用戶。
[groups]
guest = user
#配置組權限,設置根目錄下guest組為可讀寫,其他用戶為可讀。
[/]
guest = rw
* = r
svnserve -d -r /var/www/svn/project #開啟svn服務即可。http://ip/project
8:導入:
svn import -m psm http://192.168.0.162/project/
輸入用戶名密碼即可。
9:其他:
添加認證用戶:htpasswd -c passwd aaa 編輯authz文件
[groups]
guest = aaa,user
svn co http://192.168.0.162/project/ #checkout代碼。
svn up svn目錄 --username aaa svn代碼目錄。 #更新代碼庫。
svn ci -m "備注信息" --username aaa svn代碼目錄。#提交到代碼庫。或者到svn目錄里面svn ci -m "備注" --username aaa
10.因環境中配有nginx,則使用nginx代理轉發到apache上。具體實現如下:
因apache占用80端口。所以要改掉nginx或Apache的端口號。
server {
listen 8080;
server_name www.qinyujie.com;
root /var/www/svn/project; #根目錄指向svn代碼目錄
location / {
proxy_pass http://192.168.0.162/project/; #利用proxy_pass將請求轉發到Apache上。
}
}
重啟nginx,訪問www.qinyujie.com:8080即可。