运行以下命令安装SVN。
yum install subversion
运行以下命令查看SVN版本。
svnserve --version
按以下步骤创建版本库:
运行以下命令创建目录。
mkdir /var/svn
依次运行以下命令创建版本库。
cd /var/svn
svnadmin create /var/svn/mysvn
依次运行以下命令查看自动生成的版本库文件。
cd mysvn
ls
> Subversion目录说明:
>
> * db目录:所有版本控制的数据存放文件。
> * hooks目录:放置hook脚本文件的目录。
> * locks目录:用来追踪存取文件库的客户端。
> * format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号。
> * conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)。
- 运行命令
cd conf/
进入conf目录(该SVN版本库配置文件)。
返回结果如下:- authz:是权限控制文件。
- passwd:是账号密码文件。
- svnserve.conf:SVN服务配置文件。
- 按以下步骤设置账号密码:
- 运行
vi passwd
。 - 按
i
键进入编辑模式。 - 在
[users]
块中添加用户账号和密码,格式:账号=密码,比如示例中的test = test123(注意等号两端要有一个空格)。 - 按
Esc
键退出编辑模式,并输入:wq
保存并退出。
- 运行
- 按以下步骤设置权限:
运行
vi authz
。按
i
键进入编辑模式。在末尾添加如下代码(其中,r表示读,w表示写):
[/]
test=rw
按
Esc
键退出编辑模式,并输入:wq
保存并退出。
- 按以下步骤修改svnserve.conf文件。
运行命令
vi svnserve.conf
。按
i
键进入编辑模式。打开以下几个注释(注意每行不能以空格开始,等号两端要有一个空格):
anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /var/svn/mysvn #认证空间名,版本库所在目录
按
Esc
键退出编辑模式,并输入:wq
保存并退出。
- 运行以下命令启动SVN版本库。
svnserve -d -r /var/svn/
9.最后要注意服务器是否开启svn默认端口3690。
踩坑小提示:
所有都配置完成然后准备checkout项目的时候报错 unable to connect to a repository url xxx, xxx Option Expected!
原因:在我们执行vi svnserve.conf
, 打开以下这个文件中的几个注释的时候如果在打开注释后这条命令的前面有空格,就会报这个错。
解决方法:去掉打开注释的所有命令前的空格既可。