千家信息网

linux系统如何安装SVN服务器

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,这篇文章主要讲解了"linux系统如何安装SVN服务器",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"linux系统如何安装SVN服务器"吧!一、安装S
千家信息网最后更新 2026年11月02日linux系统如何安装SVN服务器

这篇文章主要讲解了"linux系统如何安装SVN服务器",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"linux系统如何安装SVN服务器"吧!

一、安装SVN

官网下载:http://subversion.apache.org/packages.html

SVN客户端:TortoiseSVN,官网下载:http://tortoisesvn.net/downloads.html

# yum install subversion

1. 新建一个目录用于存储SVN所有文件

# mkdir /svn

1)创建svn用户 #groupadd svn #useradd -g sky user//是将user加入到sky組內 切换用户 #su svn 以后代码库的创建维护等,都用这个帐户来操作。

2)验证安装

检验已经安装的SVN版本信息 [root@localhost modules]# svnserve--version

svnserve,版本 1.6.11 (r934486)编译于 Jun 23 2012,00:44:03

版权所有 (C) 2000-2009 CollabNet。Subversion 是开放源代码软件,请参阅 http://subversion.tigris.org/ 站点。此产品包含由 CollabNet(http://www.Collab.Net/) 开发的软件。

下列版本库后端(FS) 模块可用:

* fs_base : 模块只能操作BDB版本库。 * fs_fs : 模块与文本文件(FSFS)版本库一起工作。

Cyrus SASL 认证可用。

2. 新建一个资源仓库

# 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目录:是这个仓库的配置文件(仓库的用户访问账号、权限等)

3. 配置svn服务的配置文件svnserver.conf文件

# vi /svn/project/conf/svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = /svn/project/conf/passwd

authz-db = /svn/project/conf/authz

realm = My Test Repository #这是个提示信息

保存

【[general

#匿名访问的权限,可以是read,write,none,默认为readanon-access=none#使授权用户有写权限auth-access=write#密码数据库的路径 password-db=passwd#访问控制文件 authz-db=authz#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字

realm=/opt/svn/repositories】

以上语句都必须顶格写, 左侧不能留空格, 否则会出错.

4. 添加两个访问用户及口令

# vi /svn/project/conf/passwd

[users]

xiaoran.shen = 123456

test1 = 123456

test2 = 123456

保存

注意:对用户配置文件的修改立即生效,不必重启svn服务。

5. 配置新用户的授权文件

# vi /svn/project/conf/authz

[groups]

admin = xiaoran.shen,test1

user = test2

[/]

(#设置[/]代表根目录下所有的资源 [/] 或者写成[repl:/])

@admin

= rw

@user

= r

* =

保存

格式说明:

版本库目录格式:

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

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

<用户名> = <权限>

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

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

创建一个admin组,组成员包括xiaoran.shen和test1

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

admin组对目录有读写权限;

单个用户test2有读写权限;

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

注意:对权限配置文件的修改立即生效,不必重启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。

杀死svn服务:

# ps -ef|grep svn

root 4642 1 016:08 ? 00:00:00 svnserve -d -r/svn/project/

root 4692 3676 0 16:17pxs/2 00:00:00 grep svn

# kill -9 4642

若要使用/etc/init.d/svnserve 脚本,可以修改start()函数部分,如下:

start() {

[ -x $exec ] || exit 5

[ -f $config ] || exit 6

echo -n $"Starting $prog: "

daemon --pidfile=${pidfile} $exec $args -r /svn/project

retval=$?

echo

[ $retval -eq 0 ] && touch $lockfile

return $retval

}

完成

二、使用客户端连接

2.1 使用windows的客户端

打开TortoiseSVN Repository Browser工具

在URL中输入:

svn://192.168.11.229回车,提示输入用户名和口令

2.2 使用Linux下的命令行

#

svn co svn://192.168.11.229

3 FAQ

3.1 命令行方式连接,提示svn: No repository found in 'svn://192.168.11.229/project'错误?

解决:启动svn服务的时候没有使用-r /svn/project参数,没有指明资源库的具体路径。使用# svnserve -d -r /svn/project/ 命令来启动就可以了,不要使用/etc/init.d/svnserver脚本。

3.2 执行命令# svn co svn://192.168.11.229/project时提示"svn:Authorization failed"错误?

解决:一般这种授权失败的错误原因都来自conf/authz文件的配置

正确的配置如下:

[groups]

admin = xiaoran.shen,test1

user = test2

[/]

@admin

= rw

@user

= rw

* =

保存

如果连接的时候出现认证失败,请检查authz和svnserve.conf配置文件。

【如果連接出錯,請檢查防火牆設置 #vi /etc/sysconfig/iptables 加入: -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT#service iptables restart

创建启动Subversion的脚本: #echo 'svnserve -d -r/opt/lampp/htdocs/_svn/' > start_svn.sh #chmod 0777 start_svn.sh#./start_svn.sh

将启动脚本放置到开机自动启动脚本中:以root身份修改文件:/etc/rc.d/rc.local,添加以下文字: su -c /opt/lampp/htdocs/_svn/start_svn.sh svn】

感谢各位的阅读,以上就是"linux系统如何安装SVN服务器"的内容了,经过本文的学习后,相信大家对linux系统如何安装SVN服务器这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

文件 权限 用户 目录 服务 配置 版本 脚本 系统 提示 服务器 客户 客户端 命令 资源 错误 认证 仓库 模块 学习 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 河南云网互联网络科技有限公司 港股互联网科技股 互联网 科技创新 华宇互联网科技 齐家互联网科技 互联网高科技企业 互联网科技股午盘股票涨跌 青海省互联网新科技 深圳国际航运科技和互联网 阿里巴巴算科技企业还是互联网 互联网企业和科技型企业 武汉健翔互联网络科技有限公司 荆州市昕露互联网络科技有限公司 玉溪互联网科技怎么选 畅思互联网科技 张家口科技产业互联网平台 平安好医生打造互联网科技医疗 互联网的黑科技实验室 知域互联网科技有限公司官网 利用互联网等科技手段 互联网科技公司排名 广州百单互联网科技有限公司 互联网和科技技术 厦门中拓互联网络科技有限公司 上海电发互联网科技有限公司 健康食品互联网创新科技园项目 中天科技中国工业互联网 普陀区互联网教育科技管理办法 版纳互联网科技选哪家 科技互联网公司两年变化
0