1 安装环境
1.1 安装 subversion
$ yum install subversion
1.2 创建版本库
svn 可以使用多个版本库,先创建一个目录,然后把所有版本库都放进去,方便管理。
创建 svn 目录
$ mkdir -p /home/svn
创建版本库目录
$ cd /home/svn
$ svnadmin create /home/svn/general
2 修改配置文件
2.1 目录结构
conf 目录:存放版本库的配置文件,用户访问账号、权限等;
db 目录:存放版本库的数据文件;
format 文件:文本文件,记录版本库配置的版本号;
hooks 目录:存放 hook 脚本文件;
locks 目录:存放 subversion 锁定数据的目录,用来追踪访问者;
conf/authz 文件:权限控制文件;
conf/passwd 文件:账号&密码文件;
conf/svnserve.conf 文件:版本库配置文件;
2.2 添加账号
$ vim passwd
在 [users] 模块中添加账号和密码
格式:账号=密码
如:lk=123456
每个账号一行
2.3 设置权限
$ vim authz
末尾加入以下内容:
[/]
lk = rw
/:版本库根目录,r:读权限,w:写权限
每个账号一行
2.4 修改版本库配置文件
$ vim svnserve.conf
[general] 模块(版本库名)下打开下面几个注释:
anon-access = none # 匿名用户不可读,read 为可读
auth-access = write # 授权用户可写
password-db = /home/svn/general/conf/passwd # 账号文件,根据实际填写
authz-db = /home/svn/general/conf/autthz # 权限文件,根据实际填写
realm = /home/svn/general # 版本库路径,根据实际填写
2.5 启动 svn
启动指令
$ svnserve -d -r /home/svn/general
默认的端口是 3690,多个版本库是可以分别指定每个版本库的端口
如:
$ svnserve -d -r /home/svn/general --listen-port 3691
查看 svn 占用的端口
$ netstat -antple | grep svnserve
设置开机自启动,把启动命令添加到 rc.local 文件
2.6 停止 svn
单个版本库运行
$ killall svnserve
多个版本库运行,需要根据版本库的 id 结束进程
可以通过端口或版本库路径查询进程 id
$ ps -aux | grep /home/svn/general
or
$ netstat -antple | grep 3691
根据进程 id 杀死进程
$ kill -9 14411
3 客户端
3.1 checkout
建立一个目录,checkout 版本库
$ mkdir svnbase
$ cd svnbase
checkout 版本库
$ svn checkout svn://[ip]:[port]/[path] ./ --username lk --password 123456
ip:svn 服务器的 ip;
port:版本库的端口;
path:checkout 文件的路径,不写则 checkout 整个版本库;
lk:用户名;
123456:lk 用户的密码
可以把文件拉到本地就成功了。
这样使用用户密码是明文的,不够安全,下一篇介绍使用 http 的方式访问 svn。