千家信息网

ubuntu搭建SVN服务器

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,安装软件包如果没有安装subversion软件包,需使用命令sudo apt-get install subversion来安装软件包!选择文件位置安装上软件包后需要选择SVN服务文件以及配置文件位置
千家信息网最后更新 2024年11月27日ubuntu搭建SVN服务器

安装软件包

如果没有安装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目录下文件

修改conf下配置文件svnserve.conf

[general]
#匿名用户不可读
anon-access = none
#权限用户可写
auth-access = write
#密码文件为passwd
password-db = passwd
#权限文件为authz
authz-db = authz

修改conf下配置文件authz

[groups]
admin= eth20

[/]
@admin =rw
*=r

这里组的名字不一定叫admin, 可以设置为任意的名字,主要是为了方便管理;另外比如admin组还有其他用户,可以这样制定 admin=eth20,eth201,eth202等!另外下面权限的分配,要么分别设置权限,要么设置为统一,不能同时使用,如:可以设置为@admin = rw,或者设置为* = r,但不可以同时使用,否则会报错!

修改conf下配置文件passwd

[users]
# harry = harryssecret
# sally = sallyssecret
eth20 = 123456

这里主要是设置用户密码,如上面则是为用户eth20配置密码为 123456

启动SVN服务器

完成上面工作后,使用命令sudo svnserve -d -r /home/svn/来启动SVN服务器!

-d 已守护模式启动
-r 制定svn版本库根目录 这样是便于客户端不用输入全路径就可以访问版本库了!

客户端连接测试

测试连接,版本库则为:svn://ip[你服务器的ip]//eth20[你创建的版本库]


客户端检出

安装过程中报错解决方法

错误:Invalid authz configuration

在我们搭建完成后,会发现客户端可能会报"Invalid authz configuration"的错误提示,但是没有具体的错误原因,此时我们可以在服务器端检查authz配置文件,命令如下:
svnauthz-validate /home/svn/eth20/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服务器,以及可能会出现的一些问题及解决方法,如果上述有什么不对的地方,烦请多多批评指教,谢谢!


0