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即可。

posted @ 2017-07-12 18:21  GeminiMp  阅读(2482)  评论(0编辑  收藏  举报