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 / {

}

}

重启nginx,访问www.qinyujie.com:8080即可。