`
ssydxa219
  • 浏览: 627563 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Subversion for linux

 
阅读更多

安装(centos下yum即可方便的完成安装)
# yum install subversion

 

yum install apr apr-util httpd httpd-devel subversion mod_dav_svn mod_auth_mysql

测试安装是否成功:
# svnserve --version      回车显示版本说明安装成功

建立版本库
# mkdir -p /myhome/env/svn/repos/truck/lcb              创建svn数据目录(目录可自行制定)
# svnadmin create /myhome/env/svn/repos/truck/lcb                  lcb就是版本库的名字,可以改变!

配置svn配置文件(为了方便管理,这里多个库调用相同的配置文件。)

#每个版本库创建之后都会生成svnserve.conf主配文件
# vim /myhome/env/svn/repos/truck/lcb/conf/svnserve.conf

[general]
anon-access = none
auth-access = write
password-db = /myhome/env/svn/repos/truck/lcb/conf/passwd
authz-db = /myhome/env/svn/repos/truck/lcb/conf/authz
realm =kuming

# mkdi /myhome/env/svn/repos/conf
# vim /myhome/env/svn/repos/conf/passwd      //svn用户配置文件

[users]
user1 = password1
user2 = password2
user3 = password3
user4 = password4

# vim /myhome/env/svn/repos/conf/authz      //svn权限控制配置文件

[groups] #设置组
group1 = user1,user2 #多用户用逗号隔开

[/] #根目录权限设置(就是“kuming”这个文件夹)
user3 = rw #用户1权限是:可读写
user4 = r #用户2权限是:可读,不可写
user = #什么都没写代表没有任何权限

@group1 = rw #设置组权限

[kuming:/123] #设置根目录下“123”文件夹的权限
#说明“123”这个文件件怎么创建?这是在SVN服务器配置好之后,创建一个权限很高的用户在客户端登录SVN
#然后创建一个文件夹“123”。

启动服务器
# svnserve -d -r /myhome/env/svn/repos
-d表示以daemon方式(后台运行)运行
-r  /myhome/env/svn/repos/truck/lcb指定根目录是 /myhome/env/svn/repos/truck/lcb
关闭SVN 服务器
# killall svnserve

# ps aux | grep svnserve    查看服务,端口:3690

客户端使用的软件是TortoiseSVN
浏览方法:
打开版本库浏览器输入:svn://ip-addr/lcb/文件夹名

下面是随便折腾一个小脚本用来管理服务器的启动、重启、停止等操作
# vim svn
# chmod +x svn

#!/bin/bash
case "$1" in
start)
svnserve -d -r /myhome/env/svn/repos/truck/lcb
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
if [ $svnport -eq 3690 ]
then
echo "SVN Server Already Runnning. Port:3690"
else
echo "SVN Server Does Not Start"
fi
;;
reload)
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
if [ $svnport -eq 3690 ]
then
killall svnserve && svnserve -d -r /svndata
echo "Reload OK"
else
echo "SVN Server Is Not Running"
fi
;;
stop)
killall svnserve
echo "SVN Server Has Been Stopped"
;;
status)
svnport=`netstat -natp | grep svnserve | awk -F: '{print $4}' | awk 'NR==1'`
pid=`ps aux | grep svnserve | grep -v "grep" | awk '{print $2}'`
if [ $svnport -eq 3690 ]
then
echo "SVN Server (pid:$pid) 正在运行..."
else
echo "SVN Server 停止运行..."
fi
;;
*)
echo "$0: Usage: $0 {start|status|stop|reload}"
exit 1
;;
esac

 

一,Subversion有两种运行方式

一种是基于Apache Http Server,另外一种是Subversion Standalone Server。

以下是基于httpd的svn的安装

二,安装svn

yum install  subversion mod_dav_svn

1),确定已经安装了svn模块:mod_dav_svn

[root@svn zhangying]# cd /etc/httpd/modules/
[root@svn modules]# ls |grep svn
mod_authz_svn.so
mod_dav_svn.so
[root@svn modules]#

2),看一下svn是否已安装成功

[root@svn modules]# svn --version
svn, version 1.4.2 (r22196)
compiled Aug 10 2009, 18:00:04

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 access (RA) modules are available:

* ra_dav : Module for accessing a repository via WebDAV (DeltaV) protocol.
- handles 'http' scheme
- handles 'https' scheme
* ra_svn : Module for accessing a repository using the svn network protocol.
- handles 'svn' scheme
* ra_local : Module for accessing a repository on local disk.
- handles 'file' scheme

三,创建仓库,修改svn配置文件

1),加载模块

[root@svn conf.d]#cd /etc/httpd/conf.d

[root@svn conf.d]# vi subversion.conf

添加以下二行

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so

2),创建仓库,以及仓库目录的设置

# mkdir -p /var/www/svn

# cd /var/www/svn

# svnadmin create test

# chown -R apache.apache test

# vi /etc/httpd/conf.d/subversion.conf

<Location /svn>
DAV svn
#注意,下面的路径,子文件夹名不能和父文件名重复,不然就会出问题

SVNParentPath /myhome/env/svn/repos/truck/
#
#   # Limit write permission to list of valid users.
#   <LimitExcept GET PROPFIND OPTIONS REPORT>
#      # Require SSL connection for password protection.
#      # SSLRequireSSL
#
AuthType Basic
AuthName "Subversion repository"
AuthzSVNAccessFile  /myhome/env/svn/repos/conf/authz.conf
AuthUserFile  /myhome/env/svn/repos/conf/authfile
Require valid-user
#   </LimitExcept>
</Location>

 

 #SVN模块加载
LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule dav_module modules/mod_dav.so  //如果apache已加载, 要去掉本行。
LoadModule authz_svn_module modules/mod_authz_svn.so#资源配置(如果多个项目, 共用一套验证, 下面配置就可以, 不然需要每个项目组分开建)
<Location /svn>
   DAV svn
   SVNParentPath /var/repos #svn父目录
   AuthzSVNAccessFile /var/repos/config/authz.conf #启用目录级别授权, 权限配置文件
   AuthType Basic #连接类型设置
   AuthName "Subversion  Repository" #连接框提示
   AuthUserFile /var/repos/config/authfile #用户配置文件
   Satisfy Any #表示在同时启用了Allow(允许)和Require的情况下,指定相关策略的,一共有两个备选值,All表示用户必须同时满足Allow和 Require的条件,而Any则是满足其中之一即可。这这里,Satisfy Any用于允许先用匿名方式尝试访问,并根据svnauthz对匿名用户的控制给予访问权限。若没有这句话,则无论svnauthz中是否加入了 "*=r"的写法,匿名用户都是无法访问的。
   #<LimitExcept GET PROPFIND OPTIONS REPORT>    #允许匿名访问,不允许Commit,不能与AuthzSVNAccessFile同时使用, 此选项没试过。
   Require valid-user #采用何种认证
</Location>

分享到:
评论

相关推荐

    subversion for openSuse linux.rar

    在openSUSE Linux操作系统中,Subversion可以方便地安装和使用,为用户提供了一种高效的方式来协同工作,追踪代码历史,并管理源代码仓库。 在openSUSE Linux上安装Subversion,你需要了解以下步骤: 1. **添加...

    Subversion_For_Linux.pdf

    ### Subversion在Linux下的安装与配置详解 #### 引言 Subversion,简称SVN,是一种免费开源的版本控制系统,广泛应用于软件开发项目中,用于管理代码版本、追踪更改历史和协同开发工作。本文旨在详细介绍如何在...

    subversion for SUSE Linux.rar

    在Linux环境下,尤其是SUSE Linux操作系统中,Subversion能够帮助开发者进行协同开发,跟踪文件的修改历史,以及轻松地回滚到任何版本。本教程将深入探讨如何在SUSE Linux上安装和配置Subversion。 首先,我们需要...

    linux下subversion+apache server搭建

    用户可以使用Subversion客户端(如TortoiseSVN for Windows)进行版本控制操作,如checkout、commit、update等。 总之,搭建Linux下的Subversion服务器需要对Apache服务器的配置和Subversion的工作原理有深入理解。...

    subversion-1.7.5.tar.gz for linux

    在“subversion-1.7.5.tar.gz for linux”这个压缩包中,我们得到了Subversion 1.7.5版本的源代码,专为Linux操作系统设计。下面我们将深入探讨Subversion的核心功能、版本1.7.5的特点以及如何在Linux环境下安装和...

    CollabNetSubversionEdge-5.2.3_linux-x86_64.zip

    总之,CollabNet Subversion Edge 5.2.3是面向Linux平台的强大Subversion管理工具,旨在为企业提供一个高效、安全且易于管理的版本控制系统,以支持软件开发团队的协作和版本控制需求。通过下载并解压提供的...

    subversion 1.6.9 RPMs for Enterprise Linux 5 x86_64

    mod_dav_svn-1.6.9-1.rhel5.x86_64.rpm neon-0.28.4-1.x86_64.rpm neon-devel-0.28.4-1.x86_64.rpm sqlite-3.5.9-2.x86_64.rpm sqlite-devel-3.5.9-2.x86_64.rpm ...subversion-tools-1.6.9-1.rhel5.x86_64.rpm

    CollabNetSubversionEdge for linux 5.2.4

    Subversion Edge是Collabnet公司发布的SVN和Apache等组件结合的SVN管理工具;最新版本 5.2.4集成了 SVN1.12版本。官网( https://www.collab.net/downloads/subversion );官网下载非常慢,分享给需要的朋友;

    git-2.32.0 for linux

    Git 是一个免费的开源 分布式版本控制系统...它优于 Subversion、CVS、Perforce 和 ClearCase 等 SCM 工具,具有便宜的本地分支、方便的暂存区和 多个工作流等功能。 压缩包文件git-2.32.0.tar.gz 只适用于Linux系统。

    Subversion(svn) 1.8.5 for windows/linux/Mac/Unix

    安装方法: 1、下载后解码. ...linux下: 1、安装依赖库,如apr, sqlite等,自己根据需要安装 $ sudo apt-get install libapr1-dev libaprutil1-dev sqlite3 2、$ ./configure 3、$ make && make install

    Ubuntu 蓝牙全攻略-- HFP for Linux.docx

    ### Ubuntu蓝牙全攻略——HFP for Linux #### 概述 在本文中,我们将详细介绍如何通过使用`HFP for Linux`这一工具将Ubuntu系统打造成一个蓝牙免提设备。HFP for Linux是一个专为Linux环境设计的支持蓝牙免提功能...

    subversion-deps-1.4.5.tar subversion-1.4.5.tar

    本篇文章将深入讲解如何在Linux环境下搭建SVN服务器,以"subversion-deps-1.4.5.tar"和"subversion-1.4.5.tar"这两个文件为基础进行安装和配置。 首先,我们需要了解这两个文件。"subversion-deps-1.4.5.tar"包含了...

    SVN for Linux

    在Linux系统,特别是Red Hat系列的操作系统中,版本控制系统Subversion(SVN)是一个非常重要的工具,用于管理软件项目的源代码和其他文件。本教程将详细阐述如何在Linux环境下搭建SVN服务器并进行基本操作。 首先...

    Subversion--使用简介.

    ###### 2.1.1 安装 Subversion server for Linux (Red Hat) 在 Red Hat 系统中安装 Subversion 服务器通常涉及以下步骤: 1. 使用 `yum` 命令安装 Subversion: ```bash sudo yum install subversion ``` 2. ...

    subversion 安装包与安装手册

    1. **添加EPEL仓库**:RHEL 6和7默认仓库可能不包含最新版本的Subversion,所以需要添加EPEL(Extra Packages for Enterprise Linux)仓库。运行以下命令: ```bash sudo rpm -Uvh ...

    subversion-1.6.16

    - 使用包管理器(如`apt` for Debian/Ubuntu 或 `yum` for CentOS/RHEL)进行安装,命令通常为`sudo apt-get install subversion`或`sudo yum install subversion`。 - 如果需要特定版本,可能需要手动编译源码包...

    subversion在centos最小化安装所需要的rpm包,包含了执行的脚本

    - 如果是从非标准源安装,可能需要先添加相应的RPM仓库,例如EPEL(Extra Packages for Enterprise Linux)仓库。 3. **执行脚本**: - 提到的"执行的脚本"可能是指配置或初始化Subversion服务器的脚本。这些脚本...

    websvn2.2 for linux

    "Websvn 2.2 for Linux"是这个工具的一个特定版本,专为Linux操作系统设计。在这个版本中,用户可以享受到一系列的功能和改进,以更高效地进行版本控制操作。 1. **Subversion简介**: Subversion是一个开源的版本...

    CollabNetSubversionEdge for Windows 5.2.4

    Subversion Edge是Collabnet公司发布的SVN和Apache等组件结合的SVN管理工具;最新版本 5.2.4集成了 SVN1.12版本。官网( https://www.collab.net/downloads/subversion );官网下载非常慢,分享给需要的朋友;

    subversion-1.6.17.tar.gz

    这个"subversion-1.6.17.tar.gz"文件是Subversion 1.6.17版本的源代码压缩包,采用的是常见的tar.gz格式,这种格式在Linux和Unix-like系统中广泛使用,它通过tar工具将多个文件和目录打包成一个文件,然后使用gzip...

Global site tag (gtag.js) - Google Analytics