当前位置:文档之家› linux安装SVN服务器

linux安装SVN服务器

linux安装SVN服务器
linux安装SVN服务器

4,添加用户

要添加SVN用户非常简单,只需在

/home/svn/project/conf/passwd文件添加一个形如“username=password"的条目就可以了.为了测试,我添加了如下内容:

[users]

# harry = harryssecret

# sally = sallyssecret

pm = pm_pw

server_group = server_pw

client_group = client_pw

test_group = test_pw

5,修改用户访问策略

/home/svn/project/conf/authz记录用户的访问策略,以下是参考:

[groups]

project_p = pm

project_s = server_group

project_c = client_group

project_t = test_group

[project:/]

@project_p = rw

* =

[project:/server]

@project_p = rw

@project_s = rw

* =

[project:/client]

@project_p = rw

@project_c = rw

* =

[project:/doc]

@project_p = rw

@project_s = rw

@project_c = rw

@project_t = rw

* =

以上信息表示,只有pm有根目录的读写权,

server_group能访问server目录,client_group能访问client目录,所有人都可以访问doc目录.

6,修改svnserve.conf文件,让用户和策略配置升效.

svnserve.conf内容如下:

[general]

anon-access = none

auth-access = write

password-db =

/home/svn/project/conf/passwd

authz-db =

/home/svn/project/conf/authz

7,启动服务器

# svnserve -d -r /home/svn

8,测试服务器

# svn co svn://192.168.60.10/project

Authentication realm: 92731041-2dae-4c23-97fd-9e1ed7f0d18d

Password for 'root':

Authentication realm: 92731041-2dae-4c23-97fd-9e1ed7f0d18d

Username: server_group

Password for 'server_group':

svn: Authorization failed ( server_group没用根目录的访问权 )

# svn co svn://192.168.60.10/project

Authentication realm: 92731041-2dae-4c23-97fd-9e1ed7f0d18d

Password for 'root':

Authentication realm: 92731041-2dae-4c23-97fd-9e1ed7f0d18d

Username: pm

Password for 'pm':

A project/test

A project/server

A project/client

Checked out revision 1. ( 测试提取成功 )

# cd project/server

# vim main.c

# svn add main.c

# svn commit main.c -m "测试一下我的C程序,看什么看,不行啊??"

Adding main.c

Transmitting file data .

Committed revision 2. ( 测试提交成功 )

三,配置SVN服务器的HTTP支持

1,转换SVN服务器的密码

由于SVN服务器的密码是明文的,HTTP服务器不与支持,所以需要转换成HTTP支持的格式。我写了一个Perl脚本完成这个工作.

脚本内容如下:

# cd /home/svn/project/conf/

# cat PtoWP.pl

#!/usr/bin/perl

# write by huabo, 2009-11-20

use warnings;

use strict;

#open the svn passwd file

open (FILE, "passwd") or die ("Cannot open the passwd file!!!\n");

#clear the apache passwd file

open (OUT_FILE, ">webpasswd") or die ("Cannot open the webpasswd file!!!\n");

close (OUT_FILE);

#begin

foreach () {

if($_ =~ m/^[^#].*=/) {

$_ =~ s/=//;

`htpasswd -b webpasswd $_`;

}

}

# ./PtoWP.pl ( 先给该脚本加可执行权限,然后执行以转换密码 )

Adding password for user pm

Adding password for user server_group

Adding password for user client_group

Adding password for user test_group

现在目录下会多一个webpasswd文件。

2,修改httpd.conf,添加关于SVN服务器的内容

编辑/etc/httpd/conf/httpd.conf,在最后添加如下信

( 测试成功 )

四,配置邮件提醒支持

1,安装Perl模块Module::Build

# wget

https://www.doczj.com/doc/1e16099280.html,/CPAN/authors/id/D/DA/DAGOLDEN/Module-Build-0.36_11.tar. gz

# tar xvf Module-Build-0.36_11.tar.gz

# cd Module-Build-0.36_11

# perl Build.PL

# ./Build

# ./Build test

# ./Build install

# cd ..

2,安装Perl模块Authen::SASL

# wget

https://www.doczj.com/doc/1e16099280.html,/CPAN/authors/id/G/GB/GBARR/Authen-SASL-2.15.tar.gz

# tar xvf Authen-SASL-2.15.tar.gz

# cd Authen-SASL-2.15

# perl Makefile.PL

# make test

# make install

# cd ..

3,安装Perl模块Net::SMTP_auth

# wget

https://www.doczj.com/doc/1e16099280.html,/CPAN/authors/id/A/AP/APLEINER/Net-SMTP_auth-0.08.tar.gz

# tar xvf Net-SMTP_auth-0.08.tar.gz

# cd Net-SMTP_auth-0.08

# perl Makefile.PL

# make test

# make install

# cd ..

4,安装Perl模块SVN::Notify

# wget

https://www.doczj.com/doc/1e16099280.html,/CPAN/authors/id/D/DW/DWHEELER/SVN-Notify-2.80.tar.gz

# tar xvf SVN-Notify-2.80.tar.gz

# cd SVN-Notify-2.80

# perl Build.PL

# ./Build

# ./Build test

# ./Build install

# cd ..

5,启动邮件服务器

# service sendmail restart

Shutting down

sendmail:

[FAILED]

Starting

sendmail:

[ OK ]

Starting

sm-client:

[ OK ]

6,配置自动发邮件脚本

修改post-commit脚本,以支持邮件通知功能.

# cd /home/svn/project/hooks/

# vim post-commit

内容如下:

#!/bin/sh

REPOS="$1"

REV="$2"

/usr/bin/svnnotify --repos-path "$1" --revision "$2" --to caodaijun@https://www.doczj.com/doc/1e16099280.html, --from caodaijun@https://www.doczj.com/doc/1e16099280.html, --handler "HTML::ColorDiff" --with-diff --smtp localhost --smtp-user root --smtp-pass 5201314318 -c "UTF-8" -g zh_CN -o raw --svnlook /usr/bin/svnlook --subject-prefix '[SVN Update]'

(to参数代表接收邮件的地址,可以有多个,当你有多个老大的时候,这就很重要了,:)。from参数是虚拟的,代表你的发送地址,一般情况下,这个参数不重要,但如果接收者的邮件服务器有反垃圾邮件的功能,需要判定源地址的话,这个参数是否合法就显得很重要了)

再给该脚本添加可执行权限

# chmod +x post-commit

7,再次提交时,就会给指定邮件地址发信了。

如下图所示:

五,其它常用配置

1,强制写log脚本

配置pre-commit文件,要求用户每次更新文件都必须log.

# cd /home/svn/project/hooks/

# vim pre-commit

文件内容如下:

#!/bin/sh

REPOS="$1"

TXN="$2"

SVNLOOK=/usr/bin/svnlook

LOGMSG=`$SVNLOOK log -t "$TXN" "$REPOS" | grep

中修改log时会运行,得到修改的权限,否则会报错:DAV request failed; it's possible that the repository's pre-revprop-change hook either failed or is non-existent. At least one property change failed; repository is unchanged

# cd /home/svn/project/hooks/

# vim pre-revprop-change

文件内容如下:

REPOS="$1"

REV="$2"

USER="$3"

PROPNAME="$4"

if ["$PROPNAME" = "svn:log"];then exit 0;fi

exit 1

配置完后加可执行权限升效。

六,备份管理

svn服务器的定期备份是很重要的,最简单的方式是定时备份仓库目录。

1,新建备份目录

# mkdir /opt/project_backup

2,编写备份脚本

# cd /home/svn/

# vim project_backup.sh

内容如下:

#!/bin/bash

#write by huabo, 2009-11-20

cd /home/svn

now=`/bin/date +%Y%m%d`

/bin/tar czvf "project_backup_$now.tar.gz" project/ && rm -rf /opt/project_backup/* && /bin/mv project_backup_*.tar.gz

/opt/project_backup/

if [ $? == 0 ]

then

result="OK!!"

else

result="False!!"

fi

#send mail to administrator

/bin/mail caodaijun@https://www.doczj.com/doc/1e16099280.html, -s

"project_backup_$now" <

Result: `/bin/echo $result`

MESSAGE

给该脚本添加可执行权限。

3,设定每天定时执行该脚本.

# crontab -e

输入如下内容:

0 23 * * * /home/svn/project_backup.sh

表示每天晚上23点运行此脚本。

经过以上三步操作,就可以自动备份SVN资料了,且不论备份是否成功,都会给用户发送邮件信息。

七,用svnstat分析SVN数据.

1,安装JAVA

svnstat是JAVA应用程序,需要先安装JAVA环境。

下载jre,URL:

https://www.doczj.com/doc/1e16099280.html,/webapps/download/AutoDL?BundleId=39484

安装:

# chmod +x jre-6u20-linux-i586-rpm.bin

# ./jre-6u20-linux-i586-rpm.bin

2,下载svnstat

# wget

https://www.doczj.com/doc/1e16099280.html,/project/svnstat/svnstat/Release-1.0/SvnStat-1 .0.zip?use_mirror=jaist

# unzip SvnStat-1.0.zip

3,更新代码

# pwd

/root

# svn co svn://192.168.60.10/project

A project/test

A project/server

A project/server/main.c

A project/client

Checked out revision 5.

4,生成svnstat数据

# svn log project -v --xml --non-interactive > project.log

# cd SvnStat-1.0

# java -classpath SvnStat-all.jar

(俺的测试代码很少,生成的图不成样子,拿官方的图来充当一下,:))

八,用statsvn分析SVN数据

1,下载statsvn

# wget

https://www.doczj.com/doc/1e16099280.html,/project/statsvn/statsvn/0.7.0/statsvn-0.7.0.z ip?use_mirror=jaist

# unzip statsvn-0.7.0.zip

# cd statsvn-0.7.0

九,配置codestriker.

1.安装codestriker依赖的perl包.

# perl -MCPAN -e 'install "Template"'

2.下载codestriker

# wget

https://www.doczj.com/doc/1e16099280.html,/project/codestriker/codestriker/1.9.10/codest riker-1.9.10.tar.gz?use_mirror=jaist&ts=1279246587

# mkdir /var/www/codestriker

4.配置codestriker

# cd codestriker-1.9.10/

# vim codestriker.conf

注意以下几点(详细可查看codestriker的安装文档)

a.数据库的用户名密码要配对

b.svn的数据仓库要配对,我的如下:

@valid_repositories =

(

'svn:file:///home/s vn/project',

)

5.执行codestriker的安装脚本

# cd bin/

# ./install.pl

6.配置http支持

# vim /etc/httpd/conf/httpd.conf

在最后面加上如下内容:

Alias

/codestriker/ /var/www/codestriker/codestriker-1.9.10/cgi-bin/

Alias

/codestrikerhtml/ /var/www/codestriker/codestriker-1.9.10/html/

"/var/www/codestriker/codestriker-1.9.10/cgi-bin/">

SetHandler perl-script

PerlHandler

ModPerl::Registry

Options +ExecCGI

"/var/www/codestriker/codestriker-1.9.10/html/">

AllowOverride None

Allow from all

7.重启HTTP服务器

# service httpd restart

8.在浏览器中输入

二. SVN 服务器搭建

2.1 使用yum 安装SVN包

关于YUM 服务器的配置参考:

Linux 搭建YUM 服务器

https://www.doczj.com/doc/1e16099280.html,/tianlesoftware/archive/2011/01/03/6113902.aspx

[root@singledb ~]# yum install -y subversion

Loaded plugins: rhnplugin, security

This system is not registered with RHN.

RHN support will be disabled.

Setting up Install Process

Resolving Dependencies

--> Running transaction check

---> Package subversion.i386 0:1.4.2-4.el5_3.1 set to be updated

--> Finished Dependency Resolution

Dependencies Resolved

=================================================================================== =================

Package Arch Version

Repository Siz e

=================================================================================== =================

Installing:

subversion i386 1.4.2-4.el5_3.1

rhel-base 2.3 M

Transaction Summary

=================================================================================== =================

Install 1 Package(s)

Update 0 Package(s)

Remove 0 Package(s)

Total download size: 2.3 M

Downloading Packages:

subversion-1.4.2-4.el5_3.1.i386.rpm

| 2.3 MB 00:00

Running rpm_check_debug

Running Transaction Test

Finished Transaction Test

Transaction Test Succeeded

Running Transaction

Installing :

subversion

1/1

Installed:

subversion.i386

0:1.4.2-4.el5_3.1

Complete!

[root@singledb ~]#

验证安装版本:

[root@singledb ~]# svnserve --version

svnserve, version 1.4.2 (r22196)

compiled Aug 5 2009, 19:03:56

Copyright (C) 2000-2006 CollabNet.

Subversion is open source software, see https://www.doczj.com/doc/1e16099280.html,/

This product includes software developed by CollabNet (https://www.doczj.com/doc/1e16099280.html,/). The following repository back-end (FS) modules are available:

* fs_base : Module for working with a Berkeley DB repository.

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

2.2 创建SVN 版本库

[root@singledb ~]# mkdir /u02/svn

[root@singledb ~]# svnadmin create /u02/svn/davesvn --davesvn为版本库名称2.3 SVN 配置

创建版本库后,在这个目录下会生成3个配置文件:

[root@singledb conf]# pwd

/u02/svn/davesvn/conf

[root@singledb conf]# ls

authz passwd svnserve.conf

(1)svnserve.conf: svn服务配置文件下。

(2)passwd:用户名口令文件。

(3)authz:权限配置文件。

svnserve.conf 文件,该文件配置项分为以下5项:

anon-access:控制非鉴权用户访问版本库的权限。

auth-access:控制鉴权用户访问版本库的权限。

password-db:指定用户名口令文件名。

authz-db:指定权限配置文件名,通过该文件可以实现以路径为基础的访问控制。

realm:指定版本库的认证域,即在登录时提示的认证域名称。若两个版本库的认证域相同,建议使用相同的用户名口令数据文件

Passwd 文件:

我们在svnserve.conf文件里启用这个文件。然后配置如下:

[root@singledb conf]# cat passwd

### This file is an example password file for svnserve.

### Its format is similar to that of svnserve.conf. As shown in the

### example below it contains one section labelled [users].

### The name and password for each user follow, one account per line.

[users]

# harry = harryssecret

# sally = sallyssecret

dave = davepwd

tianlesoftware = tianlesoftwarepwd

authz 文件:

在网上找到一个很好的配置例子:

[groups]

admin = john, kate

devteam1 = john, rachel, sally

devteam2 = kate, peter, mark

docs = bob, jane, mike

training = zak

--这里把不同用户放到不同的组里面,下面在设置目录访问权限的时候,用目录来操作就可以了。

# 为所有库指定默认访问规则

# 所有人可以读,管理员可以写,危险分子没有任何权限

[/] --对应我测试里的:/u02/svn 目录

* = r

@admin = rw

dangerman =

# 允许开发人员可以完全访问他们的项目版本库

[proj1:/]

@devteam1 = rw

[proj2:/]

@devteam2 = rw

[bigproj:/]

@devteam1 = rw

@devteam2 = rw

trevor = rw

# 文档编写人员对所有的docs目录有写权限

[/trunk/doc]

@docs = rw

# 培训人员可以完全访问培训版本库

[TrainingRepos:/]

@training = rw

下面我们来配置我们的authz文件:

[root@singledb conf]# cat authz

[groups]

admin = dave

dev=tianlesoftware

[davesvn:/]

@admin = rw

@dev = rw

[root@singledb conf]#

2.4 启动和停止SVN服务

(1)启动SVN服务:

[root@singledb conf]#svnserve -d -r /u02/svn

-d表示后台运行

-r 指定根目录是/u02/svn

[root@singledb conf]# ps -ef | grep svn

root 4592 1 0 18:04 ? 00:00:00 svnserve -d -r /u02/svn

root 4594 3709 0 18:04 pts/1 00:00:00 grep svn

(2)停止SVN服务:

LINUX下SVN安装

环境 1. 安装Apache 2.2.14 2. 安装Subversion 1.6.6 3. 安装后的系统设置 4. Apache设置 5. svn库的配置 6. 运行SVN服务器 Created by okala at 2009-12-25 环境: Red Hat Enterprise Linux Server release 5.3 (Tikanga) httpd-2.2.14.tar.gz subversion-1.6.6.tar.gz 到官网https://www.doczj.com/doc/1e16099280.html,/ 下载当前最新的稳定版本subversion-1.6.6.tar.gz 到官网https://www.doczj.com/doc/1e16099280.html,/ 下载当前最新的稳定版本httpd-2.2.14.tar.gz 1. 安装Apache 2.2.14 用root账号执行以下命令: 引用 tar zxf httpd-2.2.14.tar.gz #解压到当前目录 引用 cd httpd-2.2.14 #进入解压后的目录 引用

./configure --prefix=/local/svnroot/apache2 --enable-so --enable-mods-shared=all --enable-dav=share --enable-dav-fs --with-ldap --enable-ldap --enable-authnz-ldap --enable-authn-alias #定义安装的目标路径(可据自己需要修改),使能LDAP 引用 make #编译 引用 make install #安装 引用 /local/svnroot/apache2/bin/apachectl start #启动Apache 用IE访问以下网址,http://hostIP/,如果提示It works!,则Apache安装成功。 然后就可以先停止Apache了: 引用 /local/svnroot/apache2/bin/apachectl stop #停止Apache 2. 安装Subversion 1.6.6 用root账号执行以下命令: 引用 tar zxf subversion-1.6.6.tar.gz #解压到当前目录 引用 cd subversion-1.6.6

linux下搭建svn服务器(doc 8页)

linux下搭建svn服务器(doc 8页)

Linux下搭建SVN服务器环境(svnserve方式) 环境:redhat5(apr.apr-util.zlib.subversion的压缩文件都是放在/usr/linuxsvn目录下,下面的解压命令tar zvxf解压出来的文件就直接是放在这个目录下,文件名跟压缩文件的名字是一样的) 一、安装apr、apr-util跟zlib 1、下载apr、apr-util与zlib apr-1.3.3.tar.gz apr-util-1.3.4.tar.gz zlib-1.2.3.tar.gz openssl-0.9.8k.tar.gz httpd-2.2.9.tar.bz2 libxml2-2.7.3.tar.gz 2、解压 tar zvxf apr-1.3.3.tar.gz

打开浏览器输入http://服务器ip 如果出现 It Works! Apache安装成功 如果出现这个错误Invalid command 'AuthDigestProvider', perhaps misspelled or defined by a module not included in the server configuration /usr/local/apache2/conf/extra/httpd-dav.conf 提示这个文件31行有问题,那么你就 Vi /usr/local/apache2/conf/extra/httpd-dav.conf 找到31行,把这个注释掉# AuthDigestProvider file 这样就ok了! cd openssl-0.9.8k ./config --prefix=/usr/local/ssl/ make make install cd libxml2-2.7.3 vi INSTALL ./configure --help ./configure make make install cd openssl-0.9.8k ./config ./config -t

linux搭建svn服务器

Linux下SVN服务器搭建 一、下载软件: 所需软件: subversion-1.6.19.tar.bz2 apr-1.4.6.tar.bz2 apr-util-1.5.1.tar.bz2 sqlite-amalgamation-3.6.13.tar.gz sqlite比较新的版本这个后面会用到 TortoiseSVN-1.6.16.21511-x64-svn-1.6.17.msi(Windows 64位客户端软件) TortoiseSVN-1.6.16.21511-x86-svn-1.6.17.msi(Windows 32位位客户端软件) 二、开始安装: localhost ~ # tar vjxf apr-1.4.6.tar.bz2 localhost ~ # cd apr-1.4.6 localhost apr-1.4.6 # ./configure localhost apr-1.4.6 # make localhost apr-1.4.6 # make install localhost ~ # tar vjxf apr-util-1.5.1.tar.bz2 localhost ~ # cd apr-util-1.5.1 localhost apr-util-1.5.1 # ./configure –with-apr=/usr/local/apr/ localhost apr-util-1.5.1 # make localhost apr-util-1.5.1 # make install localhost ~ # tar vzxf sqlite-amalgamation-3.6.13.tar.gz localhost ~ # cd sqlite-3.6.13

Vmware_linux_CentOS-6.6系统上安装SVN服务器端的方法及步骤

CentOS 6.6系统上安装SVN服务器端的方法及步骤 SVN其实就是Subversion,分为服务器端和客户端。之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法。本文主要介绍CentOS 6.6系统上安装SVN服务器端的方法及步骤。 系统环境说明如下: 操作系统:Centos6.6 x86-64 SVN: subversion-1.8.11 1、检查是否安装了低版本的SVN rpm -qa | grep subversion 如果已安装SVN,则会返回版本信息,如:subversion-1.6.11-9.el6_4.i686 卸载旧版本SVN yum remove subversion 2、安装SVN yum –y install subversion 3、检查安装是否成功 svnserve --version 返回值: svnserve, version 1.8.11 compiled Jul 23 2013, 21:32:09 on i686-pc-linux-gnu Copyright (C) 2013 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see https://www.doczj.com/doc/1e16099280.html,/ The following repository back-end (FS) modules are available: * fs_fs : Module for working with a plain file (FSFS) repository. Cyrus SASL authentication is available. 4、代码库创建 mkdir -p /opt/svn/repositories svnadmin create /opt/svn/repositories 执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf,db,format,hooks,locks, README.txt等文件,说明一个SVN库建立完成。 5、配置代码库 进入上面生成的文件夹conf下,进行配置

linux下搭建SVN服务器(局域网可用)-ver1.01

Linux SVN 搭建(ubuntu 10.04) 1、安装subversion软件 sudo apt-get install subversion 2、建立一个目录作为SVN代码库管理的根目录(例:/home/svnadmin/svnsources/),只是一个普通目录,实际上是通过svnserve –d –r /home/svnadmin/svnsources/启动服务后暴露给网内其它机器的一个服务接入点: mkdir /home/svnadmin/svnsources/ 3、在SVN代码库管理的根目录下(/home/svnadmin/svnsources/)下建立一个代码库(repo),名称为testrepo: svnadmin create /home/svnadmin/svnsources/testrepo 4、启动svn自带的svnserve服务供网内其它计算机使用: svnserve -d -r /home/svnadmin/svnsources 此时便可以在局域网中通过svn://192.168.0.142/testrepo来访问testrepo这个代码库的内容了注:可以加--listen-port参数来指定端口(默认为3690),如: svnserve -d --listen-port 3691 -r /home/svnadmin/svnsources启动服务 然后在局域网中通过svn://192.168.0.142:3691/testrepo来进行访问 5、建立一个目录(例:/home/gli/projectImport),把代码放置到主干(trunks)下,如project 为一份需要管理的代码: projectImport |--branches |--tags |--trunks |--project 注:这个并不是必须的,只是采用这种结构管理代码是比较合理的一种方式 6、然后将这个目录(/home/gli/projectImport)导入到testrepo中去管理: svn import -m"init testrepo" /home/gli/projectImport/ file:///home/svnadmin/svnsources/testrepo/ 7、拉出一个分支来进行开发(svn copy source destination): svn copy -m"init from trunks" file:///home/svnadmin/svnsources/testrepo/trunks/project file:///home/svnadmin/svnsources/testrepo/branches/project 注:其中source可以是本地工作副本,destination为代码库中的URL 8、当开发到一个稳定版本后或某个阶段后,需要打一些标签(tags)以方便管理: svn copy -m"init from trunks" file:///home/svnadmin/svnsources/testrepo/branches/project file:///home/svnadmin/svnsources/testrepo/tags/project 9、若有另一个项目需要管理,可重复步骤5到8来进行开发管理。

linux-SVN的介绍及使用方法

一、Linux-SVN的介绍及使用方法 1. SVN简介 SVN 是subversion简称,是一个开源的版本控制系统。我们在解bug过程中主要用于对解决某个bug而引起代码变动的情况(俗称patch)的提交,系统集成组在某一时间会取出SVN中一定阶段内提交的patch进行集成,从而更新系统的版本。 linux系统中安装svn,主要使用命令apt-get install subversion 2. SVN使用 2.1 从SVN服务器拷贝svn目录 命令:$ svn co http://255.255.255.255(IP地址)/svn/ 可先登录http://255.255.255.255/svn,输入用户名和密码(需在管理员处开通相应上传下载权限) ①svn add命令 用于将patch提交至本地版本库(加入版本控制),还未提交至远程服务器,不会更改远程(http://255.255.255.255/svn/)上的内容。另外,svn revert是撤销此次添加(这里不常用)。 $ svn add 007_fix_name_issue_000000.patch 该命令执行后,终端显示情况如下: ②svn commit命令 将本地版本中添加的文件上传到远程服务器上,更新服务器上的内容。 $ svn commit 007_fix_name_issue_000000.patch -m "fix name issue (as an example)" 其中-m 表示-message,“”中的内容表示该patch具体修改问题的描述信息,描述信息必不可少!有助于后续patch提交与否的验证。 该命令执行后,终端显示情况如下:

linux下svn管理员手册

1.安装apr tar xvfz apr-0.9.17.tar.gz ./configure 2.安装apr-util tar xvfz apr-util-0.9.15.tar.gz ./configure --with-apr=/usr/local/apr/ 3.安装subversion-1.5.3 ./configure --prefix=/usr/local/svn --with-apr=/usr/local/apr/ --with-apr-util=/us r/local/apr-util/ 4.创建库文件所在的目录 mkdir /export/svncheck/ 创建版本库 mkdir /export/svncheck/版本库名 /usr/local/svn/bin/svnadmin create /export/svncheck/版本库名 5.启动SVN /usr/local/svn/bin/svnserve -d -r /export/svncheck/ 配置用户和权限 创建项目库同时也会建立自己的权限配置文件,权限配置目录: /export/svncheck/版本库名/conf/ 1. 修改svnserve.conf: # auth-access = write # password-db = passwd 改为:(将#和空格去掉) auth-access = write //通过验证的用户才能有读写的权限 password-db = passwd //验证用户所使用的文件passwd 2. 添加用户 修改同目录的passwd文件 [users] admin = 123456 //以名值的方式存储用户名和密码“用户名 = 密码” 3. 设置访问权限 修改同目录下的authz文件来设置访问权限 在[groups]下创建用户组例如这里是: [groups] Admin=admin Developer=developer1,developer2 以上便创建了两个用户组,分别是admin和developer和其相应的组的成员。 设置访问路径 [/] *=r @admin=rw

linux下svn的配置及svn常用命令

SVN是Subversion的简称,是一个开放源代码的版本控制系统,svn服务器有两种运行方式:独立服务器和借助apache运行。右图是一个svn的工作流程,它可以很方便用户的代码编写。 1.首先安装SVN:”sudo apt-get install subversion”. 查看svn的版本和确定是否安装成功:”svnserve –version”. 2.创建svn仓库:“svnadmin create msm”,其中msm是版本仓库的名字,仓库建立好了以后会有出现一个仓库名字的文件夹,文件夹下面有conf等几个目录和文件.接下来就需要设置版本仓库的权限了。这里说明一下:版本库之间是独立的。(下图为msm的目录) 3.增加用户 修改conf文件夹下的authz文件,该配置文件采用”基于路径授权”的策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,列子如下 用户组格式: [groups]<用户组名>=<用户1>,<用户2>其中,1个用户组可以包含1个或多个用户,用户间以逗号分隔。版本库目录格式: [<版本库>:/项目/目录]@<用户组名>=<权限><用户名>=<权限>, 其中,方框号内部分可以有多种写法: /,表示根目录(仓储目录)及以下。根目录是svnserve启动时指定的,我们指定/opt/svndata。这样,/就是表示对全部版本库设置权限。权限主体可以是用户组、用户或*,用户组在前面加@,*表示全部用户。权限可以是w、r、wr和空,空表示没有任何权限。 下图是我增加的用户组:(注意:等号后留有空格) 增加后:

linux下svn升级

linux下svn升级 环境: 操作系统:RHEL 5.4 x86_64 SVN版本:1.4.2->1.8.8 一、检查安装包 我采用的是目前当前网站发布的版本:subversion-1.8.8 首先,需要安装预先安装六个组件,你的subversion才能正常工作。 apr-util、 apr、pcre、scons 、serf、sqlite-amalgamation -本文假定apahce已经安装! -系统在默认情况下,是已经有apr-util及apr这两个包的,只不过他们的版本较低,只支持subversion 1.4 因此,具体可以看看: # rpm -qa | grep apr apr-util-1.2.7-7.el5_3.2 apr-util-1.2.7-7.el5_3.2 apr-1.2.7-11.el5_3.1 xorg-x11-drv-dynapro-1.1.0-2 apr-1.2.7-11.el5_3.1 而subversion要求较高的版本,为此,我们需要删除系统自带的apr,apr-util 这两个包,强行删掉! # rpm -e --allmatches apr-util error: Failed dependencies: libaprutil-1.so.0()(64bit) is needed by (installed) subversion-1.4.2-4.el5_3.1.x86_64 libaprutil-1.so.0()(64bit) is needed by (installed) httpd-2.2.3-31.el5.centos.x86_64 libaprutil-1.so.0 is needed by (installed) subversion-1.4.2-4.el5_3.1.i386 # rpm -e --allmatches apr-util --nodeps # rpm -e --allmatches apr --nodeps .

Svn Linux安装方法

Svn 安装方法 1.创建 svn linux 用户: a)使用root 用户登录后,创建svn 组 gsvn, 创建用户 svn . b)创建组命令: groupadd gsvn c)创建用户命令: useradd –s svn -p svn -r svn –g gsvn d)修改密码: passwd svn 2.安装java 运行环境 : jdk1.6 a)Jdk linux 安装文件jdk-6u23-linux-x64.bin b)安装jdk命令: ./jdk-6u23-linux-x64.bin c)配置环境变量:在 /ect/profile 文件中添加如下变量: export JAVA_HOME=/svnserver/jdk1.6.0_23 export JRE_HOME=/svnserver/jdk1.6.0_23/jre export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 3.安装svn 服务器: CollabNetSubversionEdge-1.3.1_linux-x86_6 4.tar.gz a)安装文件CollabNetSubversionEdge-1.3.1_linux-x86_64.tar.gz. b)安装命令:tar -zxf CollabNetSubversionEdge-1.1.0_linux-x86.tar.gz 4.启动svn 服务器: o Svn 解压后会生成一个csvn 文件夹 ,移动到csvn 文件夹下: cd csvn o启动命令: bin/csvn start 5.管理台 a)安装完成后页面,登录用户名/密码: admin/admin

Linux部署SVN详解(含备份与还原)

Linux部署SVN详解 1安装操作系统 安装系统采用CentOS-6.2/Database Server 2安装配置apache与SVN 1)数据包安装顺序:(安装包在CentOS-6.2盘的Packages目录下均可找到) a)apr-1.3.9-3.el6_1.2.i686.rpm b)apr-util-1.3.9-3.el6_0.1.i686.rpm c)httpd-2.2.15-15.el6.centos.i686.rpm 依赖文件:httpd-tools-2.2.15-15.el6.centos.i686.rpm 与apr-util-ldap-1.3.9-3.el6_0.1.i686.rpm d)sqlite-3.6.20-1.el6.i686.rpm e)subversion-1.6.11-2.el6_1.4.i686.rpm 依赖文件:neon-0.29.3-1.2.el6.i686.rpm neon依赖文件:pakchois-0.4-3.2.el6.i686.rpm与libproxy-0.3.0-2.el6.i686.rpm 安装libproxy命令:三个包同时安装 rpm -ivh libproxy-0.3.0-2.el6.i686.rpm libproxy-bin-0.3.0-2.el6.i686.rpm libproxy-python-0.3.0-2.el6.i686.rpm f)mod_dav_svn-1.6.11-2.el6_1.4.i686.rpm 安装后将生成文件:/etc/httpd/conf.d/subversion.conf 2)修改apache(即httpd)配置文件 #vi /etc/httpd/conf/httpd.conf 执行上述命令后,对文件进行以下修改: ServerName localhost:80 localhost表示自己的IP地址 (找到上面一行并做类似修改后保存退出) #service httpd start #chkconfig httpd on 文件修改完成后,启动http服务并使用chkconfig命令设置开机自启动。 3)创建自己的svn版本库 #cd /home #mkdir svn #cd svn #mkdir data conf #cd data

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

subversion(以下简称svn)是近年来崛起的版本管理工具, 是cvs的接班人。 svn服务器有2种运行方式:独立服务器和借助apache。2 种方式各有利弊。 svn存储版本数据也有2种方式:BDB和FSFS。因为BDB方式在服务器中断时,有可能锁住数据,所以还是FSFS方式 更安全一点。 1. svn服务器安装操作系统: Redhat Linux AS4安装包获取:下载 https://www.doczj.com/doc/1e16099280.html,/downloads/subversion-1 .4.0.tar.gz和 https://www.doczj.com/doc/1e16099280.html,/downloads/subversion-d eps-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 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:56Copyright (C) 2000-2006 CollabNet. Subversion is open source software, see https://www.doczj.com/doc/1e16099280.html,/ This product includes software developed by CollabNet (http://Collab/).The following repository back-end (FS) modules are available:* fs_fs : Module for working with a plain file (FSFS) repository. 2. svn配置

Linux下多项目SVN配置方法

1. 安装SVN服务器软件 2. 在home下创建svn根目录 mkdir /home/svnroot 3. 在/home/svnroot下创建Project1 , Project 2, Project3 三个项目文件夹,这三个文件夹要存放不同项目的SVN版本库。 4. 同样在/home/svnroot中创建CodeAuth 文件夹,该文件夹将保存passwd 和authz文件,在第6步中实现。 5. 创建项目 cd /home/svnroot svnadmin create Project1 svnadmin create Project2 svnadmin create Project3 分别创建了三个项目的版本库,版本库目录conf中存在passwd 、authz、和svnserve.conf 文件 passwd - 用于存放本svn库的用户名和密码 authz - 存放本svn库的访问授权信息 svnserve.conf 文件为存放本svn库的全局访问控制信息 6. 将passwd 、authz文件拷贝到/home/svnroot/CodeAuth中,将三个项目下conf目录中的passwd 和authz文件删除 7. 修改三个项目中conf目录下的svnserve.conf 文件,最快的办法是修改一个项目下的svnserve.conf 文件,使用它覆盖其他两个项目下的svnserve.conf 文件。 svnserve.conf 修改为 [general] anon-access = none auth-access = write password-db = https://www.doczj.com/doc/1e16099280.html,/CodeAuth/passwd

CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录)

CentOS linux下安装和配置Apache+SVN(用浏览器http方式访问SVN目录) 在CentOS linux下安装SVN,我们可以进行以下步骤: 第一步:安装CentOS Linux操作系统,并在CentOS安装进行的同时,自定义安装这一步,一定要勾选Subversion(在“开发工具”里)和Web服务器(Apache)。 我用的是CentOS 6.4版本,只需要安装DVD1这个iso文件即可。这个DVD文件中有我们下面用到的许多配置文件和模块文件,像mod_dav_svn等文件,都不需要用yum 命令进行额外下载安装(光盘中的文件的版本都是进行严格匹配的)。 第一次启动CentOS时,你就可以运行命令svn --version,查看是否提示SVN版本信息。 [root@svn ~]# svn --version svn,版本1.6.11 (r934486) 编译于 Jun 232012,00:44:03 版权所有 (C) 2000-2009 CollabNet。 Subversion 是开放源代码软件,请参阅 https://www.doczj.com/doc/1e16099280.html,/ 站点。 此产品包含由 CollabNet(https://www.doczj.com/doc/1e16099280.html,/) 开发的软件。 可使用以下的版本库访问模块: * ra_neon : 通过 WebDAV 协议使用 neon 访问版本库的模块。 -处理“http”方案 -处理“https”方案 * ra_svn : 使用 svn 网络协议访问版本库的模块。 -使用 Cyrus SASL 认证 -处理“svn”方案 * ra_local : 访问本地磁盘的版本库模块。 - 处理“file”方案 【准备工作】 1.关闭防火墙、做好网络配置。 此时,我们要关闭防火墙,执行命令service iptables stop。同时执行命令setup,选择“网络配置”,去掉DHCP,设置192.168.2.20(客户端也在192.168.2.x同一个网段内),子网掩码255.255.255.0。 2.从DVD1光盘中查找,找到安装Apache对接SVN的模块安装包: mod_dav_svn-1.6.11-7.el6.x86_64.rpm,建议放到/tmp目录下。 第二步:创建SVN文件版本库和项目。 如果我们要创建一个SVN项目叫bdbt,放到/opt/svndata路径中。

Linux搭建SVN服务器(centos)

linux(centos)搭建SVN服务器 安装步骤如下: 1、yum install subversion 2、输入rpm -ql subversion查看安装位置,如下图: 我们知道svn在bin目录下生成了几个二进制文件。 输入svn --help可以查看svn的使用方法,如下图。

3、创建svn版本库目录 mkdir -p /home/svn/svnrepos 4、创建版本库 svnadmin create /home/svn/svnrepos 执行了这个命令之后会在/home/svn/svnrepos目录下生成如下这些文件 5、进入conf目录(该svn版本库配置文件) authz文件是权限控制文件 passwd是帐号密码文件 svnserve.conf SVN服务配置文件 6、设置帐号密码 vi passwd 在[users]块中添加用户和密码,格式:帐号=密码,如dan=dan 7、设置权限 vi authz 在末尾添加如下代码: [/] dan=rw w=r 意思是版本库的根目录dan对其有读写权限,w只有读权限。 8、修改svnserve.conf文件 vi svnserve.conf 打开下面的几个注释: anon-access = read #匿名用户可读 auth-access = write #授权用户可写 password-db = passwd #使用哪个文件作为账号文件 authz-db = authz #使用哪个文件作为权限文件 realm = /var/svn/svnrepos # 认证空间名,版本库所在目录 9、启动svn版本库 svnserve -d -r /var/svn/svnrepos

linux下搭建svn完整版

subversion在安装的时候,要求相关软件的版本一致,而不是说软件版本最新就最好.下面是我安装的相关版本. httpd-2.2.3.tar.gz , subversion-deps-1.4.0.tar.gz subversion-1.4.0.tar.gz 3:安装准备 mkdir /subversion cp httpd-2.2.3.tar.gz /subversion/ cp subversion-deps-1.4.0.tar.gz /subversion/ cp subversion-1.4.0.tar.gz /subversion/ cd /subversion/ tar zxvf httpd-2.2.3.tar.gz tar zxvf subversion-deps-1.4.0.tar.gz tar zxvf subversion-1.4.0.tar.gz 4:httpd的安装. cd /subversion/httpd-2.2.3 ./configure --prefix=/usr/local/apache2 --enable-so --enable-dav make && make install cd /usr/local/apache2/bin/ ./apachectl start 这个时候,打开浏览器,输入http://localhost/,如果浏览器出现It Works,则说明httpd安装成功了. 5:subversion的安装 cd /subversion/subversion-1.4.0 ./configure --with-apxs=/usr/local/apache2/bin/apxs --with-apr=/usr/local/apache2/ --with-apr-util=/usr/local/apache2/ --prefix=/usr/local/subversion --with-ssl --with-zlib --enable-maintianer-mode make && make install 5 )配置apache 支持svn # vi / usr/local/apache2/conf/httpd.conf 在文件末尾加上 例子: (svn为通过地址访问subversion的根目录名,以svn为例: http://xxx.xxx.xxx.xxx/svn/具体库名)

linux下安装subversion 1.6.5

linux下安装subversion 1.6.5 以下安装是在RHEL5.5默认安装的情况下,以root身份进行安装! 1 .下载安装apr,下载地址:https://www.doczj.com/doc/1e16099280.html,/ [root@localhost pub]# tar -jxvf apr-1.3.12.tar.bz2 首先解压缩 [root@localhost pub]# mkdir /usr/local/apr 建立apr要安装到的目录 [root@localhost pub]# cd apr-1.3.12 [root@localhost apr-1.3.12]# ./configure --prefix=/usr/local/apr 开始配置编译 [root@localhost apr-1.3.12]# make;make install 安装 2.安装apr-util [root@localhost pub]# tar -jxvf apr-util-1.3.9.tar.bz2 [root@localhost pub]# cd apr-util-1.3.9 [root@localhost apr-util-1.3.9]# mkdir /usr/local/apr-util [root@localhost apr-util-1.3.9]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr [root@localhost apr-util-1.3.9]# make;make install 3.安装neon 在安装之前,需要确认libxml2,如果没有安装需要安装上! [root@localhost pub]# rpm -q libxml2 libxml2-2.6.26-2.1.2.8 [root@localhost pub]# rpm -q libxml2-devel libxml2-devel-2.6.26-2.1.2.8 [root@localhost pub]# tar -zxvf neon-0.25.5.tar.gz [root@localhost pub]# mkdir /usr/local/neon [root@localhost pub]# cd neon-0.25.5 [root@localhost neon-0.25.5]# ./configure --prefix=/usr/local/neon [root@localhost neon-0.25.5]# make;make install 4.安装Berkeley DB [root@localhost pub]# cd /usr/local/src [root@localhost src]# tar -zxvf /var/ftp/pub/db-4.6.18.tar.gz [root@localhost src]# cd db-4.6.18/ [root@localhost db-4.6.18]# cd build_unix/ [root@localhost build_unix]# mkdir /usr/local/berkeleydb [root@localhost build_unix]# ../dist/configure --prefix=/usr/local/berkeleydb --enable-cxx 其中-enable-cxx就是编译C++库,这样才能编译Berkeley DB数据库的PHP扩展php_db4. yum -y install gcc-c++安装一下就可以了

linux下搭建svn服务器

自己摸索了几天,今天终于小有成就!从零基础逐渐壮大,收获还是颇丰的! 系统环境: 虚拟机中Red Hat Enterprise Linux 4 客户端windows: TortoiseSVN-1.6.5.16974-win32-svn-1.6.5.msi 需要的软件包: subversion-1.6.5.tar.bz2 apr-1.3.8.tar.gz apr-util-1.3.9.tar.gz sqlite-amalgamation-3.6.13.tar.gz httpd-2.2.4(不需要支持http访问的可以不安装) 文章将阐述全过程,不需要支持http的可以不配置appche 接下来的安装都是在root身份下 安装apache #tar -zxvf httpd-2.2.4.tar.gz #cd httpd-2.2.4.tar.gz #./configure --prefix=/usr/local/apache 此处将会在后面的make时创建 --enable-dav --enable-so --enable-modules=most 注:--enbalce-dav 选项一定要加上 启动apache #/usr/local/apache/bin/apachectl start 打开浏览器http://192.168.58.xxx 如果有显示"It works!"则证明已经安装成功 注:其中IP为安装apache机器的IP 也就是svn服务器的IP #make #make install 安装apr apr-util #tar -zxvf apr-1.3.8.tar.gz 注:解压时也可在此指定解压路径当然了安装时要进入其中 #cd apr-1.3.8 #./configure --prefix=/usr/local/apr 此路径为最终安装路径留个印象后面能用到 #make #make install #tar -zxvf apr-util-1.3.9.tar.gz #cd apr-util-1.3.9.tar.gz

linux的_svn+apache的安装和配置.

apache + subversion for linux 安装 SVN是管理工程本版的必备工具,相对vss以及其前身cvs来说都有着无与伦比的优势 以下是apache+subversion服务端安装步骤: 一、准备好安装包: ①apr-1.3.6.tar.gz 下载地址:https://www.doczj.com/doc/1e16099280.html,/ ②apr-util-1.3.8.tar.gz ③subversion-1.6.3.tar.gz 下载地址:https://www.doczj.com/doc/1e16099280.html,/ ④subversion-deps-1.6.3.tar.gz ⑤httpd-2.2.9.tar.gz 下载地址:https://www.doczj.com/doc/1e16099280.html,/ 注意:apach的版本与subversion版本的兼容问题,官网都有介绍的 二、开始安装:把以上安装包上传至/usr/local目录,cd /usr/local 进入该目录 1、安装apr tar zxvf apr-1.3.6.tar.gz #解压包 cd apr-1.3.6 ./configure make make install 2、安装apr-util tar zxvf apr-util-1.3.8.tar.gz cd apr-util-1.3.8 ./configure --with-apr=/usr/local/apr make

make install 3、安装apache tar zxvf httpd-2.2.9.tar.gz cd httpd-2.2.9 ./configure --prefix=/usr/local/apache2.2.9 --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 #--prefix表示把apache安装在指定目录 make make install 4、安装subversion tar zxvf subversion-1.6.3.tar.gz tar zxvf subversion-deps-1.6.3.tar.gz cd subversion-1.6.3 ./configure --prefix=/opt/svn --with-apxs=/usr/local/apache2.2.9/bin/apxs --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr make make install 至此,安装基本完毕,再配置下就可以使用了 注意:因为这些安装包需要gcc编译,所以要确保linux上装有gcc程序,否则是没办法进行安装的 三、在apache中配置SVN vi /usr/local/apache2.2.9/conf/httpd.conf ①如果你看到如下两句,说明安装是成功的 LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so 如果有下面一句就用#注释掉 #LoadModule foo_module modules/mod_foo.so ②定义apache访问svn配置:

相关主题
文本预览
相关文档 最新文档