前言
什么是svn?我觉得并不需要知道,我只知道它能帮我解决项目备份、版本管理、合作开发、权限控制等这些问题,如果你也有这些方面的烦恼,那么请点阅读全文,来配置一个属于自己的svn服务吧,这篇是svn的基础教程。
要学习本篇你需要有以下储备知识
- linux基本操作
- 服务器相关概念
安装
- 安装svn软件
yum -y install subversion
- 判断是否安装成功
svnserve --version
- 安装成功后,建立svn仓库,下面的命令以我的svn(/opt/svn/repos)仓库为例
mkdir /opt/svn/repos
- 执行完上面的命令后,进入到你的svn仓库会有如下文件,分别为conf,db,format,hooks, locks,README.txt,生成的这些文件我们只用到了conf文件夹,其它的文件夹不需要动
配置
进入svn仓库的conf目录下进行配置,需要配置以下三个文件:
- passwd : 设置用户名和密码
- authz : 用来控制权限,可以设置哪些用户可以访问哪些目录
svnserve : 设置svn仓库的相关操作
- 先设置用户名和密码,修改passwd文件
#按照 用户名=密码 的格式
[users]
zhangsan = 123
lisi = 1234
wangwu = 123456
- 在设置用户对应的权限,修改authz文件
[/]
zhangsan = rw
lisi = rw
wangwu = r
即张三和李四用户对根目录有读写权限,王五用户对根目录只有读权限
- 配置svn仓库,修改svnserve文件
anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password #使用哪个文件作为账号文件 统一使用密码文件
authz-db = authz # 使用哪个文件作为权限文件
realm = /opt/svn/repos # 认证空间名,仓库所在目录,如果写你的工程名
**!!! 以上语句都必须顶格写, 左侧不能留空格, 否则会出错**
**!!!以上语句都必须顶格写, 左侧不能留空格, 否则会出错**
**!!!以上语句都必须顶格写, 左侧不能留空格, 否则会出错**
连接
- 启动
svn: svnserve -d -r /opt/svn/repos
其中 -d 表示守护进程, -r 表示在后台执行 /opt/svn/repos 为svn的仓库
如果已经有svn在运行,可以换一个端口运行
svnserve -d -r /opt/svn/repos --listen-port 3391
同一台服务器可以运行多个svnserver
- windows客户端使用TortoiseSVN, 连接地址为: svn://your server address
- 关闭svn服务
查看svn服务进程号
netstat -ntlp
kill 进程号
问题总结
- 服务器的指定端口号没有开放
- 端口号被其它服务占用
- 若你的服务器为云服务器,记得配置安全组,将指定端口号开放
问题解决办法自行google或者参考我的其它博文
以上配置博主亲测有效,使用腾讯云的服务器,系统环境为CentOs7,如有问题请在下方留言。
持续更新中。。。。
即使我走得很慢,但是我從來不會後退。