ubuntu搭建SVN服务器

简介:

安装软件包

如果没有安装subversion软件包,需使用命令sudo apt-get install subversion来安装软件包!

选择文件位置

安装上软件包后需要选择SVN服务文件以及配置文件位置。下面以目录 /home/ svn/为例!

创建版本仓库

进到目录cd /home/svn/中,然后创建一个自己的版本库sudo svnadmin create /home/svn/eth10,但需要先创建目录eth10sudo mkdir eth10
使用ls -ll查看版本仓库(eth10)目录结构如图:

1240

版本仓库的目录文件结构


查看配置文件目录conf如图:

1240

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[你创建的版本库]

1240

客户端检出

安装过程中报错解决方法

错误: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服务器,以及可能会出现的一些问题及解决方法,如果上述有什么不对的地方,烦请多多批评指教,谢谢!


本文转自 eth10 51CTO博客,原文链接:http://blog.51cto.com/eth10/1956245


相关文章
|
29天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
1月前
|
Ubuntu 网络协议 Java
【Android平板编程】远程Ubuntu服务器code-server编程写代码
【Android平板编程】远程Ubuntu服务器code-server编程写代码
|
1月前
|
存储 网络协议 Ubuntu
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
Linux环境下的SVN服务器搭建并结合内网穿透实现远程连接
|
2月前
|
存储 Ubuntu 网络协议
|
22天前
|
Ubuntu Linux 虚拟化
【Linux】ubuntu安装samba服务器
【Linux】ubuntu安装samba服务器
|
1月前
|
网络协议 Ubuntu Linux
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
如何在Linux环境搭建本地SVN服务器并结合cpolar实现公网访问
|
1月前
|
存储 Ubuntu 网络安全
|
1月前
|
Ubuntu 网络协议 Java
在Android平板上使用code-server公网远程Ubuntu服务器编程
在Android平板上使用code-server公网远程Ubuntu服务器编程
|
数据安全/隐私保护 网络协议 Apache