靠谱SVN 服务器搭建步骤以用法

一、实验环境:

[[email protected] ~]# uname -a

Linux node02 2.6.32-504.el6.x86_64 #1 SMP Wed Oct 15 04:27:16 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

[[email protected] ~]# cat /etc/redhat-release

CentOS release 6.6 (Final)

[[email protected] ~]#

[[email protected] ~]# ifconfig eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:DF:59:C7

inet addr:192.168.112.129  Bcast:192.168.112.255  Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fedf:59c7/64 Scope:Link

UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

RX packets:37078 errors:0 dropped:0 overruns:0 frame:0

TX packets:21925 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:26850825 (25.6 MiB)  TX bytes:3241796 (3.0 MiB)

[[email protected] ~]#

二、SVN Apache安装

这里我直接用yum安装

[[email protected] ~]# yum install subversion apr apr-util   mod_dav_svn  httpd

[[email protected] ~]#

[[email protected] ~]# rpm -qa subversion apr apr-util   mod_dav_svn  httpd

apr-util-1.3.9-3.el6_0.1.x86_64

subversion-1.6.11-15.el6_7.x86_64

apr-1.3.9-5.el6_2.x86_64

httpd-2.2.15-55.el6.centos.2.x86_64

mod_dav_svn-1.6.11-15.el6_7.x86_64

[[email protected] ~]#

查看目录结构:

[[email protected] ~]# tree /etc/httpd/

/etc/httpd/

├── conf

│   ├── httpd.conf

│   └── magic

├── conf.d

│   ├── passwd

│   ├── README

│   ├── subversion.conf

│   ├── subversion.conf.bak

│   └── welcome.conf

├── logs -> ../../var/log/httpd

├── modules -> ../../usr/lib64/httpd/modules

└── run -> ../../var/run/httpd

5 directories, 7 files

[[email protected] ~]#

目录配置:

(1)svn目录配置

[[email protected] ~]# mkdir -p /application/svn/svndata

[[email protected] ~]# mkdir -p /application/svn/svndata/svnpasswd/

[[email protected] ~]#

注意:这里的/application/svn/svndata是SVN的项目目录,该目录下就是我们平常的项目存放位置

目录/application/svn/svndata/svnpasswd/是用用户认证和权限文件存放路径,结构如下:

[[email protected] ~]# tree /application/svn/svndata/svnpasswd/

/application/svn/svndata/svnpasswd/

├── authz

└── passwd

0 directories, 2 files

[[email protected] ~]#

(2)启动SVN

[[email protected] ~]# svnserve -d -r /application/svn/svndata/

[[email protected] ~]# ps -ef|grep svn

root     13512     1  0 18:48 ?        00:00:00 svnserve -d -r /application/svn/svndata/

root     14068  1977  0 22:49 pts/0    00:00:00 grep svn

[[email protected] ~]# netstat -lnput|grep svn

tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      13512/svnserve

[[email protected] ~]#

(3)创建项目

[[email protected] ~]# svnadmin create /application/svn/svndata/project001

[[email protected] ~]# tree /application/svn/svndata/project001/

/application/svn/svndata/project001/

├── conf

│   ├── authz

│   ├── passwd

│   └── svnserve.conf

├── db

│   ├── current

│   ├── format

│   ├── fsfs.conf

│   ├── fs-type

│   ├── min-unpacked-rev

│   ├── rep-cache.db

│   ├── revprops

│   │   └── 0

│   │       └── 0

│   ├── revs

│   │   └── 0

│   │       └── 0

│   ├── transactions

│   ├── txn-current

│   ├── txn-current-lock

│   ├── txn-protorevs

│   ├── uuid

│   └── write-lock

├── format

├── hooks

│   ├── post-commit.tmpl

│   ├── post-lock.tmpl

│   ├── post-revprop-change.tmpl

│   ├── post-unlock.tmpl

│   ├── pre-commit.tmpl

│   ├── pre-lock.tmpl

│   ├── pre-revprop-change.tmpl

│   ├── pre-unlock.tmpl

│   └── start-commit.tmpl

├── locks

│   ├── db.lock

│   └── db-logs.lock

└── README.txt

10 directories, 28 files

[[email protected] ~]#

(3)修改项目配置文件

[[email protected] ~]# cd /application/svn/svndata/project001

[[email protected] project001]# ls

conf  db  format  hooks  locks  README.txt

[[email protected] project001]#

[[email protected] project001]# cd conf/

[[email protected] conf]# ll

total 12

-rw-r--r-- 1 root root 1080 Dec 31 22:53 authz

-rw-r--r-- 1 root root  309 Dec 31 22:53 passwd

-rw-r--r-- 1 root root 2279 Dec 31 22:53 svnserve.conf

[[email protected] conf]#

[[email protected] conf]# vim svnserve.conf

anon-access = none         ------------------->12行去掉注释

auth-access = write        ------------------->13行去掉注释

password-db = /application/svn/svndata/svnpasswd/passwd ------------>18行去掉注释

authz-db = /application/svn/svndata/svnpasswd/authz ---------------->25行去掉注释

[[email protected] conf]#

提示:svnserve.conf中每个参数都要定格写,开头不能有空格

或者执行如下命令修改:

[[email protected] conf]# sed -i ‘s/# anon-access = read/anon-access = none/g‘ svnserve.conf

[[email protected] conf]# sed -i ‘s/# auth-access = write/auth-access = write/g‘ svnserve.conf

[[email protected] conf]# sed -i ‘s%# password-db = passwd%password-db = /application/svn/svndata/svnpasswd/passwd%g‘ svnserve.conf

[[email protected] conf]# sed -i ‘s%# authz-db = authz%authz-db = /application/svn/svndata/svnpasswd/authz%g‘ svnserve.conf

修改完之后可以运行如下命令进行检查

[[email protected]  conf]# egrep "\-access|\-db =" svnserve.conf

anon-access = none

auth-access = write

password-db = /application/svn/svndata/svnpasswd/passwd

authz-db = /application/svn/svndata/svnpasswd/authz

[[email protected]  conf]#

确认配置修改无误后,拷贝用户认证文件passwd和权限管理文件authz到刚才创建的目录下:

[[email protected] conf]# cp authz  passwd  /application/svn/svndata/svnpasswd/

[[email protected] conf]# tree /application/svn/svndata/svnpasswd/

/application/svn/svndata/svnpasswd/

├── authz

└── passwd

0 directories, 2 files

[[email protected] conf]#

(4)创建用户admin、user001并设置密码,格式:用户名 = 密码

[[email protected] svnpasswd]# 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

admin = admin

user001 = 123456

[[email protected] svnpasswd]#

访问权限:

[[email protected] svnpasswd]# cat authz

-----省略部分-------------

[aliases]

# joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

[groups]

# harry_and_sally = harry,sally

# harry_sally_and_joe = harry,sally,&joe

users = admin,user001

# [/foo/bar]

# harry = rw

# &joe = r

# * =

# [repository:/baz/fuz]

# @harry_and_sally = rw

# * = r

[/]

@users = rw

[[email protected] svnpasswd]#

说明:users= admin,user001将admin、user001两个用户赋值用户组users,@user = rw 是让用户组对跟目录有读写权限,也就是说用户admin、user001这两个用户对根目录有读写的权限。

到这里svn服务器算搭建完成。

(5)客户端安装

下面进行客户端的安装和操作

这里介绍安装过程,windows下安装客户端直接双击,然后下一步下一步即可。

(6)SVN的常用操作,提交、更新、删除文件

安装好之后,鼠标置于桌面右键会有如下图标出现 SVN Checkout和TortoiseSVN两个标签

这里我在桌面创建一个文件夹,输入写入一个文件,然后提交SVN Checkout,

会弹出一个登录对话框,此时点击OK

此时会提示输入用户名和密码:

输入刚才创建的用户admin或者user001登录即可,这里用user001登录即可。如果有文件要提交,这里直接把文件放入project001里,在文件夹上右击,弹出如下对话框,然后选择文件点击"确定"即可

提交后的结果为:

这里,就将本地的文件提价到svn上,如果有意外操作。比如不小心把本地文件删除了,可以在从svn上再拉取一份即可。

删除2.xlsx文件,然后再从svn上拉取一次,

输入用户名和密码

确定后,就从svn上拉取了一份2.xlsx文件

如果要删除SVN上的某个文件,需要将本地的文件删除,然后再执行cmmit(提交)

弹出如下对话框

确定后,即可完成SVN服务器上的2.xlsx文件的删除

(7)导入SVN原始的目录树

[[email protected] ~]# cd /application/tools/

[[email protected] tools]# mkdir -p branch tags trunk/

[[email protected] tools]# ll

total 12

drwxr-xr-x 2 root root 4096 Dec 31 21:02 branch

drwxr-xr-x 2 root root 4096 Dec 31 21:02 tags

drwxr-xr-x 2 root root 4096 Dec 31 21:02 trunk

[[email protected] tools]#

[[email protected] tools]# svn import /application/tools/ file:///application/svn/svndata/project001/

svn: Could not use external editor to fetch log message; consider setting the $SVN_EDITOR environment variable or using the --message (-m) or --file (-F) options

svn: None of the environment variables SVN_EDITOR, VISUAL or EDITOR are set, and no ‘editor-cmd‘ run-time configuration option was found

[[email protected] tools]#

报错,提示加参数 -m "xxxxx"

[[email protected] tools]# svn import /application/tools/ file:///application/svn/svndata/project001/ -m "import messages"

Adding         /application/tools/trunk

Adding         /application/tools/branch

Adding         /application/tools/tags

Committed revision 5.

[[email protected] tools]#

导入成功,客户端检查一下

点击“版本库浏览器”

至此SVN原始目录树导入成功。

(8)打tags版本

如果我们有一个项目为ucode,开发完所有的基本功能之后,的版本问1.0,如下图所示:

以后的开发都是基于这个版本的开发,那么可以把这个版本锁定,然后定义为一个新的版本,操作如下:

选择"分支/标记(T)" 弹出如下对话框,输入"ucode_dev_1.0_release_v0001",如下图:

然后"确定"即可。

接下来可以在tags目录下看到刚才打的版本号:

时间: 2024-10-03 13:44:48

靠谱SVN 服务器搭建步骤以用法的相关文章

SVN服务器搭建步骤

一.安装 yum install subversion    sudo groupadd svn    sudo useradd -g svn svn    sudo passwd svn 二.配置 本系统采用为每个项目单独建一版本库的策略.配置文件,密码文件,访问控制文件等都放在版本库的conf目录下. 所以每次开始一个新项目都必须新建一个版本库,并重新配置各配置文件.还有很重要的一条,要求各组员重新配置客户端,包括服务器版本库路径,本地路径等信息. 1. 建立版本库目录(可建立多个,新建库后

Linux CentOS 6.5 x64 SVN服务器搭建

Linux CentOS 6.5 x64 SVN服务器搭建步骤 1. 安装Subversion yum install subversion 注意:安装需要使用root权限,否则会提示You need to be root to perform this command.英文也很简单,这里就不多废话了. 2. 查看Subversion的安装位置 rpm -ql subversion 我们看到在bin目录下放有可执行的命令: 可以通过查看SVN版本来确认是否已经安装成功,输入如下命令: svn -

SVN服务器搭建及客户端配置

为什么要使用SVN? 在程序的编写过程中,每个程序员都会负责开发一个或多个模块,且开发中会生成很多不同的版本, 这就需要程序员有效的管理代码,在需要的时候可以迅速,准确取出相应的版本. Subversion是什么? 它是一个自由/开源的版本控制系统,一组文件存放在中心版本库,记录每一次文件和目录的修改,Subversion允许把数据恢复到早期版本, 或是检查数据修改的历史,Subversion可以通过网络访问它的版本库,从而使用户在不同的电脑上进行操作. 一:SVN服务器搭建和使用: 1.   

Linux下的SVN服务器搭建

鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在搭建svn服务器时不再犯错,不再被网上漫天的坑爹作品所坑害,故此总结 /******开始*********/ 系统环境:Centos 6.5 第一步:通过yum命令安装svnserve,命令如下: >yum -y install  subversion 此命令会全自动安装svn服务器相关服务和依赖,安装完成会自动停止命令运行 若需查看svn安装位置,可以用以下命令: >rpm -ql subve

SVN服务器搭建和使用

VS2015的官方VisualSVN-5.0.1 插件这里,还是遇到了一些问题,我知道有插件了,但是忽略了开始的版本问题,按时插件安装过程中没有出现意外,故以为"插件安装成功",岂不知此"成功"非彼"成功".由于我用的是VisualSVN-Server-3.5.7-x64,适应的VS版本最新的是2012版,故不适应与VS2015版本的,然后就去下载的最新版本,最终才成功安装实现VS2015和SVN的结合. 对应VS2015的官方VisualSVN

Win7 x64 svn 服务器搭建

SVN服务器搭建和使用   Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http://subversion.apache.org/packages.html 个人认为最好用VisualSVN server 服务端和 TortoiseSVN客户端搭配使用. 点开上面的VisualSVN连接,下载VisualSVN server,如图: https://www

SVN服务器搭建和使用-转载

SVN服务器搭建和使用(一)-转载 原文地址:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http://subversion.apache.org/packages.html 这是二进制文件包的下载地址,你可在左侧的导航栏找

centos svn服务器搭建

centos svn服务器搭建 1.yum install subversion 2.mkdir -p /opt/svn 3.chmod R 777 /opt/svn 4.svnadmin create /opt/svn/repos #创建一个svn版本仓库repos 5.cd /opt/svn/repos/conf 6.cp -p svnserve.conf ./svnserve.conf.bak 备份一下即将修改的文件 7.vi svnserver.conf 8. anon-access =

SVN服务器搭建(1)

转自:http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html SVN服务器搭建和使用(一) Subversion是优秀的版本控制工具,其具体的的优点和详细介绍,这里就不再多说. 首先来下载和搭建SVN服务器. 现在Subversion已经迁移到apache网站上了,下载地址: http://subversion.apache.org/packages.html 这是二进制文件包的下载地址,你可在左侧的导航栏找到源代码,