安装软件包
如果没有安装subversion软件包,需使用命令sudo apt-get install subversion
来安装软件包!
选择文件位置
安装上软件包后需要选择SVN服务文件以及配置文件位置。下面以目录* /home/ svn/ *为例!
创建版本仓库
进到目录cd /home/svn/
中,然后创建一个自己的版本库sudo svnadmin create /home/svn/eth10
,但需要先创建目录eth10sudo mkdir eth10
!
使用ls -ll
查看版本仓库(eth10)目录结构如图:
查看配置文件目录conf如图:
conf目录下文件修改conf下配置文件svnserve.conf
[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz
修改conf下配置文件authz
[groups]
admin= eth10
[/]
@admin =rw
*=r
这里组的名字不一定叫admin, 可以设置为任意的名字,主要是为了方便管理;另外比如admin组还有其他用户,可以这样制定 admin=eth10,eth101,eth102等!另外下面权限的分配,要么分别设置权限,要么设置为统一,不能同时使用,如:可以设置为@admin = rw,或者设置为* = r,但不可以同时使用,否则会报错!
修改conf下配置文件passwd
[users]
# harry = harryssecret
# sally = sallyssecret
eth10 = 123456
这里主要是设置用户密码,如上面则是为用户eth10配置密码为 123456!
启动SVN服务器
完成上面工作后,使用命令sudo svnserve -d -r /home/svn/
来启动SVN服务器!
-d 已守护模式启动
-r 制定svn版本库根目录 这样是便于客户端不用输入全路径就可以访问版本库了!
客户端连接测试
测试连接,版本库则为:svn://ip[你服务器的ip]//eth10[你创建的版本库]
客户端检出安装过程中报错解决方法
错误:Invalid authz configuration
在我们搭建完成后,会发现客户端可能会报“Invalid authz configuration”的错误提示,但是没有具体的错误原因,此时我们可以在服务器端检查authz配置文件,命令如下:
svnauthz-validate /home/svn/eth10/conf/authz
此时服务器端就会返回错误的地方的位置多少行,以及错误原因,然后根据行数及原因进行修改,可能是 =
写成了 -
,也可能是上面对某一组设置了权限,而下面又对所以组设置了权限,具体原因看返回的信息!
错误: can't open file‘\db\txn-current-lock’ 拒绝访问
在我们成功检出后,准备提交文件时,却可能出现错误Error: Can’t open ‘/home/svn/db/txn-current-lock’: 拒绝访问
!
出现该错误原因主要是权限设置问题,解决方法则是把/home/svn目录下所有文件和子目录添加读写权限,使用命令如下:
sudo chmod –R o+rw /home/svn
总结
以上就是在ubuntu上搭建SVN服务器,以及可能会出现的一些问题及解决方法,如果上述有什么不对的地方,烦请多多批评指教,谢谢!
网友评论