为了操作方便,使用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