一、安装SVN服务,参照百度经验,自行下载文件安装。或者用yum
方法一、百度经验安装方法:http://jingyan.baidu.com/article/3c343ff7039de20d37796306.html
注意:上述,如果安装过程不提示缺少则省去不需要下载的插件
方法二、# yum install subversion
二、配置SVN服务
1、创建代码库
[root@test2 etc]# mkdir -p /opt/svn/repositories
[root@test2 etc]# svnadmin create /opt/svn/repositories
执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories
文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
subversion目录说明:
*db目录:就是所有版本控制的数据存放文件
*hooks目录:放置hook脚本文件的目录
*locks目录:用来放置subversion见艰苦锁定数据的目录,用来追踪存取文件库的客户端
*format文件:是一个文本文件,里面只放了一个整数。表示当前文件库配置的版本号
*conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
2、配置svn服务器
创建版本仓库后再 test/conf文件夹下生成了四个配置文件:authz hooks-env.tmpl passwd svnserve.conf
①、首先 svnserve.conf里边配置了版本库的权限,需要把下边5行的注释打开,一定注意,去掉#号的同时把空格去掉,否则svn服务不能正常运行
anon-access = none
#控制非鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:read
auth-access = write
#控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。即"write"为可读可写,"read"为只读,"none"表示无访问权限。缺省值:write
password-db = passwd
#指定账户密码配置文件,当前文件夹下的passwd文件
authz-db = authz
#权限配置文件,当前文件夹下的authz文件
realm = first
#版本库的认证域,即在登录时提示的认证域名称。若两个版本库的 认证域相同,建议使用相同的用户名口令数据文件。缺省值:一个UUID(Universal Unique IDentifier,全局唯一标示)
②修改passwd为以下内容:
[users]
#
#
hello
aaa
www
用户名=密码
这样我们就建立了hello用户,
③权限控制authz配置
[root@admin
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
[groups]
admin
[/]
aaa
[repo:/]
@admin
[repo2:/occi],
[repo2:/occi/aaa],
③服务svnserve.conf配置
[root@admin
追加以下内容:
[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access
#使授权用户有写权限
auth-access
#密码数据库的路径
password-db
#访问控制文件
authz-db
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm
svnserve -d -r /opt/svn/
启动服务器,-d表示守护线程后台运行,-r表示指定目录。注意:不要写成svnserve -d -r /opt/svn/repositories。否则虽然服务可正常启动,但是客户端用的时候可能会产生问题,在svn后面可以建立多个svn项目,默认3690端口
查看是否启动成功:
ps -ef | grep svnserve
如果结果为两个线程在运行,一般是成功了。
测试:svn co svn://ip/repositories