我的博客已迁移到xdoujiang.com请去那边和我交流
基础环境
1、SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于RCS、CVS,
它采用了分支管理系统,它的设计目标就是取代CVS。互联网上很多版本控制服务已从CVS迁移到Subversion。

2、cat /etc/debian_version 
7.4

3、三种访问模式
1) tcp/ip协议     svn://
2) webdav协议     http://
3) 本地或网络磁盘  file://        
这次搭建是通过webdav协议 http方式访问

4、subversion相关命令
svn(命令行客户端程序)
svnversion(此工具用来显示工作拷贝的状态)
svnlook(直接查看Subversion版本库的工具)
svnadmin(A tool for creating, tweaking, or repairing a Subversion repository)
svndumpfilter(过滤Subversion版本库转储数据流的工具)
mod_dav_svn(Apache HTTP服务器的一个插件,使版本库可以通过网络访问)
svnserve(一个单独运行的服务器程序,可以作为守护进程或由SSH调用。这是另一种使版本库可以通过网络访问的方式)
svnsync(一个通过网络增量镜像版本库的程序)
co=checkout  cp=copy  ci=commit  up=update  ls=list

5、ip
10.131.172.202

一、svn服务端
1、安装svn和工具包
1)apt-get -y install subversion
2)apt-get -y install subversion-tools

2、安装apache2和模块
1)apt-get -y install apache2-mpm-prefork
2)apt-get -y install libapache2-svn

3、创建目录 初始化项目目录 更改权限(1.2之后版本都默认选用fsfs)
1)mkdir /opt/svn/ -p
2)svnadmin create /opt/svn/ops
3)chown www-data.www-data svn/ -R

4、apache配置
cd /etc/apache2/mods-available
cat dav_svn.conf
<Location /svn>
DAV svn
SVNParentPath /opt/svn/
AuthType Basic
AuthName "svn repository"
AuthUserFile /etc/apache2/svn.passwd
AuthzSVNAccessFile /etc/apache2/svn.authz
Require valid-user
</Location>
添加在最后

5、修改/etc/apache2/svn.authz 
cat /etc/apache2/svn.authz 
[ops:/]
* = rw

6、使用htpasswd命令创建用户
htpasswd -c /etc/apache2/svn.passwd jimmy
PS:再添加用户的话就不需要-c参数了
htpasswd /etc/apache2/svn.passwd jim

7、查看模块
cat /etc/apache2/mods-available/dav_svn.load
# Depends: dav
LoadModule dav_svn_module /usr/lib/apache2/modules/mod_dav_svn.so
LoadModule authz_svn_module /usr/lib/apache2/modules/mod_authz_svn.so
如果有上述2个模块 那说明OK了。

8、重启apache
/etc/init.d/apache2 restart

一、svn客户端访问http
1、linux客户端(从svn上将文件checkout到本地)
svn co http://10.131.172.202/svn/ops/ --username jimmy  --password redhat
-----------------------------------------------------------------------
ATTENTION!  Your password for authentication realm:
   <http://10.131.172.202:80> svn repository
can only be stored to disk unencrypted!  You are advised to configure
your system so that Subversion can store passwords encrypted, if
possible.  See the documentation for details.
You can avoid future appearances of this warning by setting the value
of the 'store-plaintext-passwords' option to either 'yes' or 'no' in
'/root/.subversion/servers'.
-----------------------------------------------------------------------
Store password unencrypted (yes/no)? yes
A    ops/ccc
A    ops/新建 永中简报.ppt
A    ops/新建 WinRAR ZIP 压缩文件.zip
A    ops/新建文本文档.txt
A    ops/aaa
A    ops/bbb
Checked out revision 3.

2、windows客户端
下载客户端TortoiseSVN-1.8.11.26392-x64-svn-1.8.13.msi

3、网页方式访问
http://10.131.172.202/svn/ops/

wKioL1WC0S2DrQMLAAE2fZP7y14848.jpg

三、参考文章
http://www.subversion.org.cn/svnbook/nightly/