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

Linux svn server部署

2014-03-20 00:48 169 查看
注意:此文章主要复制过来,所以注意命令之间的一些空格
http://wenku.baidu.com/view/f2a697b765ce0508763213da.html
二、svn服务器配置

1.建立svn版本库目录

mkdir -p /opt/svndata/repos1

2.建立svn版本库

svnadmin create /opt/svndata/repos1

3.修改svn版本库配置文件

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

(注意:把文件中上面各项前面的#号去掉,然后去掉他前面的空格。保存)

这里的各配置项意思是:

anon-access指匿名访问的权限,可以是read,write,none,默认为read,这个建议配为none

auth-access指认证用户的权限,可以是read,write,none,默认为write

password-db指密码数据库的路径,去掉前面的,存的是认证用户的用户名和密码,

username=passwd

authz-db实现了以路径为基础的授权,也就是判断用户是否有操作对应路径的权限

4.配置允许访问的svn用户

vi /opt/svn/conf/pwd.conf

文件格式如下:

[users]

<用户1>=<密码1>

<用户2>=<密码2>

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

[users]

alan=password

king=hello

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

5.配置svn用户访问权限

vi /opt/svn/conf/authz.conf

户组格式:

[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=alan

[/]

@admin=rw

[repos1:/abc/aaa]

king=rw

[repos2:/pass]

king=

注意:

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

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

6.svn配置完毕,删除无用文件

,同时也是为了保密,当然可以留在重复使用

rm /opt/svndata/repos1/conf/authz

rm /opt/svndata/repos1/conf/passwd

三、启动svn

1.建立启动svn的用户

useradd svn

passwd

svn

根据提示为用户svn设置密码

允许用户svn访问版本库

chown -R svn:svn/opt/svndata

2.启动svn

(1)用设定帐户启动

su - svn -c "svnserve -d

--listen-port 9999

-r

/opt/svndata"

其中:

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

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

--listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端

口需要root权限

-r /opt/svndata指定根目录是/opt/svndata

(2)对于单个代码仓库:

启动命令:svnserve -d -r 文件夹路径 --listen-host 192.168.100.131

其中-d表示在后台运行,-r指定服务器的根目录,

这样访问服务器时就可以直接用

svn://服务器ip来访问了。

如果服务器有多ip的话--listen-host来指定监听的ip地址.

我们可以在svn客户端中通过

svn://192.168.100.131来访问svn服务器

(3)对于多个代码仓库:

我们在启动时也可以用-r选项来指定服务器根目录,但访问时需要写

上每个仓库相对于svn根目录的相对路径.

比如,我们有两个代码仓库/opt/svndata/repos1

和/opt/svndata/repos2,

我们用:svnserve -d -r /opt/svndata --listen-host 192.168.100.131来启动,那么在客户端

访问时可以用svn://192.168.100.131/repos1和svn://192.168.1.131/repos2来分别访问两个

项目启动完成以后

我启动的方法:

[root@austitfabian]#

svnserve -d

-r /opt/svndata --listen-host

192.168.100.131

注意:

svn默认端口是3690,你需要在防火墙上开放这个端口。也可以通过svnserve的--

listen-port选项来指定一个已经开放的其他端口,不过这样的话客户端使用也必须家上端口,如

svn://192.168.100.200:9999/.......

3.检查是否启动成功:(查看是否存在svnserve进程)

ps -ef | grep svnserve

如果显示如下,即为启动成功:

svn 6941 1 015:07? 00:00:00 svnserve -d –listen-port 9999 -r /opt/svndata

四、导入项目

[root@austitObject]#ls

41 c41cManagesq wapstat

[root@austitObject]#svn import 41cManage

file:///opt/svndata/41cManage -m "initial

import"

五、客户端checkout,commit,update

输入url:svn://192.168.100.131/repos1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: