linux下安装配置svn服务器

摘要:
[用户]<[users]alan=passwordking=hello配置svn用户访问权限vi/opt/svn/conf/authz conf为了简化配置,用户组和存储库目录权限在文件中定义*权限配置文件中出现的用户名必须已经在用户配置文件中定义。[组]<用户组名称[gt/Project/Directory]@<用户组名称>表示对版本库1 repos2设置权限:

linux下安装配置svn服务器

1. svn服务器安装

将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

或者

[root@server subversion-1.6.6]# find / -name opensslv.h

/usr/include/openssl/opensslv.h

[root@server subversion-1.6.6]# ./configure --prefix=/usr/local/svn --with-openssl=/usr/include/openssl --without-berkeley-db

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

make clean

make

make install

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

PATH=/usr/local/svn/bin:$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配置

[root@server ~]# mkdir -p /home/svndata/dsm       #建立版本库

[root@server ~]# /usr/local/svn/bin/svnadmin create /home/svndata/ dsm

修改svn版本库配置文件

版本库1:

vi / home /svndata/dsm/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 = dsm

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

配置允许访问的svn用户

vi /usr/local/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。这样,/就是表示对全部版本库设置权限。

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

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

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

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

示例:

[groups]

admin = alan

[/]

@admin = rw

[dsm:/abc/aaa]

king = rw

[repos2:/pass]

king =

[/]

dongzhukai = rw

[/root]

@document_user = r

[/root/document]

@document_user = rw

[/root/code]

dongzhukai = rw

@document_user = rw

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

rm /opt/svndata/dsm/conf/authz

rm /opt/svndata/dsm/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 /home/svndata

启动svn

su - svn -c “svnserve -d –listen-port 9999 -r / home /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

4、SVN客户端访问地址:

svn://192.168.1.87:9999/repos

免责声明:文章转载自《linux下安装配置svn服务器》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQL Server 2008 允许远程链接 解决方法Java List集合 遍历 四种方式(包含 Lambda 表达式遍历)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

LINUX内核分析第四周——扒开系统调用的三层皮

LINUX内核分析第四周——扒开系统调用的三层皮 李雪琦 + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一、用户态、内核态和中断处理过程 1. 用户态和内核态 CPU指令执行级别: 执行特权指令,访问任意的物理地址——内核态。 低级别:代...

postman_03_引用随机变量($guid,$timestamp,$randomInt)_and_参数引用外部文件

在接口测试中,有些接口的请求参数具有唯一性,比如注册接口,注册一个账号后就不能重复注册了。为了能重复执行这个接口,可以在请求前清理测试数据,也可以把请求的参数设置成一个可变的值(每次不一样),这样就可以每次都能注册成功了。 使用动态变量 postamn 提供可在请求中使用的动态变量: {{$guid}} :v4样式的         {{$guid}} ...

python的OpenCV库的安装详细讲解

OpenCV的安装及环境配置一、了解什么是OpenCVOpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效,由一系列C函数和少量C++类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。...

Listary Pro

Listary是一款由Bopsoft开发的搜索增强软件,这也是一款国产正版软件。支持在Windows操作系统中运行,能够协助用户对计算机本地文件进行搜索查找。借助内置热键指令,实现快速操作,有效提升工作效率。 对于个人用户而言,无试用时间限制,无需激活码/许可证,即可获得Listary免费版本体验,支持使用该软件的大多数基本功能。 而想要解锁内置高级功能,...

thinkphp过滤xss

什么是XSS:这里通俗的讲,就像是SQL注入一样,XSS攻击也可以算是对HTML和JS的一种注入。你本来希望得到是从用户那得到一段有用的文本文字,但用户提交给你的却是别有用心的可执行javasc ript或其它脚本(这里并没有把破坏样式或文档文本当作攻击),当你再把这些提交的内容显示到页面上时,XSS攻击就发生了。 关于XSS的攻击方式和场景层出不穷,本...

关于Xcode9的一些问题

最近几天一直在做一项工作,为新项目在做搭建框架的前期准备,然后恰逢更新iOS11和Xcode9,笔者心急的尝了个先,发现了一些问题,记录一下,如果有相同问题的程序猿,也可以参考一下。 目前问题遇到两点 1.Xcode9将SVN功能隐藏了 曾经我们需要在设置-账户 然后点击那个“+”然后添加代码仓库,就能添加SVN地址了,Xcode8时代有俩选项可以选 一个是...