一、环境
系统:CentOS 7.0
SVN:官网最新版(地址:https://tortoisesvn.net/downloads.html)
二、为方便测试,关闭防火墙和selinux
setenforce 0
systemctl stop firewalld
三、开始安装
# 1、查看本机是否安装过SVN
rpm -qa subversion
#如果有,则卸载
yum remove subversion
# 2、安装SVN和其他服务
yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
#也可以只安装SVN服务
yum install subversion -y
#3、确认安装成功
cd /etc/httpd/modules
ls | grep svn
#结果是两个so文件,mod_authz_svn.so 和 mod_dav_svn.so
#4、验证版本
svnserve --version
四、创建代码库
#创建文件夹目录用于存放
mkdir -p /opt/svn/repositories
#创建一个新的SVN仓库,仓库路径为上面的那个目录
svnadmin create /opt/svn/repositories
五、修改配置文件
cd /opt/svn/repositories/conf
#authz:负责账号权限的管理,控制账号是否读写权限
#passwd:负责账号和密码的用户名单管理
#svnserve.conf:svn服务器配置文件
#修改密码配置文件
vi passwd
#################### 文件内容 ###########
[users]
# harry = harryssecret
# sally = sallyssecret
#格式:用户名=用户密码
test=123456
#修改权限文件
vi authz
################## 文件内容 ###############
[groups]
#SVN目录权限[/]代表根目录
[/]
test=rw
#修改配置文件
vi svnserve.conf
################## 文件内容 ###############
[general]
#匿名用户没有任何权限
anon-access = none
#认证用户具有写权限
auth-access = write
#用户的密码文件
password-db = /opt/svn/repositories/conf/passwd
#用户的信息文件
authz-db = /opt/svn/repositories/conf/authz
#启动SVN
svnserve -d -r /opt/svn/repositories
#查看进程
ps -ef|grep svn|grep -v grep
#查看端口,可以通过:yum install net-tools 安装netstat命令
netstat -ln |grep 3690
#停止服务,可以通过:yum install psmisc 安装killall命令
killall svnserve
#启动服务
svnserve -d -r /opt/svn/repositories
六、客户端连接
#1、从上面的连接下载安装客户端
#2、输入地址查看
svn://ip地址:3690/xxxx
七、扩展
1、小乌龟官网打开后可以下载中文语言包,在页面下方
客户端安装完毕后,直接安装这个语言包,安装完之后右键设置
2、svnserve.conf 文件,部分说明
anon-access: 控制非鉴权用户访问版本库的权限,取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:read
auth-access: 控制鉴权用户访问版本库的权限。取值范围为"write"、"read"和"none"。 即"write"为可读可写,"read"为只读,"none"表示无访问权限。 缺省值:write
authz-db: 指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。 除非指定绝对路径,否则文件位置为相对conf目录的相对路径。 缺省值:authz
3、目录权限控制文件:/opt/svn/repositories/conf/authz
[/]
admin=r #admin用户有根目录权限
thinker=r
[/webphp]
admin=r
thinker=rw #thinker用户对/opt/svn/repo/webphp目录具有读写权限
4、查看svn安装目录
rpm -ql subversion
5、/opt/svn/repositories/conf/svnserve.conf 文件中的 realm 属性
网上查找资料说这个属性是:指定版本库的认证域,即在登录时提示的认证域名称。
有说吧 #realm = My First Repository 的注释去掉即可
也有说 realm = 192.168.4.74 要写自己服务器IP的
我这里没写IP也没取消注释,访问暂时正常,没遇到什么问题
6、windows搭建SVN服务器,参考以下连接
https://blog.csdn.net/weixin_37657720/article/details/79501507
来源:CSDN
作者:aliaichidantong
链接:https://blog.csdn.net/aliaichidantong/article/details/103663292