一、卸载原有旧版本
1-1、查看系统下有没有安装过老版本的svn
rpm -qa subversion
如果没安装过则什么都不显示
1-2、删除老版本(如无老版本,请忽略)
yum -y remove subversion
二、安装配置svn
2-1、安装svnserve
yum -y install subversion
2-2、创建版本库目录
mkdir -p /data/svn
2-3、创建svn版本库
svnadmin create /data/svn/test
cd /data/svn/test
创建成功后,进入test目录下,可以看见如下文件信息:
conf:是这个仓库配置文件(仓库用户访问账户,权限)
format:是一个文本文件,里边只放了一个整数,表示当前文件库配置的版本号
hooks:放置hook脚本文件的目录
locks:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端
三、配置修改
进入conf,conf目录下,一共存放三份重要的配置文件,如下:
authz:负责账号权限的管理,控制账号是否读写权限
passwd:负责账号和密码的用户名单管理
svnserve.conf:svn服务器配置文件
3-1、修改svnserve.conf
vim svnserve.conf
去掉指定内容前注释即可,如下:
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名,即访问时要输用户名和密码
authz-db = authz #指定账号权限的文件
realm = test #指定版本库的认证域,即在登录时提示的认证域名称,改成自己的版本库
3-2、修改authz文件信息
vim authz
3-2-1、方式一:单个用户添加(不推荐)
[test/]
admin = rw
test = r
#r为读,w为写,rw为可读可写
3-2-2、方式二、按用户组分配权限(推荐)
[groups]
# 按用户组分权限:组名称 = 用户(多个用逗号隔开)
admin = admin,admin1
test = test1,test2
[/]
# 表示admin组对仓库(/data/svn/test)目录有读写权限,r为读,w为写
@admin = rw
# 表示test组的用户对对仓库(/data/svn/test)目录只有读的权限
@test = r
[/test1]
# 表示test组对/data/svn/test/test1目录有读写权限
@test = rw
* =
3-3、修改passwd文件信息
vim passwd
[users]
admin = 123456
admin1 = 123456
test1 = 123456
test2 = 123456
四、防火墙开启
subversion的默认端口为3690,如果没有打开会报错!
firewall-cmd --permanent --add-service=telnet
firewall-cmd --permanent --add-port=3690/tcp
firewall-cmd --reload
五、启动svn服务
用root权限启动
svnserve -d -r /data/svn
六、检出项目
svn://IP地址:3690/test
可能遇到的问题:
报错:svn: E204900: Can't open file '/var/svn/wangwa/format': Permission denied的错误。
解决:把SELinux关闭
临时关闭:sudo setenforce 0
永久关闭:sudo vim /etc/sysconfig/selinux
修改:SELINUX = disable#值修改为disable.
七、设置开机自启
vi /etc/rc.d/rc.local
#文件末尾追加下面语句
/usr/bin/svnserve -d -r /data/svn