阿里云ESC搭建SVN服务端
CentOS7)下yum命令快速安装svn服务端,学习在思考中独孤中度过,在孤独中进取!
01、SVN服务的安装(subversion)
02、ESC安全组策略
1、在线安装svn服务#
$ sudo yum install subversion
测试安装是否成功:
$ svnserve --version
2. 建立版本库#
创建svn数据目录(subversion默认是把/var/svn作为数据根目录的,开机启动默认也是从这里):
$ sudo mkdir -p /svn_root/
创建版本库:
$ sudo svnadmin create /svn_root/mvpbang
如果删除版本库:
$ sudo rm -rf /svn_root/mvpang
3. 配置svn配置文件#
每个版本库创建之后都会生成svnserve.conf主要配置文件。编辑它:
$ sudo vim /svn_root/mvpbang/conf/svnserve.conf
编辑示例:
[general]
anon-access = none #控制非鉴权用户访问版本库的权限
auth-access = write #控制鉴权用户访问版本库的权限
password-db = passwd #指定用户名口令文件名
authz-db = authz #指定权限配置文件名
realm = wangwa #指定版本库的认证域,即在登录时提示的认证域名称
4. 编辑svn用户配置文件#
sudo vim /svn_root/mvpbang/conf/passwd
编辑示例:
[users]
admin = admin #用户,密码
fuhd = fuhd #用户,密码
test = test #用户,密码
5. 编辑svn权限控制配置文件#
sudo vim /svn_root/mvpbang/conf/authz
编辑示例:
[groups]
admin = admin #admin为用户组,等号之后的admin为用户
test = fuhd,test
[wangwa:/] #表示根目录(/svn_root/mvpbang),wangba: 对应前面配置的realm = wangwa
@admin = rw #表示admin组对根目录有读写权限,r为读,w为写
[wangwa:/test] #表示test目录(/svn_root/mvpbang/test)
@test = rw #表示test组对test目录有读写权限
6. 启动,查看和停止SVN服务#
启动SVN服务:
# -d : 守护进程 -r : svn数据根目录
$ sudo svnserve -dr /svn_root/ #用root权限启动
查看SVN服务:
$ ps aux|grep svnserve #默认端口为:3690
7. 配置防火墙端口#
首先要明确CentOS7的默认防火墙为firewallD。subversion的默认端口为3690,如果没有打开会报错:
$ sudo firewall-cmd --permanent -add-port=3690/tcp
$ sudo firewall-cmd --reload
8. 设置开机启动#
在centos7, 设置开机启动:
$ sudo systemctl enable svnserve.service #注意:根目录必须是/var/svn 这样才能设置成功!!
#设置开机启动后就可以按下面的方式开启或停止服务了
$ sudo systemctl start svnserve.service
$ sudo systemctl stop svnserve.service
保存退出,重启并从客户端进行测试。如果报这样的错:svn: E204900: Can't open file '/svn_root/mvpbang/format': Permission denied的错误。那就是与SELinux有关系,目前我还不太会用SELinux,那就先把SELinux关闭吧,后面学会了,回过头来再改这一段!!!!:
临时关闭:
$ sudo setenforce 0
永久关闭:
$ sudo vim /etc/sysconfig/selinux
修改:
SELINUX = disable #值修改为disable.
9、错误汇总#
svn unable to a repository at url
#一方面是旧的数据需要清理
#一方面是authz passwd svnserve.conf 配置参数定格写,不要有空格!
附上ESC安全组设置#
#设置公网网卡,入端口
借鉴:
https://my.oschina.net/fhd/blog/383280
作者: mvpbang
出处:https://www.cnblogs.com/xiaochina/p/6901552.html
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)