Linux下搭建SVN服务器

Posted sysu_zjl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux下搭建SVN服务器相关的知识,希望对你有一定的参考价值。

1、在进行svn服务器环境搭建之前首先用终端命令连接到服务器上。
在打开的终端页面,输入如下代码:
ssh user@hostname
注:上边代码为固定格式,其中
user 为 linux 服务器的管理员名称
hostname 为 linux 服务器的IP
如: ssh haibor@1.2.3.4
如此就可以在mac一样远程登录管理你的linux服务器了
2、新建一个目录用于存储SVN所有文件

#mkdir /svn

3、 新建一个资源仓库

# svnadmin create /svn/project   
# ls /svn/project/   
conf db format hooks locks README.txt  


目录用途说明:

l hooks目录:放置hook脚本文件的目录

l locks目录:用来放置subversion的db锁文件和db_logs锁文件的目录,用来追踪存取文件库的客户端

l format文件:是一个文本文件,里面只放了一个整数,表示当前文件库配置的版本号

l conf目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

  1. 配置svn服务的配置文件svnserver.conf文件
# vi /svn/project/conf/svnserve.conf   

进入该文件界面

输入i进行修改文件,将文件中的对应内容按照以下修改

anon-access = none   
auth-access = write   
password-db = passwd   
authz-db=authz   
realm = My Test Repository #这是个提示信息  

保存
按esc退出编辑界面
再输入” :wq “保存并退出

  1. 添加两个访问用户及口令
# vi /svn/project/conf/passwd   

输入i进行修改文件,将文件中的对应内容按照以下修改

[users]   
leader = 123456   
member1 = 123456   
member2 = 123456 

保存同第4步骤
注意:对用户配置文件的修改立即生效,不必重启svn服务。

  1. 配置新用户的授权文件
# vi /svn/project/conf/authz   

输入i进行修改文件,将文件中的对应内容按照以下修改

[groups]   
admin = leader,member1   
user = member2   
[/]   
@admin = rw   
@user = r   
* =  

保存同第4步骤
格式说明:

版本库目录格式:

[<版本库>:/项目/目录]

@<用户组名> = <权限>

<用户名> = <权限>

/ 表示对根目录(即/svn/project目录)下的所有子目录范围设置权限;

[/abc] 表示对资料库中abc项目设置权限;

创建一个admin组,组成员包括leader和member1

创建一个user组,成员只有member2;

admin组对目录有读写权限;

单个用户member2有读权限;

*=表示除了上面设置的权限用户组以外,其他所有用户都设置空权限,空权限表示禁止访问本目录,这很重要一定要加上。

注意:对权限配置文件的修改立即生效,不必重启svn。
6. 启动svn服务

svnserve -d -r /svn/project/

注意:不要使用系统提供的 /etc/init.d/svnserve start 来启动,因为系统默认的启动脚本中没有使用 –r /svn/project参数指定一个资源。这种情况下启动的svn服务,客户端连接会提示“svn: No repository found in ‘svn://192.168.11.229/project’ ”这样的错误。

默认svn服务器端口是3690。

Mac SVN 命令
首先你要在这个svn代码库里添加文件
不然你check out 会显示URL does not exit

svn import ./dms svn://localhost/project --username=leader --password=123456

check out 下载代码命令

svn checkout svn://localhost/project username=leader --password=123456

总结下走过的坑,
执行命令# svn co svn://192.168.11.229/project时提示“svn: Authorization failed”错误
看auth,password及conf文件有没有打错的地方
如果看不出,就可能是存在前置空格的问题或者其他的
这时我是重新创建svn/project的代码库文件夹,然后按以上步骤打一遍就ok了~

解决:一般这种授权失败的错误原因都来自conf/authz文件的配置
以上参考链接http://my.oschina.net/lionel45/blog/298305

以上是关于Linux下搭建SVN服务器的主要内容,如果未能解决你的问题,请参考以下文章

centos7下SVN服务器如何搭建

linux下安装svn

Linux下搭建SVN服务器

Linux下svn环境搭建

Linux下搭建SVN服务

Linux下搭建SVN服务器--基于SNMP