十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
如果没有安装subversion软件包,需使用命令sudo apt-get install subversion
来安装软件包!
安装上软件包后需要选择SVN服务文件以及配置文件位置。下面以目录 /home/ svn/为例!
进到目录cd /home/svn/
中,然后创建一个自己的版本库sudo svnadmin create /home/svn/eth20
,但需要先创建目录eth20sudo mkdir eth20
!
使用ls -ll
查看版本仓库(eth20)目录结构如图:
版本仓库的目录文件结构
查看配置文件目录conf如图:
conf目录下文件
[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz
[groups]
admin= eth20
[/]
@admin =rw
*=r
这里组的名字不一定叫admin, 可以设置为任意的名字,主要是为了方便管理;另外比如admin组还有其他用户,可以这样制定 admin=eth20,eth201,eth202等!另外下面权限的分配,要么分别设置权限,要么设置为统一,不能同时使用,如:可以设置为@admin = rw,或者设置为* = r,但不可以同时使用,否则会报错!
[users]
# harry = harryssecret
# sally = sallyssecret
eth20 = 123456
这里主要是设置用户密码,如上面则是为用户eth20配置密码为 123456!
完成上面工作后,使用命令sudo svnserve -d -r /home/svn/
来启动SVN服务器!
-d 已守护模式启动
-r 制定svn版本库根目录 这样是便于客户端不用输入全路径就可以访问版本库了!
测试连接,版本库则为:svn://ip[你服务器的ip]//eth20[你创建的版本库]
客户端检出
在我们搭建完成后,会发现客户端可能会报“Invalid authz configuration”的错误提示,但是没有具体的错误原因,此时我们可以在服务器端检查authz配置文件,命令如下:svnauthz-validate /home/svn/eth20/conf/authz
此时服务器端就会返回错误的地方的位置多少行,以及错误原因,然后根据行数及原因进行修改,可能是 =
写成了 -
,也可能是上面对某一组设置了权限,而下面又对所以组设置了权限,具体原因看返回的信息!
在我们成功检出后,准备提交文件时,却可能出现错误Error: Can’t open ‘/home/svn/db/txn-current-lock’: 拒绝访问
!
出现该错误原因主要是权限设置问题,解决方法则是把/home/svn目录下所有文件和子目录添加读写权限,使用命令如下:sudo chmod –R o+rw /home/svn
以上就是在ubuntu上搭建SVN服务器,以及可能会出现的一些问题及解决方法,如果上述有什么不对的地方,烦请多多批评指教,谢谢!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。