在Linux上搭建SVN服务器
Linux版本是 CentOS release 6.8 (Final)。
1. 安装SVN
# yum intall subversion
2. 查看安装位置
# rpm -ql subversion
3. 检验SVN是否安装成功
如果查看帮助成功,即说明安装成功。
# svn --help
4. 创建SVN版本库目录
# mkdir –p /data/svn/svnrepos
5. 创建版本库
# svnadmin create /data/svn/svnrepos
执行命令后会在该目录下生成如下几个文件:
# ls /data/svn/svnrepos
conf db format hooks locks README.txt
6. 进入conf目录进行配置
# cd /data/svn/svnrepos/conf
# ls
authz passwd svnserve.conf
文件 authz 是权限控制文件,文件 passwd 是帐号及密码文件,文件 svnserve.conf 是SVN服务配置文件。
(1)添加用户
# vi passwd
在[users]块中添加用户和密码,格式:帐号=密码。
例如:
[users]
# harry = harryssecret
# sally = sallyssecret
Tom = tompwd123
保存并关闭文件。
(2)给用户配置权限
# vi authz
此配置文件采用“基于路径的授权”策略,格式:
[目录]
主体 = 权限
方括号里指定目录,比如:/ 就是表示对全部版本库设置权限,/data/svn/svnrepos 就是对 svnrepos 版本库设置权限。
主体可以是 用户组、用户 或 *,用户组在前面加 @,* 表示全部用户。权限可以是 r、w、rw 或 空,r 是读权限,w 是写权限,空表示没有任何权限。
在文件末尾添加如下代码:
[/]
Tom=rw
保存并关闭文件。
意思是用户Tom对所有版本库具有读写权限。
(3)修改svnserve.conf文件
# vi svnserve.conf
打开下面的两个个注释:
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
保存并关闭文件。
7. 启动SVN
# svnserve –d –r /data/svn/svnrepos
其中:–d 表示后台运行,-r 表示数据目录,/data/svn/svnrepos 就是前面创建的版本库目录。
8. 验证SVN服务器
在Windows系统上用SVN客户端登录并创建一个文件夹和一个文件试试,URL格式是:svn://<IP地址>,如下:
如上图所示,说明搭建SVN服务器成功。
在服务器端用SVN命令查看创建的内容:
# svn ls svn://169.207.116.245/
Authentication realm: <svn://169.207.116.245:3690> 697634c5-0f6e-43ca-be2f-9710c7ff8d86
Password for 'root': <输入Linux系统root用户的密码>
Authentication realm: <svn://169.207.116.245:3690> 697634c5-0f6e-43ca-be2f-9710c7ff8d86
Username: Tom
Password for 'Tom': <输入Tom的密码>
... ...
Store password unencrypted (yes/no)? no
test/
test.txt
列出了刚才在SVN客户端创建的 test 目录和 test.txt 文件,到此在Linux系统上搭建SVN服务器成功啦!