在CentOS上架设Nginx+Apache+Subversion

系统 Linux
Nginx和Apache是两种常用的Web服务器,各有各的优势。由于Nginx短期内不会支持Subversion Server,要架设的话,可以通过一个Apache与Nginx共存的服务器实现。本文介绍CentOS上相关软件包的安装与初步配置。

本文来自尘缘的博客,原文标题为《CentOS下的Nginx+Apache+Subversion Server安装笔记》。

我的Linux服务器均为CentOS,这两天刚刚折腾完LNMP的配置,接下来继续折腾SVN的环境配置。

在编译SVN时,发现Nginx尚不支持Subversion,查了相关资料,发现只有Apache可以支持SVN,无可奈何,看来只能做一个Apache与Nginx共存的服务器,用Nginx proxy把发向Nginx的SVN请求转到Apache上去。

如何安装Nginx,可以去参考张宴的Nginx教程,这应该是国内最早最全最详细的Nginx教程了,至于如何安装Apache,估计也挺简单的,我这里已经配置好了一个Nginx+Apache的服务器了。

按买醉的说法,nginx处理静态页的效率是apache的N倍,但在动态程序,特别是Java和PHP的处理上,Apache具有相当的优势。

这按Nginx官方的说法,短期内不会有可能支持SVN,至于两者之间的权衡,各位看官可得留意了。

说一下,Subversion Server并没有专门针对CentOS的版本,下载编译的话,用RHEL的即可。

我刚刚也找到了下载地址:http://www.collab.net/downloads/subversion/redhat.html

现在开始CentOS的安装过程。

除了下载软件包以外,还可以使用YUM安装:

$ sudo yum install httpd subversion mod_dav_svn  
 
  • 1.
  • 2.

建立版本库(Repository):

$ sudo mkdir -p /var/lib/subversion/repositories  
$ sudo chown -R apache:apache /var/lib/subversion  
 
  • 1.
  • 2.
  • 3.

如果版本库的增改次数很频繁,可以写一个简单的脚本来实现快速调用:

#!/bin/sh  
if [ $# -ne 1 ]; then  
echo 1>&2 Usage: $0 repository_name  
exit 127  
fi  
echo "Sudoing...";  
sudo svnadmin create --fs-type fsfs /var/lib/subversion/repositories/${1}  
sudo chown -R apache:apache /var/lib/subversion/repositories/${1}  
sudo chmod -R g+w /var/lib/subversion/repositories/${1}  
sudo chmod g+s /var/lib/subversion/repositories/${1}/db  
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

接下来就是apache的配置了,这里要保证两个模块都已经正确放到模块目录中:

LoadModule dav_svn_module modules/mod_dav_svn.so  
LoadModule authz_svn_module modules/mod_authz_svn.so  
DAV svn  
SVNParentPath /var/lib/subversion/repositories  
SVNListParentPath on  
SVNPathAuthz off  
AuthType Basic  
AuthName "subversion@tokyo"  
AuthUserFile /var/lib/subversion/passwords  
Require valid-user  
 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

然后要配置SVN的密码:

$ sudo htpasswd -c /var/lib/subversion/passwords new-user-name  
 
  • 1.
  • 2.

最后重启HTTPD服务:

$ sudo /etc/init.d/httpd restart  
 
  • 1.
  • 2.

下面要做的就是Apache和Nginx配置,然后实现Nginx的代理过程,就有待下次介绍了。

【编辑推荐】

  1. CentOS系统中建立cvs server方法
  2. CentOS系统中phpmyadmin安装常见问题汇总
  3. CentOS系统下如何配置FTP
责任编辑:yangsai 来源: 尘缘的博客
相关推荐

2010-05-12 18:05:45

linux下subvesubversionapache配置

2010-05-21 14:42:29

CentOS下Apac

2010-05-21 14:12:55

CentOS下Apac

2010-03-30 15:52:49

CentOS安装

2010-05-19 14:05:59

Subversion+

2017-08-15 11:58:15

LinuxCentOSApache Hado

2010-05-18 17:50:57

Subversion服

2020-07-16 08:37:39

NginxCentOS7搭建

2010-05-14 13:21:39

Subversion1

2010-05-19 13:44:42

Subversion+

2010-05-18 18:28:05

安装Subversio

2010-05-19 14:48:44

Subversion用

2010-05-19 14:28:18

Subversion权

2009-03-10 10:53:42

安装ApacheMySQL

2009-06-29 08:35:59

Linux

2022-09-14 09:18:52

SubversionLinux系统

2010-10-09 08:58:03

NginxRuby on Rai

2010-05-14 15:14:10

安装Subversio

2010-05-31 10:56:51

SVN服务器架设

2022-09-13 09:00:19

SubversionLinux
点赞
收藏

51CTO技术栈公众号