安装说明

系统环境:CentOS-6.7
安装方式:yum install (源码安装容易产生版本兼容的问题)
安装软件:系统自动下载SVN软件

检查已安装版本

  1. #检查是否安装了低版本的SVN
  2. $ rpm -qa subversion
  3. #卸载旧版本SVN
  4. $ yum remove subversion
  5. 安装SVN
  6. $ yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
  7. 确认已安装了svn模块
  8. $ cd /etc/httpd/modules
  9. $ ls | grep svn
  10. mod_authz_svn.so
  11. mod_dav_svn.so

验证安装

检验已经安装的SVN版本信息

  1. $ svnserve --version
  2. svnserve,版本 1.6.11 (r934486)
  3. 编译于 Jun 23 201200:44:03
  4. 版权所有 (C) 2000-2009 CollabNet
  5. Subversion 是开放源代码软件,请参阅 [http://subversion.tigris.org/](http://subversion.tigris.org/) 站点。
  6. 此产品包含由 CollabNet( [http://www.Collab.Net/](http://www.collab.net/)) 开发的软件。
  7. 下列版本库后端(FS) 模块可用:
  8. * fs_base : 模块只能操作BDB版本库。
  9. * fs_fs : 模块与文本文件(FSFS)版本库一起工作。
  10. Cyrus SASL 认证可用。

代码库创建

SVN软件安装完成后还需要建立SVN库

  1. [root@zck modules]# mkdir -p /opt/svn/repositories
  2. [root@zck modules]# svnadmin create /opt/svn/repositories

执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。

配置代码库

进入上面生成的文件夹conf下,进行配置
[root@zck modules]# cd /opt/svn/repositories/conf

用户密码passwd配置

  1. [root@zck password]# cd /opt/svn/repositories/conf
  2. [root@admin conf]# vi + passwd

修改passwd为以下内容:

  1. [users]
  2. # harry = harryssecret
  3. # sally = sallyssecret
  4. zhoulf=123456

权限控制authz配置

  1. [root [@admin](http://my.oschina.net/wekit) conf]# vi + authz
  2. 目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
  3. #设置[/]代表根目录下所有的资源
  4. [/]
  5. zhoulf=rw
  6. 服务svnserve.conf配置
  7. [root [@admin](http://my.oschina.net/wekit) conf]# vi + svnserve.conf

追加以下内容:

  1. [general]
  2. #匿名访问的权限,可以是read,write,none,默认为read
  3. anon-access=none
  4. #使授权用户有写权限
  5. auth-access=write
  6. #密码数据库的路径
  7. password-db=passwd
  8. #访问控制文件
  9. authz-db=authz
  10. #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
  11. realm=/opt/svn/repositories

配置防火墙端口

  1. [root@zck conf]# vi /etc/sysconfig/iptables
  2. 添加以下内容:
  3. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
  4. 保存后重启防火墙
  5. [root@zck conf]# service iptables restart

启动SVN

  1. svnserve -d -r /opt/svn/repositories

查看SVN进程

  1. [root@zck conf]# ps -ef|grep svn|grep -v grep
  2. root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /opt/svn/repositories

检测SVN 端口

  1. [root@zck conf]# netstat -ln |grep 3690
  2. tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN

停止重启SVN

  1. [root@zck password]# killall svnserve //停止
  2. [root@zck password]# svnserve -d -r /opt/svn/repositories // 启动

测试

SVN服务已经启动,使用客户端测试连接。
客户端连接地址:svn://192.168.15.231
用户名/密码: zhoulf/123456
测试创建文件夹等操作。