一、安装svn服务

apt install subversion

二、创建svn版本库

# 假设svn仓库都放在/data/svn下
# 创建仓库, 会在目录下生成相关文件
svnadmin create /data/svn/repo

三、创建修改配置文件

#进入conf目录
cd /data/svn/repo/conf
vi svnserve.conf

如图, 将下面四个选项的注释去掉
在这里插入图片描述
anon-access:设置无认证用户权限, 最好设置成none,不然使用tortoiseSVN会导致无法查看日志
auth-access : 设置认证用户权限
password-db :设置用户密码设置文件,默认在conf下
authz-db :用户权限设置文件

四、设置svn账号

#参考[users]下的示例即可
vi passwd  

这里chengyong为账号,123456为密码
在这里插入图片描述

五、设置svn账号权限

vi authz

这里[/]表示根目录,chenyong是账号,rw表示读写权限
在这里插入图片描述

六、启动svn服务

#启动
sudo svnserve -d -r /data/svn/  

#关闭
killall svnserve  

#查看
ps aux | grep svnserve

配置开机启动:

#创建一个新的systemd服务文件。
vi /etc/systemd/system/svnserve.service
#添加以下内容到文件中:
[Unit]
Description=Subversion protocol daemon
After=network.target
 
[Service]
Type=forking
 
ExecStart=svnserve -d -r /data/svn
 
[Install]
WantedBy=multi-user.target

#重新加载systemd管理器的配置
systemctl daemon-reload
#启用svnserve服务以在开机时自动启动
systemctl enable svnserve.service
#立即启动svnserve服务而不需要重启
systemctl start svnserve.service
#检查svnserve服务状态
systemctl status svnserve.service

需要查看日志需要如下启动:

svnserve -d -r /data/svn --log-file=/data/svn/repo/svnserve.log

Q&A

1、出现下面错误,同时日志中出现 Can’t read from connection: Connection reset by peer
在这里插入图片描述如果客户端访问服务端经过防火墙,可能原因是防火墙配置了入侵防御策略。
2、如果创建两个及以上的版本库,需要对两个版本库的svnserve.conf配置文件中的password-db指向同一个密码文件和authz-db指向同一个权限文件。
3、对一个版本库的子目录创建,需要在前端创建好后,再提交,然后再后端配置访问权限。
在这里插入图片描述

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐