CentOS6.X下安装配置独立SVN服务器Subversion server

Subversion(简称SVN,svn),一个开放源码的版本号控制系统。相较于RCS、CVS,它採用了分支管理系统,它的设计目标就是代替CVS。互联网上非常多版本号控***务已从CVS转移到Subversion。

svnserver有2种执行方式:独立server和借助apache执行。

以下我安装独立SVN



首先。清除一下yum的缓存吧,yum clean all

【一】安装 subversion

yum install subversion subversion-devel

CentOS6.X下安装配置独立SVN服务器Subversion server

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbDEwMjgzODY4MDQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

然后选择y(yes)确认安装。当然你能够在yum install 的时候加个 -y 參数

运行 svnserve --version 命令。假设输入已下信息则说明成功安装

CentOS6.X下安装配置独立SVN服务器Subversion server

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbDEwMjgzODY4MDQ=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">

2. svn配置建立svn版本号库文件夹可建多个:

mkdir -p /opt/svndata/repos1

mkdir -p /opt/svndata/repos2

建立svn版本号库svnadmin create /opt/svndata/repos1

svnadmin create /opt/svndata/repos2

改动svn版本号库配置文件版本号库1:

vi /opt/svndata/repos1/conf/svnserve.conf

内容改动为:

[general]

anon-access = none

auth-access = write

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

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

realm = repos1

版本号库2:

vi /opt/svndata/repos2/conf/svnserve.conf

内容改动为:

[general]

anon-access = none

auth-access = write

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

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

realm = repos2

即除realm = repos2外,其它与版本号库1配置文件全然同样。

假设有很多其它的版本号库。依此类推。

配置同意訪问的svn用户vi /opt/svn/conf/pwd.conf

为了简化配置。2个版本号库共用1个用户配置文件。

如有必要。也能够分开。

注意:对用户配置文件的改动马上生效,不必重新启动svn

文件格式例如以下:

[users]

<用户1> = <password1>

<用户2> = <password2>

当中,[users]是必须的。以下列出要訪问svn的用户,每一个用户一行。

演示样例:

[users]

alan = password

king = hello

配置svn用户訪问权限vi /opt/svn/conf/authz.conf

为了简化配置。3个版本号库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要,也能够分开。文件里定义用户组和版本号库文件夹权限。

注意:

* 权限配置文件里出现的username必须已在用户配置文件里定义

* 对权限配置文件的改动马上生效,不必重新启动svn

用户组格式:

[groups]

<用户组名> = <用户1>,<用户2>

当中,1个用户组能够包括1个或多个用户,用户间以逗号分隔。

版本号库文件夹格式:

[<版本号库>:/项目/文件夹]

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

<username> = <权限>

当中,方框号内部分能够有多种写法:

/,表示根文件夹及下面。

根文件夹是svnserve启动时指定的。我们指定为/opt/svndata。这样,/就是表示对所有版本号库设置权限。

repos1:/,表示对版本号库1设置权限

repos2:/abc, ,表示对版本号库2中的abc项目设置权限

repos2:/abc/aaa, ,表示对版本号库2中的abc项目的aaa文件夹设置权限

权限主体能够是用户组、用户或*,用户组在前面加@,*表示所实用户。权限能够是w、r、wr和空。空表示没有不论什么权限。

演示样例:

[groups]

admin = alan

[/]

@admin = rw

[repos1:/abc/aaa]

king = rw

[repos2:/pass]

king =

svn配置完成,删除无用文件rm /opt/svndata/repos1/conf/authz

rm /opt/svndata/repos1/conf/passwd

rm /opt/svndata/repos2/conf/authz

rm /opt/svndata/repos2/conf/passwd

3. 启动svn建立启动svn的用户useradd svn

passwd svn

依据提示为用户svn设置password

同意用户svn訪问版本号库chown -R svn:svn /opt/svndata

chown -R svn:svn /opt/data

启动svnsu - svn -c "svnserve -d --listen-port 9999 -r /opt/svndata"

当中:

su - svn表示以用户svn的身份启动svn

-d表示以daemon方式(后台执行)执行

–listen-port 9999表示使用9999port,能够换成你须要的port。但注意,使用1024下面的port须要root权限

-r /opt/svndata指定根文件夹是/opt/svndata

检查:

ps -ef|grep svnserve

假设显演示样例如以下。即为启动成功:

svn    6941   1 0 15:07 ?

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

加入开机自己主动启动

echo "svnserve -d --listen-port 9999 -r /opt/svndata" >> /etc/rc.local

上一篇:Java Socket 网络编程心跳设计概念


下一篇:poj 1348 Computing (四个数的加减乘除四则运算)