众所周知,nginx目前是不支持svn的,并且由于机房网络只开了80和22(ssh)端口,所以这时候就没法单独在服务器上搭建apache+svn 。所以就产生了 nginx + apache + svn的需求,具体做法是将外网通过80端口进来的请求到达nginx之后转发到apache上,然后进行svn操作。具体的安装及详细的配置这里不一一赘述了 网上有很多解决方案。主要说一下,nginx做反向代理到apache的配置及经常容易出现的权限不足问题。

首先通过iptables打开一个本机的8080端口作为apache端口,由于机房网络禁用了8080端口,所以这时候请求是不能通过8080端口到达服务器的,但是可以通过nginx的80端口到达nginx,这时候再在本机转发给apache的8080端口就可以了,具体nginx配置文件如下

server {
 listen 80;
 server_name yourdomain;
 location / {
  root html/svn;
  index index.html index.htm;
  proxy_pass http://127.0.0.1:8080;
 }
}

其余的ngixn、apache、svn配置按常规配,这时候不需要在svn里配置用户密码及访问规则了,因为是通过apache过来的请求,这时候只要在apache里配置好用户密码及访问规则文件就可以了。

其余省略1万字。

接下来,在配置完全正确的情况下,还是会经常会出现各种各样的权限问题,比如可以下载更新svn,但是不能提交上传。只要出现这样的权限问题说明了,肯定在某个地方的权限配置还是存在错误的地方。一般会出现在这2个地方。

1  首先,仓库的存放目录,如果放在 /usr/local ...    等目录下,是不可以的,应该将仓库目录放在 /var/* 目录下,比如 /var/www/repos

2 在目录放正确的情况下,还是会出现上传权限不够的情况是什么原因呢?这时候看看 apache配置文件里的用户和组 都是  apahce     而 /var/www/repos 的用户和组是非apache的用户,问题就出在这里。因为nginx把请求转发给apache之后,apahce将请求交给svn,这时候svn的用户是谁啊?是apache    ,所以只要将/var/www/repos的用户和组改为 apache:apache 即可,问题基本解决。

其余的种种问题网上基本都有解决方案,所以只写这点关键部分吧。如果在查了N多资料还是解决不了 nginx + apache + svn 搭建过程中遇到的问题,请联系我!

linux上nginx+apache 搭建 svn服务器的更多相关文章

  1. 在Linux上用Apache搭建Git服务器

    在Linux上用Apache搭建Git服务器   最近在学Linux,终于在Linux上用Apache搭建起了Git服务器,在此记录一下. 服务器:阿里云服务器 Linux版本:CentOS 6.5 ...

  2. Linux(centos)搭建SVN服务器完美方案及遇到的问题--费元星站长

    QQ:971751392 (欢迎交流) linux搭建SVN服务器 安装步骤如下: 1.yum install subversion   2.输入rpm -ql subversion查看安装位置,如下 ...

  3. Linux(CentOS)系统下搭建svn服务器

    由于GitHub的私有项目需要收费,gitlab对服务器的要求必须是4GB内存以上.对于一些个人的小型项目,想要免费的版本控制工具来管理自己的代码,又不想代码公开,无疑SVN是比较好的选择.windo ...

  4. Linux CentOS7 通过 yum 搭建 svn 服务器,并配置权限

    1,使用 yum 安装 svn 服务器 yum -y install subversion rpm -ql subversion -- 改命令可以查看 svn 的安装位置 2,创建仓库根目录,可任意选 ...

  5. 在Linux上使用web2py_uwsgi_nginx搭建web服务器

    本文介绍在Linux使用Python+Nginx+web2py+uWSGI搭建一个web服务器的过程. Python 2.7.11 解压安装包 tar -zxvf Python-2.7.11.tgz ...

  6. linux(centos)搭建SVN服务器

    安装步骤如下: 1.yum install subversion   2.输入rpm -ql subversion查看安装位置,如下图:   我们知道svn在bin目录下生成了几个二进制文件. 输入 ...

  7. windows下svn+apache搭建svn服务器

    使用软件: apache_2.0.55-win32-x86-no_ssl.msi Setup-Subversion-1.5.3.msi TortoiseSVN-1.5.10.16879-win32-s ...

  8. Linux上rpm实战搭建FTP服务器

    1.检测是否已安装FTP服务 # rpm -qa|grep vsftpd 2.未安装ftp服务的前提进行使用rpm安装 # yum install vsftpd -y Loaded plugins: ...

  9. Linux centos 6.5 搭建 svn服务器

    实例:web1 1.安装subversion #yum install subversion #mkdir -p /oop/svn/ //创建svn目录 #chmod -R 777 /oop/svn ...

随机推荐

  1. sql sever 2008修改数据类型

    如果是新表,直接在表中修改: 如果不是新表,则须sql语句修改 附sql语句 alter table 表名 alter column 列名 新的数据类型

  2. Centos6.X下安装php nginx mysql 环境

    ---------------------------------------更换163软件源,此步可以省略,记得把repo文件里面的6.5改成当前版本号 yum makecache &&am ...

  3. (Python) 安装、基本语法

    从今天起,我将开启python学习模式,并用博客记录学习的过程和相关知识点 1.Python下载安装 可以在官网:https://www.python.org/downloads/ 中下载各种版本的P ...

  4. noip2014-day2-t2

    题意:在有向图G 中,每条边的长度均为1 ,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件: 1 .路径上的所有点的出边所指向的点都直接或间接与终点连通. 2 .在满足条件1 ...

  5. IE9或以上的浏览器flash值为空时,导致domready不触发

    在前些时间开发中遇到一个问题当flash值<param name="movie" value=""/>为空时,IE版本>=9不会触发domre ...

  6. 嵌入式系统coredump设计

    阴沟翻船,马失前蹄,说明凡事皆有可能.自然,程序设计的再好,也会有crash的时候.开发期还还说,正式交付的系统crash自然更是难以承受的.无论何时,死一次就够了,得有方法查个水落石出. 几年前哥去 ...

  7. 搭建struts2框架

    struts是一个经典的MVC模式拦截器比过滤器拦截的力度更大 搭建struts2框架1.引入lib包 9个(2.3版本的)common-fileupload;common-io;common-lan ...

  8. 【转】Android studio 解决64K超出链接数限制问题

    http://my.oschina.net/gabriel1215/blog/602608 目录[-] 使用MultiDex支持库 注意事项 结论 如果你是一个android开发者,你至少听说过的Da ...

  9. PHPCMS联动菜单的调用函数get_linkage方法详解

    v9联动菜单调用方法[注意此为内容页调用方法 {get_linkage($areaid,1,' >> ',1)} 显示效果: 湖北省 >> 武汉市 >> 汉阳区 [ ...

  10. 数据库知识整理<三>

    保证数据的完整性: 3.1数据完整性概述: 数据完整性的意义:我们知道数据库能防止储存垃圾数据,RDBMS实现该功能主要是通过维护数据完整性来实现的.根据数据完整性实施方法我们将其分为四类:实体完整性 ...