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

linux搭建svn服务

2015-06-25 15:38 633 查看
官方网站:
http://subversion.apache.org/packages.html#centos

安装命令:

yum install subversion

yum install mod_dav_svn

测试安装是否成功:

svnserve -–version

如果显示如下,安装成功:

svnserve, version 1.4.0 (r21228)

svn配置:

建立版本库目录,可建多个:

mkdir -p /opt/svndata/repos1

mkdir -p /opt/svndata/repos2

建立版本库:

svnadmin create /opt/svndata/repos1

svnadmin create /opt/svndata/repos2

修改版本库配置文件(注意:最左边不可留空格):

版本库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配置文件完全相同。如果有更多的版本库,依此类推。

配置允许访问的用户:

mkdir /opt/svn/conf

vi /opt/svn/conf/pwd.conf

为了简化配置,2个版本库共用1个用户配置文件。如有必要,也可以分开。

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

文件格式如下:

[users]

<用户1> = <密码1>

<用户2> = <密码2>

其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:

[users]

svn_1 = svn_1

svn_2 = svn_2

配置用户访问权限:

vi /opt/svn/conf/authz.conf

为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要,也可以分开。文件中定义用户组和版本库目录权限。

注意:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:

[groups]

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

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

版本库目录格式:

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

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

<用户名> = <权限>

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

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

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

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

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

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

示例:

[groups]

admin = svn_1

[/]

@admin = rw

[repos1:/LCenter]

svn_2 = rw

[repos2:/test]

svn_2 = rw

删除无用文件:

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设置密码

允许用户svn访问版本库:

chown -R svn:svn /opt/svndata

chown -R svn:svn /opt/data

启动svn:

svnserve -d -r /opt/svndata

查看进程是否存在

ps -aux | grep svn

关闭svnserve

kill -9 进程ID号

导入库

mkdir /tmp/LCenter

svn import /tmp/LCenter file:///opt/svndata/repos1/LCenter --message "inint"

查看版本库信息

svn list file:///opt/svndata/repos1/LCenter

客户端使用

cd /var/www

svn co file:///opt/svndata/repos1/LCenter

或者

svn co svn://localhost/repos1/LCenter

或者

svn co svn://IP_ADDR/repos1/LCenter

设置svn服务器开机自动启动:

vim /etc/rc.d/rc.local

增加如下代码:

svnserve -d -r /opt/svndata
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: