安装

#yum -y install subversion

Linux下subversion搭建_svn

Linux下subversion搭建_根目录_02

创建版本库

1.  创建库目录
# mkdir -p /var/svn/svnrepos
2. 创建svn版本库
# svnadmin create /var/svn/svnrepos/file (file为你预期的版本库名称,可自定义)

Linux下subversion搭建_自定义_03

3.  修改配置

Linux下subversion搭建_自定义_04

authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件

修改authz

Linux下subversion搭建_svn_05

只需在末尾添加 
[/]
账号1 = rw

修改passwd

【直接将账号和密码信息追加到文件中】 (格式)账号 = 密码

Linux下subversion搭建_svn_06

修改svnserve.conf

Linux下subversion搭建_svn_07

anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = # 指明密码文件路径
authz-db = # 访问控制文件
realm = # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。
注意:1. 上面的所有配置都要顶行写,不能有空格。
2. 修改用户 密码不需要重启服务.

启动服务

#svnserve  -d -r /var/svn/svnrepos/file/  【启动】
此指令用于启动svn服务,-d指明以守护模式运行,svn自动在3690端口监听。3690是默认端口,可以使用“–listen- port=”或者“–listen-host=”来指定其它端口。-r选项用来指定svn服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径。
# killall svnserve 【关闭】
# ps -ef|grep svnserve /ps –aux | grep svnserve 【查看】

Linux下subversion搭建_相对路径_08

连接服务

svn://ip:port/repos  [port 默认3690    repos 路径 启动时已经设置 可省略]

Linux下subversion搭建_svn_09

http协议

利用apache实现

修改httpd.conf 加载如下模块

LoadModule dav_svn_module modules/mod_dav_svn.so

LoadModule authz_svn_module modules/mod_authz_svn.

说明:
启动svn版本库 svnserve -d -r /usr/local/blue/svn/
   其中,-r的作用是设置根目录路径,比如我这样设置后在访问时输入svn://x.x.x.x/就会直接到我的svn目录下(当然在svn目录下是找不到版本库的),如果想访问版本库则输入svn://x.x.x.x/Code即可。

   换句说话,如果启动版本库时命令为svnserve -d -r /usr/local/blue/svn/Code,则访问svn://x.x.x.x/就能直接到版本库内。