linux上nginx+apache 搭建 svn服务器
众所周知,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服务器的更多相关文章
- 在Linux上用Apache搭建Git服务器
在Linux上用Apache搭建Git服务器 最近在学Linux,终于在Linux上用Apache搭建起了Git服务器,在此记录一下. 服务器:阿里云服务器 Linux版本:CentOS 6.5 ...
- Linux(centos)搭建SVN服务器完美方案及遇到的问题--费元星站长
QQ:971751392 (欢迎交流) linux搭建SVN服务器 安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下 ...
- Linux(CentOS)系统下搭建svn服务器
由于GitHub的私有项目需要收费,gitlab对服务器的要求必须是4GB内存以上.对于一些个人的小型项目,想要免费的版本控制工具来管理自己的代码,又不想代码公开,无疑SVN是比较好的选择.windo ...
- Linux CentOS7 通过 yum 搭建 svn 服务器,并配置权限
1,使用 yum 安装 svn 服务器 yum -y install subversion rpm -ql subversion -- 改命令可以查看 svn 的安装位置 2,创建仓库根目录,可任意选 ...
- 在Linux上使用web2py_uwsgi_nginx搭建web服务器
本文介绍在Linux使用Python+Nginx+web2py+uWSGI搭建一个web服务器的过程. Python 2.7.11 解压安装包 tar -zxvf Python-2.7.11.tgz ...
- linux(centos)搭建SVN服务器
安装步骤如下: 1.yum install subversion 2.输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件. 输入 ...
- 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 ...
- Linux上rpm实战搭建FTP服务器
1.检测是否已安装FTP服务 # rpm -qa|grep vsftpd 2.未安装ftp服务的前提进行使用rpm安装 # yum install vsftpd -y Loaded plugins: ...
- Linux centos 6.5 搭建 svn服务器
实例:web1 1.安装subversion #yum install subversion #mkdir -p /oop/svn/ //创建svn目录 #chmod -R 777 /oop/svn ...
随机推荐
- cinder backup
cinder 备份提供的驱动服务有: cinder/backup/drivers/ceph.py:def get_backup_driver(context): cinder/backup/drive ...
- shell 脚本注意事项
设脚本名为test.sh 第一行应该为#! /bin/bash 1.运行和调试的结果是不一样的 调试 sh -x test.sh 这时在计算两个数的和sum=$[$a+$b]时得到sum=3+4,而 ...
- 20145225 《Java程序设计》第2周学习总结
20145225<Java程序设计> 第2周学习总结 教材学习内容总结 3.1.1Java的类型 分为基本类型(Primitive type)和类类型(Class type) 基本类型: ...
- Backbone.js入门教程
原文: Getting Started with Backbone.js 不像其它的Web开发语言,过去Javascript很少可用的架构.令人感到高兴的是,最近几年这种情况得到非常大的改善. 今天我 ...
- weborm 简单控件
Label - 显示文字,编译后是spanLiteral - 显示文字,编译后没有形成元素 只是文字 一般用来输出 js代码内容 TextBox - 文本框 TextMode -普通文本框 singl ...
- Jade之Extends
Extends jade允许多个jade文件继承一个jade文件. jade: //- layout.jade doctype html html head block title title Def ...
- Find Minimum in Rotated Sorted Array leetcode
原题链接 直接贴代码,这道题是 search in rotated sorted array leetcode 的前面部分! class Solution { public: int findMin( ...
- PYTHON第二天
PYTHON之路 4.注释 Python开发规范:每一行不能超过80个字符 # : 代表注释当行 ‘’’ 上下两行 , 三个英文字符的引号,代表注释某一段代码 ‘’’ 知识点用户输入: PYth ...
- 第六天:用javascript实现购彩拆分票的计算奖金
需求如下: 购彩金额 拆分票数 <= 10 1票<= 100 10票<= 200 20票<= 500 50票<= 1000 100票 中奖金额 ...
- C#设计模式(15)——命令模式(Command Pattern)
一.前言 之前一直在忙于工作上的事情,关于设计模式系列一直没更新,最近项目中发现,对于设计模式的了解是必不可少的,当然对于设计模式的应用那更是重要,可以说是否懂得应用设计模式在项目中是衡量一个程序员的 ...