ubuntu 16.04配置svn服务器

为了操作方便,使用root登录服务器。

一、安装svn服务器

-->apt-get install subversion

二、创建svn版本库,存放需要管理内容路径

-->mkdir svn

-->cd svn

-->svnadmin create repo

进入repo文件夹下有conf、db、hook等文件夹。只需要关注conf即可

三、配置svn

conf存放主配置文件和用户、权限位置。conf下有authz、 passwd、 svnserve.conf

authz文件是设置用户权限
passwd文件是存储用户及密码
svnserve.conf是主配置文件,先配置主配置文件。

--> vi svnserve.conf

找到anon-access(匿名用户权限)、auth-access(有帐号用户权限)、password-db(定义用户名和密码的配置)去掉注释(注意这些前面的空格也要去掉)

none:无权限、 read:只读, write:读写

anon-access = none
auth-access = write
password-db = passwd

-->vi passwd

[users]
admin=123456
lisi=123456

存放帐号=密码。 此处使用明文纪录。

-->vi authz

[groups]  配置组管理:组名=成员帐号
admin=admin
user=zhanshan,lisi

[/]      根目录权限
admin=rw  admin组拥有读写
@user=r  user组成员只有读权限


[/web]    文件夹web目录的权限
@user=rw  user组读写权限

权限有继承性,子文件夹能够继承权限

四、启动SVN服务器

-->svnserve -d -r /root/svn

-d 参数让 svnserve 运行在后台,-r 参数限定了数据仓库,在网络上可以访问的地址,  指定文件系统的根位置(版本库的根目录),这样客户端不用输入全路径,就可以访问版本库。

五、检查SVN服务是否启动(SVN默认端口3690)

-->netstat -an | grep 3690

-->svnserve --listen-port   查看运行端口

六、常见问题

1、svn E210003 connection refused by the server。连接不上服务器。

解决方案:检查防火墙、查看服务器是否放开3690端口(阿里云默认是不放开)、检查svn服务有没有启动

2、 svn E210005 no repository found in   未找到svn仓库路径

解决方案:检查svn服务是否启动、指向路径是否正确。 上面svnadmin添加目录是repo,因此启动服务需要执行svnserve -d -r /root/svn/repo

原文地址:https://www.cnblogs.com/song27/p/8419263.html