一、直接yum install -y subversion
安装后查看svn的版本svnserve --version也可以用which svnserve,来查看命令放在什么目录下结果显示:/usr/bin/svnserve
二、创建版本库
mkdir /data/svnsvnadmin create /home/svn/xrcweb注意:xrcweb为版本库名称
三、配置文件详解
创建后:它的目录结构为
conf/authz 权限配置文件passwd 用户口令文件svnserve.conf svn服务配置文件db/formathooks/locks/README.txt
(1)修改svnserve.conf文件,
该文件配置分为以下几项目
anon-access:未授权用户访问版本库的权限auth-access:授权用户访问版本库的权限password-db:指定用户口令文件名authz-db:指定权限配置文件名realm:指定版本库的位置
只需要把以下几下项目打开即可
anon-access = noneauth-access = write
password-db = passwd
authz-db=authz
(2)修改authz文件中的内容
vi authz默认是没有配置的,要参照下面示例来配置
[groups]admin = xrc,root[xrcweb:/]@admin = rwxrc= rw
上面的配置权限控制文件的配置格式如下:
[groups]
<用户组名> = <用户1>,<用户2>, ……
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
其中,方框号内部分可以有多种写法:
/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/home/svn。这样,/就是表示对全部版本库设置权限。
xrcweb:/,表示对版本库xrcweb设置权限
xrcweb:/occi,表示对版本库xrcweb中的occi项目设置权限
xrcweb:/occi/aaa,,表示对版本库xrcweb中的occi项目的aaa目录设置权限
权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。
(3)
修改用户密码文件passwd
vi passwd默认也是没有配置任何用户的,可按下面配置示例配置
[users]xrc= 123456
用户密码的配置格式:[users]<用户1> = <密码1><用户2> = <密码2>注意:这里的配置文件,除了注释外每行都必须顶行,否则又会报错了。
四、启动与停止svn
启动:
svnserve -d -r /home/svn-d 表示后台运行-r 表示指定svn的根目录查看进程[root@iZ25rk2y267Z svn]# ps -ef|grep svnroot 23767 1 0 15:14 ? 00:00:00 svnserve -d -r /data/svnroot 23769 987 0 15:15 pts/0 00:00:00 grep svn
停止killall svnserve或kill -9 进程号
五、访问
格式:svn://IP/版本库svn://192.168.1.110/xrcweb
六、其他问题:
- 如果都配置好了,连接不上版本库,就有可能是防火墙引起的,svn默认的为3690端口
- 如果认失败,肯定就是配置的问题,svn有多版本库的配置,如上所示;和单版本库的配置,这里不详解。但只要配置对了,就肯定能连接上了
笔者注:此文章是笔者在操作过程中,总结了网络上众多博客上的文章,并结合自己实际中遇到的一些问题之后,记录下来的,希望对看到的朋友有帮助