一、安装
centos上安装
使用命令svn --version查看是否安装过svn;
如果出现 bash: svn: command not found 则显示没有安装
可以使用 yum install subversion 命令进行安装
ubuntu上使用 apt-get install subversion 进行安装
安装完毕后使用 svn --version 进行查看。
二、创建资源库
使用命令svnserve启动服务
svnadmin create /opt/svn/runoob
使用命令svnserve启动服务
svnserve -d -r 目录 --listen-port 端口号 -r: 配置方式决定了版本库访问方式。 --listen-port: 指定SVN监听端口,不加此参数,SVN默认监听3690
由于-r 配置方式的不一样,SVN启动就可以有两种不同的访问方式。
方式一:-r直接指定到版本库(称之为单库svnserve方式)
svnserve -d -r /opt/svn/runoob
在这种情况下,一个svnserve只能为一个版本库工作。
方式二:指定到版本库的上级目录(称之为多库svnserve方式)
在/opt/svn目录下使用 svnadmin create /opt/svn/仓库名 可以创建多个仓库,然后使用如下命令启动所有的仓库
svnserve -d -r /opt/svn
使用URL: svn://ip地址/仓库名 即可访问。
三、配置文件
在仓库中有个conf文件夹,主要放置仓库启动时的配置,包括svnserve.conf、passwd、authz 配置相关用户和权限;
1、svn服务配置文件svnserve.conf
[general] anon-access = none auth-access = write password-db = passwd authz-db = authz realm = tiku
- anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:read
- auth-access: 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:write
- authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 缺省值:authz
- realm: 指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。 缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)。
· 2、用户名口令文件passwd
用户名口令文件由svnserve.conf的配置项password-db指定,缺省为conf目录中的passwd。该文件仅由一个[users]配置段组成。[users]配置段的配置行格式如下:
<用户名> = <口令>
[users] admin = admin thinker = 123456
3、权限配置文件
权限配置文件由svnserve.conf的配置项authz-db指定,缺省为conf目录中的authz。该配置文件由一个[groups]配置段和若干个版本库路径权限段组成。
[groups]配置段中配置行格式如下:
<用户组> = <用户列表>
[groups]
g_admin = admin,thinker
版本库路径权限段的段名格式如下:
[<版本库名>:<路径>]
[admintools:/]
#加上@是指定一个组,不加是指单个用户,*是指所有用户 @g_admin = rw * = [test:/home/thinker] thinker = rw * = r
四、svn服务器的停止
查到服务的进程号:ps -A | grep svn
若有进程则杀死进程 kill -9 PID