svn是一款非常不错的开源的版本控制软件,现在就其搭建过程做如下记载,主要是借助apache进行工作的。
一.环境准备
二.svn配置
三.apache配置
四.svn常见示例
一.环境准备
1.系统CentOS 6,所需软件
subversion-1.6.11-9.el6_4.i686
mod_dav_svn-1.6.11-9.el6_4.i686
httpd-2.2.15-26.el6.centos.i686
 
注:这些软件我都是yum安装的,如果大家想获取最新软件包,可以去相应官网去下载。
二.svn配置
1.安装svn相关软件包
[root@master ~]# yum install  subversion
2.创建svn用户
[root@master ~]# useradd svn
3.创建版本库
[root@master ~]# mkdir -p /opt/svn/ 
[root@master ~]# su svn                            切换用户 
[svn@master ~]$ svnadmin create /opt/svn/product/  创建版本库 
[svn@master ~]$ cd /opt/svn/product/
[svn@master ~]$ ls
conf  db  format  hooks  locks  README.txt 
[svn@master ~]$ svnadmin create /opt/svn/longbinary  创建版本库 
[svn@master ~]$ ls /opt/svn/longbinary/
conf  db  format  hooks  locks  README.txt
三.apache配置
1.安装apache及svn模块
[root@master ~]# yum install httpd mod_dav_svn 
[root@master ~]# ls /etc/httpd/modules/|grep svn  验证svn模块 
mod_authz_svn.so 
mod_dav_svn.so
2.apache相关配置
2.1 /etc/httpd/conf.d/subversion.conf配置如下
加载模块 
LoadModule dav_svn_module    modules/mod_dav_svn.so 
LoadModule authz_svn_module  modules/mod_authz_svn.so 
<Location /svn> 
  DAV svn                                    在apache启用svn模块 
  SVNParentPath /opt/svn/                    在些路径下寻找版本库 
      AuthzSVNAccessFile /opt/svn/authz.conf  访问控制文件 
      AuthType Basic                          认证类型为基本认证 
      AuthName "welcome svn"                  欢迎语 
      AuthUserFile /opt/svn/passwd            密码控制文件 
      Require valid-user                      用户密码正确可访问版本库        
</Location>
2.2 创建访问控制用户
[root@master ~]# htpasswd -c /opt/svn/passwd admin 
New password: 
Re-type new password: 
Adding password for user admin
3.其他
3.1 确保apache用户对版本库有读写权限
[root@master svn]# chown -R apache:apache product/ 
[root@master svn]# chown -R apache:apache longbinary/ 
[root@master svn]# ls -al | grep '^d'  
drwxr-xr-x.  7 apache apache 4096 6月  28 23:32 longbinary 
drwxr-xr-x.  6 apache apache 4096 6月  28 18:17 product
3.2 启动svn httpd
[root@master ~]# /etc/init.d/svnserve start 
正在启动 svnserve:                                        [确定] 
[root@master ~]# /etc/init.d/httpd start 
正在启动 httpd:httpd:                                    [确定]
4.验证

四.svn常见示例
1.导入目录
[root@Nodes01 mail]# svn import test  --message "resivion 1"
2.导出目录
[root@Nodes01 ~]# svn checkout 
3.查看版本内容
[root@Nodes01 mail]# svn list 
