踩坑、注意
比如 password-db = passwd 这个密码数据库的配置后面不能加任何注释,并且要去掉"="附近的所有空格下面举一个正确和错误的例子来
错误的例子: password-db = passwd #这里是注释
正确例子:password-db=passwd
否则会报 认证失败错误。另外端口就用默认的 3690 不用理会pid
1.安装
确保linux上没有安装subversion
find / -name subversion
如果没有安装的话是空白的,有安装的话就可以新建版本库了
svn使用的端口默认是3690,windows下可以再cmd命令
方式一、telnet 1.117.23.51 3690
svn使用的端口默认是3690,windows下可以再cmd命令使用tcping.exe命令对服务器的端口查看是否可以访问的到,tcping.exe需要下载,下载地址:download.elifulkerson.com//files/tcpi…
方式二、tcping 1.117.23.51 3690
如果端口没有开放,使用防火墙去打开端口,再次进行验证端口是否已经开放。
使用yum安装命令
yum install subversion
2.创建仓库及配置
2.1创建仓库
在/home目录下创建一个svn的仓库的根目录,在svn的下一层创建一个仓库如repository
mkdir -p /home/svn/repository
创建repository仓库
svnadmin create /home/svn/repository
进入仓库
cd /home/svn/repository ls
可以看到仓库下有以下内容
conf文件是用来存放配置文件的,可以看到此文件夹下有以下文件
其中:
authz:是权限控制文件
passwd:是账号密码文件
svnserve.conf:是svn服务配置文件
2.2修改配置文件
接下来要修改这三个文件
修改passwd文件,创建两个用户,一个test1,一个test2
vim passwd
配置authz文件
vim authz
在文本末尾添加以下内容
以后所有的项目版本库代码都放在这个下面
[/]:代表仓库下所有文件
test1 = rw :test1用户可读可写
test2 = rw :test2只读
*=:其他用户无任何权限
2.3使用分组
使用分组可以更加方便的用户和仓库管理
vim authz
group1 = test1
group2 = test2
[/]
@group1 = rw
@group2 = r
*=
以上配置了两个分组,分组1的用户可读可写,分组2的用户只读
格式说明:
版本库目录格式:
[<版本库>:/项目/目录]
@<用户组名> = <权限>
<用户名> = <权限>
2.4配置svnserve.conf
vim svnserve.conf
打开一下配置的注释,并填写仓库路径
anon-access = none #匿名用户可读,如果值为read的话会造成Log Message无法显示,把值设为none可读message
auth-access = write #授权用户可写
password-db = passwd #使用哪个文件作为账号文件
authz-db = authz #使用哪个文件作为权限文件
realm = /home/svn #认证空间名,版本库所在目录
**注意:**最后一行的realm要改成svn目录 打开注释时前面不要留有空格,否则可能会报错
3启动
启动
svnserve -d -r /home/svn
语法:
svnserve -d -r svn仓库目录
查看是否启动起来
lsof -i:3690
出现以下情况表示启动成功
重启
杀死svnserver
killall svnserve
重新启动
svnserve -d -r /home/svn
查看svn进程
ps -ef|grep svn
使用kill -9 pid杀死进程
4客户端连接
首先要安装TortoiseSVN工具,工具安装好以后右键
TortoiseSVN,输入地址svn://你的IP
即可,不出意外输入用户名和密码就能连接成功了。
默认端口3690,如果修改了端口,要记得加上端口号。
认证时输入设置的用户名和密码即可
点击确定以后,仓库拉取成功
5出现问题
问题1:checkout时,提示:URL ‘svn://39.101.220.235/svnrepos’ doesn’t exist
如果svn的路径为:/home/svn/repository
启动时不能使用命令
svnserve -d -r /home/svn/repository
要用以下命令
svnserve -d -r /home/svn