`
aben328
  • 浏览: 1460544 次
  • 性别: Icon_minigender_1
  • 来自: 广东
社区版块
存档分类

在linux下安装配置svn独立服务器 2008-05-19 09:07

    博客分类:
  • SVN
阅读更多

在linux下安装配置svn独立服务器 2008-05-19 09:07

字号:    

在linux下安装配置svn独立服务器

来源: 作者: 时间:2008-03-07 点击: 39

subversion(以下简称svn)是近年来崛起的版本管理工具,是cvs的接班人。

svn服务器有2种运行方式:独立服务器和借助apache。2种方式各有利弊。

svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据(我在搞ldap时就深受其害,没法根治),所以还是FSFS方式更安全一点。

1. svn服务器安装

操作系统: Redhat Linux AS4

获取svn安装包

 

下载http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz和http://subversion.tigris.org/downloads/subversion-deps-1.4.0.tar.gz。

编译svn

以root用户登录。

将subversion-1.4.0.tar.gz和subversion-deps-1.4.0.tar.gz传到服务器。

tar xfvz subversion-1.4.0.tar.gz

tar xfvz subversion-deps-1.4.0.tar.gz

cd subversion-1.4.0

./configure –prefix=/opt/svn –without-berkeley-db –with-zlib

(注:以svnserve方式运行,不加apache编译参数。以fsfs格式存储版本库,不编译berkeley-db)

make clean

make

make install

vi /etc/profile,在/etc/profile最后加入:

PATH=$PATH:/opt/svn/bin

export PATH

svn测试

svnserve –version

如果显示如下,svn安装成功:

 

svnserve, version 1.4.0 (r21228)

compiled Oct 12 2006, 10:18:56Copyright (C) 2000-2006 CollabNet.

Subversion is open source software, see http://subversion.tigris.org/

This product includes software developed by CollabNet (http://www.Collab.Net/).

The following repository back-end (FS) modules are available:

* fs_fs : Module for working with a plain file (FSFS) repository.

 

2. svn配置

建立svn版本库目录

可建多个:

mkdir -p /opt/svndata/repos1

mkdir -p /opt/svndata/repos2

建立svn版本库

svnadmin create /opt/svndata/repos1

svnadmin create /opt/svndata/repos2

修改svn版本库配置文件

版本库1:

vi /opt/svndata/repos1/conf/svnserve.conf

内容修改为:

[general]

anon-access = none

auth-access = write

password-db = /opt/svn/conf/pwd.conf

authz-db = /opt/svn/conf/authz.conf

realm = repos1

版本库2:

vi /opt/svndata/repos2/conf/svnserve.conf

内容修改为:

[general]

anon-access = none

auth-access = write

password-db = /opt/svn/conf/pwd.conf

authz-db = /opt/svn/conf/authz.conf

realm = repos2

即除realm = repos2外,其他与版本库1配置文件完全相同。如果有更多的版本库,依此类推。

配置允许访问的svn用户

vi /opt/svn/conf/pwd.conf

为了简化配置,2个版本库共用1个用户配置文件。如有必要,也可以分开。

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

文件格式如下:

[users]

<用户1> = <密码1>

<用户2> = <密码2>

其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:

[users]

alan = password

king = hello

配置svn用户访问权限

vi /opt/svn/conf/authz.conf

为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要,也可以分开。文件中定义用户组和版本库目录权限。

注意:

* 权限配置文件中出现的用户名必须已在用户配置文件中定义。

* 对权限配置文件的修改立即生效,不必重启svn。

用户组格式:

[groups]

<用户组名> = <用户1>,<用户2>

其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。

版本库目录格式:

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

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

<用户名> = <权限>

其中,方框号内部分可以有多种写法:

/,表示根目录及以下。根目录是svnserve启动时指定的,我们指定为/opt/svndata。这样,/就是表示对全部版本库设置权限。

repos1:/,表示对版本库1设置权限

repos2:/abc, ,表示对版本库2中的abc项目设置权限

repos2:/abc/aaa, ,表示对版本库2中的abc项目的aaa目录设置权限

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。

示例:

[groups]

admin = alan

[/]

@admin = rw

[repos1:/abc/aaa]

king = rw

[repos2:/pass]

king =

svn配置完毕,删除无用文件

rm /opt/svndata/repos1/conf/authz

rm /opt/svndata/repos1/conf/passwd

rm /opt/svndata/repos2/conf/authz

rm /opt/svndata/repos2/conf/passwd

3. 启动svn

建立启动svn的用户

useradd svn

passwd svn

根据提示为用户svn设置密码

允许用户svn访问版本库

chown -R svn:svn /opt/svndata

chown -R svn:svn /opt/data

启动svn

su - svn -c "svnserve -d --listen-port 9999 -r /opt/svndata"

其中:

su - svn表示以用户svn的身份启动svn

-d表示以daemon方式(后台运行)运行

–listen-port 9999表示使用9999端口,可以换成你需要的端口。但注意,使用1024以下的端口需要root权限

-r /opt/svndata指定根目录是/opt/svndata

检查:

ps -ef|grep svnserve

如果显示如下,即为启动成功:

svn    6941   1 0 15:07 ?    00:00:00 svnserve -d –listen-port 9999 -r /opt/svndata

通过web方式访问svn有很多方法,请参阅配置websvn或配置bsSvnBrowser的方法。参考资料:

http://www.gbunix.com/htmldata/2006_07/15/27/article_1337_1.html

http://www.iusesvn.com/bbs/thread-157-1-1.html

http://16hot.blog.isyi.com/post/1/552

分享到:
评论

相关推荐

    linux下安装配置svn独立服务器

    ### Linux 下安装配置 SVN 独立服务器 #### 一、概述 随着软件开发的日益复杂,版本控制工具成为团队协作不可或缺的一部分。Subversion(SVN)作为一种分布式版本控制系统,在项目管理和版本控制方面表现突出,...

    猪哥的嵌入式linux公房菜

    - **Linux Libraries**:重点讲述Linux下的静态和动态库。 **10. 比较五种开源协议** - **GPL**:最严格的开源许可之一。 - **MIT**:宽松型许可。 - **BSD**:限制较少,鼓励商业使用。 - **Apache**:适合于Web...

    ARM嵌入式Linux系统开发详解

    ### ARM嵌入式Linux系统开发详解 #### 1. 嵌入式系统入门 **1.1 什么是嵌入式系统** 嵌入式系统是指专门为特定应用设计的计算机系统,具有体积小、功能专一、软硬件可裁剪等特点。这种系统广泛应用于日常生活中的...

    Linux详细教程大全之SVN命令总结.docx

    Linux 作为一个开源操作系统,已经成为软件开发和服务器管理的必备工具,而 SVN(Subversion)则是版本控制系统中的一种,广泛应用于软件开发、文档管理和版本控制等领域。下面是 Linux 详细教程大全之 SVN 命令总结...

    安卓面试题

    - **Android**:不是实时操作系统,但在某些场景下支持实时特性。 #### 26. 最长短信大小 - **长度限制**:单条短信最大长度为140字节(非Unicode编码),或70字节(Unicode编码)。 #### 27. Android动画分类 - *...

    12.5.7svn下载与mmi编译

    - `F:\svn\Autobuild\G920Y2_2S_120306\build\GAOPHONE52_6432_11BG920Y2R022SML120306.2012_05_07_19_54_47.bin/scatGAOPHONE52_11B.txt` - 这个路径下的文件为MMI编译后的输出文件。 通过上述分析可以看出,在...

    (全)传智播客PHP就业班视频完整课程

    8-16 4.apache服务器使用及配置① 启动和停止 端口配置 8-16 5.apache服务器使用及配置② apache目录结构 8-16 6.apache服务器使用及配置③ apache虚拟目录 8-17 1.apache服务器使用及配置④ apache虚拟主机 web访问...

    lunch_r58_20160906.7z

    BSP:r58_20160823.tar.gz(2016/8/22从全志的git服务器拿下来的系统) 显示:HDMI输出1080p分辨率的LCD显示器。 编译R18的时候,看lichee和android选择的是不一样的选项。 初步判断:在android中执行extract-bsp...

    lunch_cb5801_r58_20160907.7z

    BSP:r58_20160823.tar.gz(2016/8/22从全志的git服务器拿下来的系统) 显示:HDMI输出1080p分辨率的LCD显示器。 编译R18的时候,看lichee和android选择的是不一样的选项。 初步判断:在android中执行extract-bsp...

    Linux服务器命令.doc

    在Linux服务器管理中,掌握一系列命令是至关重要的。以下是一些基本且实用的Linux命令,它们涵盖了文件操作、进程管理、服务启动与监控以及系统信息查询等多个方面。 1. **进入路径查看文件删除文件**: - `cd`:...

    单点登录源码

    服务网关,对外暴露统一规范的接口和包装响应结果,包括各个子系统的交互接口、对外开放接口、开发加密接口、接口文档等服务,可在该模块支持验签、鉴权、路由、限流、监控、容错、日志等功能。示例图: ![API网关]...

    ORACLE数据库安装配置说明

    本文将详细阐述Oracle数据库的安装配置过程,以及如何利用PL/SQL Developer这一强大的管理工具进行数据库管理和查询。 首先,Oracle数据库的安装通常分为以下几个步骤: 1. **环境准备**:确保操作系统满足Oracle...

    常用linux命令

    在Linux操作系统中,掌握一些常用的命令对于日常管理和维护工作至关重要。以下是一些常见的Linux命令及其用途的详细解释: 1. **历史命令**:通过按向上箭头键,您可以快速访问最近执行过的命令,这对于重复使用...

    linux笔记_运维

    `Varnish`高性能缓存服务器,`KVM`虚拟化技术,`Openstack`云计算平台,`Cacti`、`Nagios`、`Zabbix`监控系统,`SVN`版本控制,`Redis`键值存储,`Ganglia`集群监控,`Heartbeat`高可用集群,`DRBD`分布式镜像存储,...

    史上最全韩顺平传智播客PHP就业班视频,10月份全集

    史上最全韩顺平毕业班视频------这里只有10月份,8,9,11月份在另外一个文件下。 传智播客PHP就业班视频课程列表 8-11 1.html介绍 html运行原理① 8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3....

    史上最全传智播客PHP就业班视频课,8月份视频

    史上最全韩顺平毕业班视频------这里只有8月份,9,10,11月份在另外一个文件下。 传智播客PHP就业班视频课程列表 8-11 1.html介绍 html运行原理① 8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3....

    史上最全韩顺平传智播客PHP就业班视频,9月份全集

    史上最全韩顺平毕业班视频------这里只有9月份,8,10,11月份在另外一个文件下。 传智播客PHP就业班视频课程列表 8-11 1.html介绍 html运行原理① 8-11 2.html运行原理② html文件基本结构 html元素和属性 8-11 3....

    PlsqlDeveloper13工具和instantclient_19_5安装文件.zip

    Instant Client是Oracle公司提供的一个轻量级客户端组件,它允许你在不完整安装Oracle数据库服务器的情况下,运行连接到Oracle数据库的应用程序。Instant Client 19.5是针对Oracle 19c数据库的版本,提供了必要的库...

    韩顺平PHP JS JQUERY 所有视频下载种子 货真价实

    8-16 4.apache服务器使用及配置① 启动和停止 端口配置 8-16 5.apache服务器使用及配置② apache目录结构 8-16 6.apache服务器使用及配置③ apache虚拟目录 8-17 1.apache服务器使用及配置④ apache虚拟主机 web访问...

Global site tag (gtag.js) - Google Analytics