参考了博文后手动实践后的总结
以CentOs 7为例
安装SVN
安装:
yum install subversion
查看版本:
svnserve --version
查看安装位置:
rpm -ql subversion
创建SVN版本库
-
创建版本库目录
mkdir -p /var/svn/svnrepos
-
创建版本库(这里以版本库名字叫firstrepo为例)
svnadmin create /var/svn/svnrepos/firstrepo
修改配置
进入版本库目录(cd /var/svn/svnrepos/firstrepo),有三个文件:
- authz:负责账号权限的管理,控制账号是否读写权限
- passwd:负责账号和密码的用户名单管理
- svnserve.conf:svn服务器配置文件
-
修改passwd
-
打开文件:vim passwd
-
在文件末尾追加账号和密码,格式为“账号 = 密码”,这里例子为添加一个账号tom,密码123
[users] # harry = harryssecret # sally = sallyssecret tom = 123
-
-
修改authz
-
打开文件:vim authz
-
在文件末尾追加版本库的账号权限
# [repository:/baz/fuz] # @harry_and_sally = rw # * = r [firstrepo:/] tom = rw
-
-
修改svnserve.conf
- 打开文件:vim svnserve.conf
- 将文件中只用一个井号注释的行取消注释
- anon-access = read
- auth-access = write
- password-db = passwd
- authz-db = authz(有资料说取消这一条的注释后链接SVN会一直会提示“认证失败”,但测试没有发现这个问题)
- realm = My First Repository(这里填写服务器ip,但填写后并无什么用处,所以大家去掉注释即可,无需做任何修改)
启动SVN版本库
svnserve -d -r /var/svn/svnrepos
开启防火墙
#查看SVN的打开端口,默认是3690
netstat -antp | grep svn
# 开放3690端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
systemctl restart firewalld.service
firewall-cmd --reload
# 若防火墙未启动,则先启动防火墙
# 查看防火墙状态
firewall-cmd --state
# 开启防火墙
systemctl restart firewalld.service
启动、开机自启
# 设置开启自启
systemctl enable svnserve.service
# 启动SVN服务
svnserve -d -r /opt/svn/
# 若启动报错svnserve: E000098: Can't bind server socket: Address already in use,就先结束进程
killall svnserve
客户端连接地址
svn://ip地址:3690/仓库名