`
king123one
  • 浏览: 2209 次
  • 性别: Icon_minigender_2
  • 来自: 青岛
最近访客 更多访客>>
社区版块
存档分类
最新评论

linux Svn服务安装

阅读更多
Subversion独立服务和与apache整合服务。
一 、Svn独立服务安装
操作系统: Redhat Linux AS3 AS 4   ContOS AS 4
安装包获取:
下载http://subversion.tigris.org/downloads/subversion-1.4.0.tar.gz和http://subversion.tigris.org/dow ... n-deps-1.4.0.tar.gz。
编译:
以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
subversion-deps包有四个目录zlib apr apr-util neon这四个目录都是依赖包,编译subversion所必须的代码
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
测试:
svnserve –version
如果显示如下,安装成功:
svnserve, version 1.4.0 (r21228)
compiled Oct 12 2006, 10:18:56
Copyright (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配置
建立版本库目录,可建多个:
mkdir -p /opt/svndata/repos1
mkdir -p /opt/svndata/repos2
建立版本库:
svnadmin create /opt/svndata/repos1
svnadmin create /opt/svndata/repos2
修改版本库配置文件:
版本库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配置文件完全相同。如果有更多的版本库,依此类推。
配置允许访问的用户:
vi /opt/svn/conf/pwd.conf
为了简化配置,2个版本库共用1个用户配置文件。如有必要,也可以分开。
注意:对用户配置文件的修改立即生效,不必重启svn。
文件格式如下:
[users]
=
=
其中,[users]是必须的。下面列出要访问svn的用户,每个用户一行。示例:
[users]
alan = password
king = hello
配置用户访问权限:
vi /opt/svn/conf/authz.conf
为了简化配置,3个版本库共用1个权限配置文件/opt/svn/conf/pwd.conf。如有必要,也可以分开。文件中定义用户组和版本库目录权限。
注意:
* 权限配置文件中出现的用户名必须已在用户配置文件中定义。
* 对权限配置文件的修改立即生效,不必重启svn。
用户组格式:
[groups]
= ,
其中,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 =
删除无用文件:
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
二、svn服务与apache 整合
Subversion存储方式,一是Berkeley DB伯克利存储方式,二是fsfs存储方式。
两种版本库数据存储对照表
特性 Berkeley DB FSFS
对操作中断的敏感 很敏感;系统崩溃或者权限问题会导致数据库“塞住”,需要定期进行恢复。 不敏感
可只读加载 不能 可以
存储平台无关 不能 可以
可从网络文件系统访问 不能 可以
版本库大小 稍大 稍小
扩展性:修订版本树数量 无限制 某些本地文件系统在处理单一目录包含上千个条目时会出现问题。
扩展性:文件较多的目录 较慢 较慢
检出最新代码的速度 较快 可以
大量提交的速度 较慢,但时间被分配在整个提交操作中 较快,但最后较长的延时可能会导致客户端操作超时
组访问权处理 对于用户的 umask 设置十分敏感,最好只由一个用户访问。 对 umask 设置不敏感
功能成熟时间 2001 年 2004 年
1、安装APR-1.2.7和APR-util-1.2.7
     下载地址:http://apr.apache.org/ 
     tar zxvf apr-1.2.7.tar.gz
    ./configure
     make
     make install
     tar zxvf apr-util-1.2.7.tar.gz
     ./configure --with-apr=/usr/local/apr/
      make
      make install
2、编译安装APACHE。
     tar zxvf httpd-2.2.3.tar.gz
    cd httpd-2.2.3
    ./configure --prefix=/opt/apache --enable-dav --enable-so --enable-maintainer-mode --with-apr=/usr/local/apr/bin/apr-1-config --with-apr-util=/usr/local/apr/bin/apu-1-config
      make
     make install
3、安装subversion-1.4.0
      tar zxvf subversion-1.4.0.tar.gz
./configure --with-apxs=/opt/apache/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr
问题:有关共享库错误
方法: echo "/usr/local/apr-util/lib" >> /etc/ld.so.c
             ldconfig      echo $?
make
    make install
    设置环境变量(可做可不做)
vi /etc/profile,在/etc/profile最后加入:
PATH=$PATH:/opt/svn/bin
export PATH
4、查看subversion两个动态库有没有安装成功
      vi /opt/apache/conf/httpd.conf
     看到下面两个模块说明安装成功
      LoadModule dav_svn_module     modules/mod_dav_svn.so
      LoadModule authz_svn_module   modules/mod_authz_svn.so
5、配置SVN
     vi /opt/apache/conf/httpd.conf
      配置:
    
       DAV svn
         SVNParentPath /data/svn/repos //svn父目录
         AuthType Basic //连接类型设置
         AuthName "Subversion repository" //连接框提示
         AuthUserFile /data/svn/passwd //用户配置文件
         AuthzSVNAccessFile /data/svn/auth
         Require valid-user //passwd所有的用户都可以访问
6、建立SVN存储仓库
      #mkdir -p /opt/svndata/repos
     #svnadmin create –fs-type fsfs /opt/svndata/repos
备份以前的SVN库
#svnadmin dump /opt/svndata/repos > /root/repos20080328
把备份出来的数据恢复到本地
#svnadmin load /opt/svndata/repos/ ; dumpfile
//还原
$svnadmin load newrepo
分享到:
评论

相关推荐

    linux系统SVN服务器安装详细教程及安装源码

    在Linux环境下安装SVN服务器可以帮助团队有效地进行软件项目的版本控制。以下是一个详细的Linux SVN服务器安装教程。 一、安装依赖库 在安装SVN之前,需要确保系统上已经安装了必要的依赖库。对于基于Debian或...

    linuxsvn离线安装

    在没有网络连接的情况下,即离线状态下安装Linux SVN,需要提前下载好所有必要的依赖包,然后在本地进行安装。以下是详细的操作步骤和相关知识点: 1. **了解SVN**: SVN是一种集中式版本控制系统,它允许用户跟踪...

    Linux离线安装svn.zip

    这里我们将svn安装到`/usr/local/svn`目录,你可以根据实际需求更改安装路径。 2. 编译源码: ``` make ``` 3. 安装编译后的程序: ``` sudo make install ``` 4. 创建软链接,使系统可以全局访问svn命令...

    Linux(CentOS6.2)下安装SVN服务

    ### Linux (CentOS 6.2) 下安装SVN服务 #### 一、概述 本文将详细介绍如何在Linux(CentOS 6.2)环境下安装SVN服务。SVN(Subversion)是一种分布式版本控制系统,广泛应用于软件开发过程中对源代码进行版本控制。...

    linux svn安装手册

    Linux SVN安装手册旨在指导用户在Linux环境中安装Subversion(SVN)版本控制系统。Subversion是一个开源的版本控制系统,用于管理文件和目录版本的历史记录,便于团队协作开发。以下是详细的安装步骤: 1. 首先,...

    linux SVN 1.6.1 安装过程

    linux 下 SVN 1.6.1 的安装部署流程,包含软件下载的路径。后续我会在我的CSDN中提供相关软件下载。 tag 均以 linux SVN 1.6.1 开头。

    linux离线安装SVN_1.8.17服务所需安装包

    本篇文章将详细讲解如何在Linux环境下离线安装SVN 1.8.17服务,并列出所需的安装包。 首先,你需要确保你的Linux系统已经安装了必要的基础工具,如`wget`(用于下载文件)和`tar`(用于解压压缩文件)。如果没有,...

    Linux SVN的安装使用笔记

    Linux SVN的安装使用笔记 .

    Linux svn-1.6.12 服务器安装文档

    这样,你就成功地在Linux SUSE 10sp3上安装并配置了SVN服务器,可以开始使用SVN进行版本控制和协作开发了。确保定期更新SVN以获取最新功能和安全修复,并根据团队的需求调整配置以提高效率和安全性。

    Linux搭建SVN服务器

    本文将详细介绍如何在Linux服务器上搭建SVN服务器,包括安装配置SVN服务、配置用户权限以及通过客户端进行连接测试等内容。 #### 二、安装SVN服务 1. **下载SVN** - 官方网站提供下载链接:...

    linux下安装SVN服务器(SVN1.5.4)

    在Linux系统中安装SVN(Subversion)服务器是管理和协同软件开发的重要步骤。SVN是一个版本控制系统,允许团队成员在不冲突的情况下同时编辑文件。在这个过程中,我们将详细讲解如何在Linux环境下安装SVN 1.5.4版本...

    linux下安装svn和配置svn详解

    Linux系统下SVN服务器安装和配置详解 在Linux系统中安装和配置SVN服务器是版本控制系统实施中的一个重要环节。Subversion(SVN)是一个自由/开源的版本控制系统,它用于存储文件和目录的历史版本,使得从这些文件的...

    Linux离线安装SVN所有依赖包,亲测可用

    Linux服务器离线安装SVN,所需要的依赖包,包括apr-1.7.0.tar.gz、apr-util-1.6.1.tar.gz、expat-2.0.1.tar.gz、sqlite-autoconf-.tar.gz、subversion-1.14.1.tar.gz、zlib-1.2.11.tar.xz,比从官网下载快N倍

    linux 安装svn并实现本地同步服务器

    Linux 安装 SVN 并实现本地同步服务器 ...本文介绍了在 Linux 环境下安装 SVN 并实现本地同步服务器的步骤,包括安装 SVN、创建目录结构、配置 SVN、启动 SVN 服务、客户端验证和同步本地和服务器等步骤。

    Linux下SVN服务器的搭建与配置.docx

    Linux 下 SVN 服务器的搭建与配置 Linux 下 SVN 服务器的搭建与配置是指在 Linux 操作系统下搭建和配置 SVN 服务器的过程。SVN(Subversion)是一种版本控制系统,允许多个用户同时对文件进行编辑和修改。下面将...

    linux下安装SVN支持http

    linux下安装SVN支持http;linux下安装SVN支持http;linux下安装SVN支持http

    SVN linux服务器端安装文件1

    一、SVN安装 1. 更新系统库:首先确保系统是最新的,执行`sudo apt-get update`或`yum update`(根据你的Linux发行版选择相应的命令)。 2. 安装依赖:"deps"通常指的是依赖包,对于SVN服务器,可能包括libapache2-...

    Linux下SVN安装配置.pdf

    Linux下的SVN安装配置涉及到一系列详细的步骤,这些步骤包括安装SVN软件,配置版本库,以及设置权限等。为了在Linux环境下使用SVN,用户需要根据自己的需求选择合适的安装方式和配置策略。接下来,我将详细介绍Linux...

    linux svn自动备份

    在Linux环境中,版本控制系统Subversion(SVN)广泛用于团队协作和代码管理。为了确保数据安全,定期备份SVN库是至关重要的。本篇将详细解释如何在Linux下创建一个自动备份SVN仓库的shell脚本,并将其设置为计划任务...

    linux下svn的安装

    持续学习和实践是解决这些问题的关键,这将帮助你更好地理解和掌握Linux下的SVN安装。 总之,Linux下安装SVN需要对Apache HTTP Server和其依赖的apr、apr-util有深入理解,同时要注意版本兼容性。通过遵循上述步骤...

Global site tag (gtag.js) - Google Analytics