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目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)
- 配置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 “保存并退出
- 添加两个访问用户及口令
# vi /svn/project/conf/passwd
输入i进行修改文件,将文件中的对应内容按照以下修改
[users]
leader = 123456
member1 = 123456
member2 = 123456
保存同第4步骤
注意:对用户配置文件的修改立即生效,不必重启svn服务。
- 配置新用户的授权文件
# 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服务器的主要内容,如果未能解决你的问题,请参考以下文章