Linux

系统

SVN

安装指导配置说明

 

 

1

 

安装

SVN

前检查:

 

检查是否安装

SVN

 

rpm -qa subversion 

查看安装

SVN

版本信息:

 

svnserve --version 

如果存在旧版本,卸载旧版本

SVN

 

 yum remove subversion 

2

 

安装

SVN

  

 

 

 

yum install subversion 

3

 

代码库创建:

 

 

mkdir -p /opt/svn/repos 

 

svnadmin create /opt/svn/repos 

 

执行上面的命令后,自动建立

repos

库,查看

/opt/svn/repos 

文件夹发现包含了

conf, 

db,format,hooks, locks, README.txt

等文件,说明一个

SVN

库已经建立。

 

 

 

4

 

配置代码库:

 

 

进入上面生成的文件夹

conf

下,进行配置:

cd /opt/svn/repos/conf 

1

)设置

SVN

用户及口令:修改文件

passwd

,如以下内容:

 

目的是设置哪些用户可以访问

SVN

资源库

 

[root@admin conf]# vi passwd 

[users] 

# harry = harryssecret 

# sally = sallyssecret 

用户名

 = 

密码

 

chenqian = chenqian 

wangwu = wangwu 

hello = 123 

这样我们就建立了

3

个用户,其中有个用户为

hello

 

密码

123

,以上语句都必须顶格写

 

左侧不能留空格

否则会出错

2

)设置

SVN

用户访问权限控制:修改文件

authz

,如以下内容:

 

目的是设置哪些用户可以访问哪些目录,向

authz

文件追加以下内容:

 

[root@admin conf]# vi authz 

[groups] 

# harry_and_sally = harry,sally 

# harry_sally_and_joe = harry,sally,&joe 

admin = chenqian,wangwu 

 

#

设置

[/]

代表根目录下所有的资源

  

[/] 

或者写成

[repl:/]  

@admin = rw 

hello = r 

意思是

admin

组中的

2

个用户对

repos

库下所有的目录有读写权限,

hello

只有可读权限,

 

当然也可以限定。以上语句都必须顶格写

左侧不能留空格

否则会出错

3

)设置服务配置文件:修改文件

svnserve.conf

,如以下内容:

 

[root@admin conf]# vi svnserve.conf 

[general] 

#

匿名访问的权限,可以是

read,write,none,

默认为

read 

anon-access=none 

#

使授权用户有写权限

  

auth-access=write 

#

密码数据库的路径

  

password-db=passwd 

#

访问控制文件

  

authz-db=authz 

#

认证命名空间,

subversion

会在认证提示里显示,并且作为凭证缓存的关键字

  

realm=/opt/svn/repos 

以上语句都必须顶格写

左侧不能留空格

否则会出错

 

5

 

启动

SVN

服务:

 

svnserve -d -r /opt/svn/repos 

 

或者

 

 

/etc/init.d/svnserve restart 

1

)带

 -d 

选项即可以作为一个单独的守护进程运行,

-r 

选项可以指定发布哪个目录下的

版本库;

 

2

)一旦服务器运行,就在默认端口

3690

进行监听,使用

 telnet 

可以测试到

 3690 

端口已

 

经开放了,如下:

 

# telnet 127.0.0.1 3690 

Trying 127.0.0.1... 

Connected to Hinex.VM (127.0.0.1). 

Escape character is '^]'. 

( success ( 2 2 ( ) ( edit-pipeline svndiff1 absent-entries commit-revprops 

depth log-revprops partial-replay ) ) ) 

3

)若需更改

SVN

 

服务默认端口

     

查看端口使用情况:

netstat -antp

 

 

     

启动

svn

和指定端口的方法是:

svnserve -d --list-port 3700 -r /opt/svn/repos

 

6

 

查看

SVN

服务是否正常:

 

ps -ef|grep svn 

 

 

 

 

 

 

 

 

或者

 

 

ps aux|grep svn 

7

 

SVN

客户端

TortoiseSVN

连接访问服务端地址:

 

svn://ip/repos  

 

 

记得让防火墙放过

3690

端口哦

,

不然无法访问

,svn

的默认端口是

3690. 

 

此外

,如果需要将一个

 svn 

服务器中的版本库移植到另外一台

svn

服务器上,可以直接将原版

本库中

 db 

文件夹中的内容全部复制到新

 svn 

服务器相应版本库目录下即可,还要注意两个

 

svn 

服务器所运行的

 svn 

版本,不同版本可能会出现不兼容情况。