2014-04-15 18:43:01
来 源
itjs.cn
Nginx
本文介绍Nginx服务器配置SVN,希望对于初学Nginx服务器相关的朋友有帮助,更多Nginx安装、配置、报错处理等资源请本站内搜索。。
1. 由于服务器是nginx,所以就不配置基于apache访问svn,可以配置独立的svn服务器。

2. 由于nginx现在暂时不支持subversion,而web服务器又选择了nginx,所以只能安装apache集成subversion,然后通过nginx proxy给apache来实现nginx的svn!

独立配置svn服务器

获取svn安装包:

wget http://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz

wget http://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz

编译svn以root用户登录:

tar xfvz subversion-1.6.6.tar.gz

tar xfvz subversion-deps-1.6.6.tar.gz

cd subversion-1.6.6

./configure –prefix=/opt/svn –without-berkeley-db

(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db)

make && make install

在/etc/profile最后加入 SVN Path 以方便操作:

vi /etc/profile

PATH=$PATH:/opt/svn/bin

export PATH

如果报LC_ALL 找不到错误,执行

echo export LC_ALL=C >> /etc/profile

或者

vi /etc/profile

export LC_ALL=C

测试是否安装成功:

svnserve –-version

svn配置建立svn版本库目录:

mkdir -p /opt/svndata/repos

svnadmin create /opt/svndata/repos

vi /opt/svndata/repos/conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /opt/svn/conf/passwd.conf

authz-db = /opt/svn/conf/authz.conf

realm = repos

注意:对用户配置文件的修改立即生效,不必重启svn。

passwk.conf [users]是必须的,文件格式如下: 

[users]

username = password

配置svn用户访问权限:

# vi /opt/svn/conf/authz.conf

[groups]

= ,

其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

其中,方框号内部分可以有多种写法:

[/],表示根目录及以下,根目录是svnserve启动时指定的,我们指定为/opt/svndata,[/]就是表示对全部版本库设置权限。

[repos:/] 表示对版本库repos设置权限

[repos2:/abc] 表示对版本库repos2中的abc项目设置权限

[repos2:/abc/aaa] 表示对版本库repos2中的abc项目的aaa目录设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。

权限可以是w、r、wr和空,空表示没有任何权限。

示例:

[groups]

admin = alan

[/]

@admin = rw

[repos1:/abc/aaa]

king = rw

[repos2:/pass]

king =

svn配置完毕。

启动svn建立启动svn的用户

useradd svn

passwd svn

svnserve -d -–listen-port 9999 -r /opt/svndata

检查:

ps -ef|grep svnserve

服务器测试:

cd /tmp

mkdir test

touch test.txt

svn import /tmp/test/ file:///opt/svndata/repos -m “this is thie first import”

mkdir -p /tmp/test2

cd /tmp/test2

svn co file:///opt/svndata/repos /tmp/test2/

这时应该可以看到文件test.txt

最后

vi /etc/sysconfig/iptables

添加:

-A RH-Firewall-1-INPUT -p tcp –dport 9999 -j ACCEPT

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。