Nginx代理转发Apache+svn
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即可。