您的位置:首页 > 运维架构 > Linux

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

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

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

以下我安装独立SVN
[/b]



[b]首先。清除一下yum的缓存吧,yum clean all[/b]

[b]【一】安装 subversion[/b]

[b]yum install subversion subversion-devel[/b]

[b]


[/b]

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

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



[b]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个用户配置文件。

如有必要。也能够分开。

[b]注意:对用户配置文件的改动马上生效,不必重新启动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[/b][/b]



[b]加入开机自己主动启动[/b]

[b]echo "[b][b]svnserve -d --listen-port 9999 -r /opt/svndata[/b]" >> /etc/rc.local
[/b][/b]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: