配置完了,运行svn checkout svn://127.0.0.1
错误:svn:E170001;认证失败
还有可能出现找不到openssl错误,利用yum安装openssl和openssl-dev即可。
 
 
Svn 安装
再讲述SVN的安装步骤时,先了解一下svn的工作原理
我们用一个小小的例子,引出svn;如果有一个项目,需要多个人员共同开发,但这些开发人员并不在一个地方,那如何来完成这个项目呢,每一个项目人员对一些文件或者程序的更改,如何能更快的被其他项目人员获得呢?这时候我们就需要一款管理项目开发程序的管理软件了,可是如何解决项目程序的同步问题、安全问题、以及管理问题呢?
SVN的基本工作思路:在一台server上搭建一个源代码库,库里可以存放许多不同的源程序,由源代码库管理员统一管理这些源程序,每一个用户在使用这些源程序时,都需要将源代码库里的文件下载到本地,之后开发人员可以在本地进行修改,修改后用svn的命令提交,再由源代码库统一管理修改解决的问题:
代码管理混乱
解决代码冲突管理困难
在代码整合期间引起bug
无法对拥有者进行适当的权限控制
项目不同,版本的发布困难

现在来讲解一些svn的安装步骤:
在这里不仅仅会介绍svn的安装,还会介绍一些配置,以及在win客户端下的使用
我现在是在centos 5.6版本上安装的,你前期需要准备的是有gcc这个编译器,最好能搭建一个YUM,这样可以帮你解决在安装过程中,缺少一些包的问题,本地源服务器YUM的安装,可参考: http://1413570.blog.51cto.com/1403570/631226
接下来就开始我们的辛酸之旅,途中会遇到很多困难哦,加油吧!
先下载两个包,
subversion-1.7.7.tar.gz
解压:
tar -zxvf subversion-1.7.7.tar.gz
进入目录,准备编译安装:
[root@localhost software]# cd subversion-1.7.7
[root@localhost subversion-1.7.7]#  ./configure
安装遇到的error,
checking for APR... no
configure: WARNING: APR not found
The Apache Portable Runtime (APR) library cannot be found.
Please install APR on this system and supply the appropriate
--with-apr option to 'configure'
从1.7版本开始貌似句不提供单独的依赖包,利用当前目录下的get_deps.sh文件可以自动下载解压。
我的还出现有错误没有openssl,利用yum安装就可以。
重新执行./configure 命令只要没有遇到error,就是ok的,然后 make && make install
 
现在在home下面可以找到svn这个目录,说明我们的安装已经结束,
[root@localhost home]# cd svn/
[root@localhost svn]# ls
bin  build-1  include  lib  share
[root@localhost svn]# pwd
/home/svn
[root@localhost svn]#
要让系统找到这些命令还需要将这些命令添加到系统的环境变量中。 操作为
Vi  /etc/profile
找到export PATH
export PATH=/home/svn/bin:$PATH
命令:[root@localhost bin]# source  /etc/profile
让profile文件生效
[root@localhost bin]# svnserve --version
   编译于 Oct 28 2012,14:21:15
版权所有 (C) 2012 Apache 软件基金会。
此软件包含了许多人的贡献,请查看文件 NOTICE 以获得更多信息。
Subversion 是开放源代码软件,请参阅 http://subversion.apache.org/ 站点。
下列版本库后端(FS) 模块可用:
* fs_fs : 模块与文本文件(FSFS)版本库一起工作。
安装ok

下面继续讲解的是如何去配置svn以及win 客户端如何去
本次操作沿用为每个项目单独建一版本库的策略,配置文件、认证、密码等都放到版本库下面,所以每一次开始一个新的项目的时候,都需要为项目新建一个版本库,并且需要重新配置相关文件,而且,在客户端上,也是需要重新指定版本库路
本库目录(可建立多个,新建库后以下各项都需重新配置。注意区别安装目录与版本库目录,以下讲的都是版本库目录)  
[root@localhost home]# mkdir -p /home/svndata/repo
  建立svn版本库(与上面目录对应)
svnadmin create /home/svndata/repo/
执行此命令后svn自动在repos目录下添加必须的配置文件,可以查看下
修改版本库文件
进入到/home/svndata/repo/conf目录下,之前有讲过/home/svndata/repo目录
[general] anon-access = none # 使非授权用户无法访问
auth-access = write # 使授权用户有写权限
password-db = password # 指明密码文件路径
authz-db = authz.# 访问控制文件
realm = /home/svndata/repo # 认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字。 其它采用默认配置. 各语句都必须顶格写, 左侧不能留空格, 否则会出错.  指令简介:这是svn配置文件的格式,请按照以上格式书写。
 

配置用户 vi /home/svndata/repo/passwd  #加用户名和密码
[users]

lipeng = 123456

# 由于是测试,密码设置为123456


5 配置权限/home/svndata/repo/conf/authz文件
此配置文件采用“基于路径的授权”策略,中括号里指定路径,以下列出对各用户的授权。包括只读r,读写rw。没有列出的用户,则不允许访问。还可以对用户分组,

[root@youxia201 conf]# vi authz

[repo:/]

lipeng = rw

# 给repo仓库添加一个名称为的用户,权限为可写。

 

 

启动服务 执行svnserve –d –r /home/svndata/repo

这是小团队项目的推荐方法. 这种方法维护最少, 配置最简单.

指令简介:此指令用于启动svn服务,-d指明以守护模式运行,svn自动在3690端口监听。3690是默认端口,可以使用“--listen-port=”或者“--listen-host=”来指定其它端口。-r选项用来指定svn服务的根目录,这样用户就可以使用相对路径访问,而不用提供完整路径。

使用以下命令检出:(svnserver方式) svn checkout svn://127.0.0.1/dir 以上为示例。IP需要根据具体情况调整,dir为版本库路径,若在启动时已指定则可省略。 版本库信息在版本库文件夹里,所以要删除版本库只需要删除版本库所在的文件夹即可。 另外工作副本只是自己维护的文件夹,可以用Windows直接删掉,对别人没有影响。千万不要使用版本库的删除命令,否则版本库里的内容也会被删除。
启动:
[root@localhost conf]# svnserve  -d -r /home/svndata/repo/
[root@localhost conf]# netstat -antp | grep svn
tcp        0      0 0.0.0.0:3690                0.0.0.0:*                   LISTEN      6397/svnserve  
端口默认是3690,需要在防火墙配置文件中,[root@localhost conf]# vi /etc/sysconfig/iptables添加3690端口
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 3690  -j ACCEPT
[root@localhost conf]# service iptables restart    重启iptables
查看iptables规则链
14   ACCEPT     tcp  --  anywhere             anywhere            state NEW tcp dpt:svn
Ok,目前配置已经结束,下面就看如何在win下配置客户端
在 Windows XP 上安装 svn 客户端:

1 ,下载地址:

http://code.google.com/p/rails4scm/downloads/detail?name=tortoisewin32svn.msi

 

2 ,下载完成后,直接 next 安装即可,安装完成后需要重启生效。

 

 

 

 

五,启服务器及测试:

1 ,启 SVN 服务,并指定 SVN 的根目录:

[root@youxia201 test]# svnserve -d -r /opt/svn/

 

2 ,服务已经正常起来:

[root@youxia201 test]# netstat -tunlp | grep svn

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

 

3 ,测试:

在桌面上新建一个名称为 svntest 的目录,在此目录上点击右键,选择 Checkout ,在首行填写 svn 服务器的 IP 地址及仓库名称

 

CentOS5.6下安装、配置SVN详解加原创_第1张图片

输入相应的用户名称及密码后就可以使用了

 

CentOS5.6下安装、配置SVN详解加原创_第2张图片

连上就ok了

感谢原作者

原文链接: http://chlotte.blog.51cto.com/318402/382700

Linux学习网收集整理 ,(如果您觉得本站不错,请告诉身边的朋友,或转载到论坛、百度知道、贴吧等,记得带网址哟,不胜感激!)。