第一步:通过yum命令安装svnserve,命令如下:
yum -y install subversion
此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行
若需查看svn安装位置,可以用以下命令:
rpm -ql subversion
第二步:创建版本库目录(此仅为目录,为后面创建版本库提供存放位置)
选择在var路径下创建版本库,当前处于根目录下,一次性创建如下:
cd /usr/local/software/data
mkdir -p svn/svnrepos
第三步:创建svn版本库
在第二步建立的路径基础上,创建版本库,命令如下:
cd /usr/local/software/data/svn/svnrepos
svnadmin create xxxx (xxxx为你预期的版本库名称,可自定义)
创建成功后,进入xxx目录下
cd xxxx
进入目录,可以看见如下文件信息:
[root@iZwz9c9oypf6ww3smnxu5oZ mysvn]# ll
total 24
drwxr-xr-x 2 root root 4096 Mar 31 11:17 conf
drwxr-sr-x 6 root root 4096 Mar 31 11:17 db
-r--r--r-- 1 root root 2 Mar 31 11:17 format
drwxr-xr-x 2 root root 4096 Mar 31 11:17 hooks
drwxr-xr-x 2 root root 4096 Mar 31 11:17 locks
-rw-r--r-- 1 root root 229 Mar 31 11:17 README.txt
第四步:配置修改
cd config
有如下三个配置文件
[root@iZwz9c9oypf6ww3smnxu5oZ conf]# ll
total 12
-rw-r--r-- 1 root root 1080 Mar 31 11:17 authz
-rw-r--r-- 1 root root 309 Mar 31 11:17 passwd
-rw-r--r-- 1 root root 3090 Mar 31 11:17 svnserve.conf
- authz:负责账号权限的管理,控制账号是否读写权限
- passwd:负责账号和密码的用户名单管理
- svnserve.conf:svn服务器配置文件
1、修改authz文件
在最后添加如下内容即可
[\] # \ 表示所有仓库
root = rw # 用户 admin 在所有仓库拥有读写权限
经过我的验证,上面用/或者\都是可以的。
2、修改 passwd文件
在最后添加用户密码
root = forever
3、修改svnserve.conf
修改对应如下对应内容
[general]
anon-access = none # 匿名用户不可读写,也可设置为只读 read
auth-access = write # 授权用户可写
password-db = passwd # 密码文件路径,相对于当前目录
realm = mysvn # 认证命名空间,会在认证提示界面显示,并作为凭证缓存的关键字,可以写仓库名称比如mysvn
请注意下面这条一定不要放开,否在远程连接不会弹出叫你输入用户密码的,然后一直显示认证失败!
#authz-db = authz # 访问控制文件
第五步:启动SVN
svnserve -d -r /usr/local/software/data/svn/svnrepos
第六步:防火墙开启3690端口
firewall-cmd --zone=public --add-port=3690/tcp --permanent
firewall-cmd --reload
如果是
第七步:客户端连接
在windows客户端,输入地址:svn://ip地址:3690/xxxx (iP地址为你linux的ip,xxxx为前文创建的版本库名称,3690为svn默认端口),弹出输入用户名和密码,输入即可访问。
到此,Linux下svn服务器搭建就总结完毕,这还有一篇是Docker搭建SVN的教程Docker安装SVN,感谢大家的阅读
参考1:https://www.cnblogs.com/mymelon/p/5483215.html
参考2:https://www.suibibk.com/topic/592385214295048192