`
ssxxjjii
  • 浏览: 948448 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

centos5.6下安装subversion服务器

 
阅读更多

http://www.cnblogs.com/hhuai/archive/2011/03/10/1979877.html

svn服务器有2种运行方式:

1. 独立服务器 (例如:svn://xxx.com/xxx)

2. 借助apache。(例如:http://svn.xxx.com/xxx)

由于我装的是nginx, 所以选择了第一种方式-独立的svn服务器。

svn存储版本数据也有2种方式:

1. bdb

2. fsfs。

因为bdb方式在服务器中断时,有可能锁住数据,所以还是fsfs方式更安全一点,我也选择这种方式。

环境: svn服务器安装操作系统: centOS5.6 (x64)

 

获取svn安装包:

# wgethttp://subversion.tigris.org/downloads/subversion-1.6.6.tar.gz

# wgethttp://subversion.tigris.org/downloads/subversion-deps-1.6.6.tar.gz


编译svn以root用户登录:

# tarxfvz subversion-1.6.6.tar.gz

# tarxfvz subversion-deps-1.6.6.tar.gz

# cdsubversion-1.6.6

#./configure --prefix=/usr/local/svn --without-berkeley-db

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

# make&& make install

在/etc/profile最后加入 svn path 以方便操作:

 export PATH=$PATH:/usr/local/svn/bin/


测试是否安装成功:

#svnserve --version

#/opt/svn/bin/svnserve –version

# svnserve –version

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

svnserve,version 1.6.6 (r40053)

compileddec 2 2009, 22:37:15

copyright(c) 2000-2009 collabnet.

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

thisproduct includes software developed by collabnet (http://www.collab.net/).

thefollowing repository back-end (fs) modules are available:

* fs_fs: module for working with a plain file (fsfs) repository.

cyrussasl authentication is available.

 

 建立svn版本库目录(可建多个):

# mkdir-p /opt/svndata/repos

建立svn版本库repos:

#svnadmin create /opt/svndata/repos/

修改svn版本库配置文件版本库:

# vi/opt/svndata/repos/conf/svnserve.conf

内容修改为:(注:去掉以下行前的#时,也要去掉前面的空格,否则会出现svnserve.conf:12: Option expected的错误)

[general]

anon-access= none

auth-access= write

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

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

realm =repos

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

passwd中[users]是必须的,文件格式如下:

[users]

username= password

 

配置svn用户访问权限:

# vi/opt/svn/conf/authz.conf

注重:

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

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

用户组格式:

[groups]

= ,

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

版本库目录格式:

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

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

<用户名> = <权限>

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

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

[repos:/]表示对版本库repos设置权限

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

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

权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。

权限可以是w、r、wr和空,空表示没有任何权限。

示例:

[groups]

kwt_group_a:root                      # kwt的管理员,对kwt有完全权限

kwt_group_d:humin,shenjianfei,yuanfei,sunchengquan,        # kwt的开发者,对kwt的trunk有完全的权限,但对其中的/trunk/admin/目录没有任何权限

kwt_group_t:test                       # kwt的测试者,对kwt的trunk有完全的读权限,但对其中的/trunk/admin/目录没有任何权限

jmz_group_a:root                      # JMZ的管理员,对JMZ有完全权限

jmz_group_d:humin,shenjianfei,yuanfei,sunchengquan,        # JMZ的开发者,对JMZ的trunk有完全的权限,但对其中的/trunk/admin/目录没有任何权限

jmz_group_t:test                       # JMZ的测试者,对JMZ的trunk有完全的读权限,但对其中的/trunk/admin/目录没有任何权限

 

[/]

# 指定所有的版本库默认只读,root可读写

* = r

root =rw

humin =rw

[kwt:/]

# 指定对版本库kwt根目录的权限

@kwt_group_a= rw

@kwt_group_d= rw

@kwt_group_t= r

[kwt:/trunk/admin]

# 指定对版本库kwt的/trunk/admin根目录的权限

@kwt_group_a= rw

@kwt_group_d= r

@kwt_group_t= r

[jmz:/]

# 指定对版本库jmz根目录的权限

@jmz_group_a= rw

@jmz_group_d= rw

@jmz_group_t= r

[jmz:/trunk/admin]

# 指定对版本库jmz的/trunk/admin根目录的权限

@jmz_group_a= rw

@jmz_group_d= r

@jmz_group_t= r

 

# vi/opt/svn/conf/passwd

[users]

root =hwxxjs5236288

humin =hyshzy

shenjianfei= shenshen

yuanfei= feifei

liuminglong= longlong

sunchengquan= chengcheng

test =123456

 

 启动svn,建立svn的用户

#useradd svn

# passwdsvn

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

允许用户svn访问版本库:

# chown-R svn:svn /opt/svndata/

 

# su -svn

#svnserve -d -r /opt/svndata

# svnimport /usr/local/apache/htdocs file:///opt/svndata/jmz-m"jmz"  (将htdocs下文件导入版本库jmz)

#killall svnserve

#svnserve -d -r /opt/svndata (重新启动并把opt/svndata地址隐藏,这个时候svn://192.168.1.111/jmz可以访问了)

------------------------------------------------------------------------------------------------------------------------------------

 

centos服务器拉取其他服务器上的源码

# mkdir-p /opt/sources

# chownsvn:svn /opt/sources

# chmod-R 755 /opt/sources

 

#  svn co svn://192.168.1.20/JMZ/ /opt/sources   //从服务器上检出代码到 /opt/sources目录

 

// 删除当前检出的源码中的.svn文件

# cd/opt/sources

# find .-type d -name '.svn' | xargs rm -fr

 

// 将当前/opt/sources/下的源码导入到当前服务器的版本库jmz中

# chownsvn:svn /opt/svndata/jmz/

# chmod-R 777 /opt/svndata/jmz/

# svn import /opt/sources/ file:///opt/svndata/jmz/ -m "jmz"

分享到:
评论

相关推荐

    centos5.6图解安装

    ### CentOS 5.6 图解安装指南 #### 一、启动与配置虚拟机环境 - **启动虚拟机**:在虚拟化平台(如VMware、VirtualBox等)中启动已有的虚拟机或创建一个新的虚拟机。 - **创建新的虚拟机**:通过虚拟化软件创建一...

    Centos5.6中Redmine1.2.1安装过程

    ### CentOS 5.6 中 Redmine 1.2.1 安装过程详解 #### 一、Redmine 简介及版本兼容性 Redmine 是一个开源的、灵活的项目管理和问题跟踪工具,适用于跨平台环境。它支持多项目管理,并集成了各种版本控制系统,如 ...

    centos5.6安装oracle10g

    在本文中,我们将详细探讨如何在CentOS 5.6上安装Oracle 10g数据库。这个过程涉及多个步骤,包括系统准备、用户和组管理、内核参数配置、环境变量设定以及目录创建和权限设置。 首先,确保你的系统是CentOS 5.6,...

    CentOS5.6安装手册

    在本安装手册中,我们将详述如何在Windows 7操作系统下,使用VMware 10虚拟机软件安装CentOS 6.5。VMware是一款流行的虚拟化软件,它允许用户在单个物理机器上运行多个操作系统,而无需进行硬件级别的实际安装。...

    CentOS5.6下安装oracle10g

    ### CentOS5.6 下安装 Oracle 10g 的详细步骤 #### 一、前期准备:检查及安装必要的RPM包 在安装Oracle之前,需要确保系统已经安装了一系列必要的软件包,这些软件包对于Oracle的正常运行至关重要。这些软件包包括...

    CentOS_5.6_安装手册_V1

    《CentOS_5.6_安装手册_V1》是针对Linux爱好者和系统管理员的一份详尽指南,特别关注于CentOS 5.6的安装过程。这份手册不仅阐述了CentOS与Red Hat Enterprise Linux (RHEL)之间的密切关系,还提供了全面的CentOS 5.6...

    CentOS5.6环境下设置yum代理

    CentOS5.6环境下设置yum代理

    centos5.6安装oracle11g图解安装过程

    ### CentOS 5.6 安装 Oracle 11g 的详细步骤 #### 一、环境准备与基础包检查 在开始安装 Oracle 11g 之前,需要确保 CentOS 5.6 系统中已经安装了一系列必要的软件包,这些软件包对于 Oracle 数据库的成功安装至关...

    centos5.6上安装oracle 11g rac

    ### CentOS 5.6上安装Oracle 11g RAC详解 #### 一、系统安装与初步配置 在开始Oracle 11g RAC的安装之前,首先需要确保CentOS 5.6操作系统已正确安装并配置。这包括下载CentOS-5.5或CentOS 5.6的x86_64镜像文件,...

    CentOS 5.6编译安装Apache2.4.1+MySQL5.5.21+PHP5.3.10

    CentOS 5.6编译安装Apache2.4.1+MySQL5.5.21+PHP5.3.10

    centos5.6 DNS配置

    自己看文档,亲自操作后的整理的关于centos5.6 dns的基本配置步骤,希望帮助迷茫的你

    centos 5.6安装图解

    centos 5.6安装图解,CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。由于出自同样的源代码,因此有些要求高度...

    CentOS6.5一键安装Mysql5.6

    本文将详细介绍如何在CentOS 6.5上进行MySQL 5.6的一键安装过程,包括必要的环境准备、安装步骤、配置优化以及安全设置。 一、环境准备 在开始安装之前,确保你的CentOS 6.5系统已经更新到最新,运行以下命令进行...

    CentOS 5.6平台下安装Nagios监控平台

    使用`yum install mysql`安装MySQL客户端,然后`yum install mysql-server`安装服务器端。设置MySQL开机启动`chkconfig --levels 35 mysqld on`,并启动服务`service mysqld start`。记得在安装后进行MySQL的root...

    Centos5.6安装、java环境配置、驱动安装

    在本文中,我们将详细探讨如何在CentOS 5.6上进行系统安装、配置Java开发环境以及安装特定硬件驱动,特别是针对联想G460笔记本电脑的802.11无线网卡驱动和显卡驱动。以下是每一步的详细说明: 1. **CentOS 5.6安装*...

    CentOS5.6安装手册V1

    CentOS5.6安装手册 CentOS (Commnity Enterprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成。

    apache2.2 php5.5 centos5.6 中文安装指导,亲自试验

    ### Apache2.2 PHP5.5 CentOS5.6 安装指南 #### 一、环境配置及准备 本文档提供了一套在CentOS 5.6操作系统上安装Apache 2.2.14、PHP 5.5以及相关组件(如MySQL 5.1.40、GD库等)的详细步骤。所有操作均基于作者...

Global site tag (gtag.js) - Google Analytics