安装说明 系统环境:CentOS-6.5 安装方式:yum install (源码安装容易产生版本兼容的问题) 安装软件:系统自动下载SVN软件
检查已安装版本
检查是否安装了低版本的SVN
代码语言:javascript复制[root@localhost /]# rpm -qa subversion
#卸载旧版本SVN
代码语言:javascript复制[root@localhost /]# yum remove subversion
安装SVN
代码语言:javascript复制[root@localhost /]# yum install subversion
PS:yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql(这是安装配合Apache的模块,你可以只装subversion,多装了也无所谓
[root@localhost /]# yum install httpd httpd-devel subversion mod_dav_svn mod_auth_mysql
PS:yum install httpd httpd-devel subversion mod_dav_svn
确认已安装了svn模块
代码语言:javascript复制[root@localhost /]# cd /etc/httpd/modules
[root@localhost /]# ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
检查是否安装成功 检验已经安装的SVN版本信息
代码语言:javascript复制[root@localhost /]# svnserve --version
代码语言:javascript复制svnserve, version 1.6.11 (r934486)
compiled Aug 17 2015, 08:21:51
Copyright (C) 2000-2009 CollabNet.
Subversion is open source software, see http://subversion.tigris.org/
This product includes software developed by CollabNet (http://www.Collab.Net/).
The following repository back-end (FS) modules are available:
* fs_base : Module for working with a Berkeley DB repository.
* fs_fs : Module for working with a plain file (FSFS) repository.
Cyrus SASL authentication is available.
代码库创建 SVN软件安装完成后还需要建立SVN库
代码语言:javascript复制[root@localhost /]# mkdir -p /var/svn #我这里把版本库放在了var目录下的svn文件夹,方便管理
[root@localhost /]# svnadmin create /var/svn/svnproject #我这里将svn作为所有版本库的目录,并创建了一个名为svnproject的版本库
执行上面的命令后,自动建立svnproject库,查看/var/svn/svnproject 文件夹发现包含了conf, db,format,hooks, locks, README.txt等文件,说明一个SVN库已经建立。
说明: (1)svnserve.conf: svn服务综合配置文件。 (2)passwd: 用户名口令文件。 (3)authz: 权限配置文件
配置代码库 进入上面生成的文件夹conf下,进行配置
代码语言:javascript复制[root@localhost /]# cd /var/svn/svnproject/conf
用户密码passwd配置
代码语言:javascript复制[root@localhost password]# cd /var/svn/svnproject/conf
[root@admin conf]# vi passwd
修改passwd为以下内容:
代码语言:javascript复制[users]
# harry = harryssecret
# sally = sallyssecret
lwliang=123456
权限控制authz配置
代码语言:javascript复制[root@admin conf]# vi authz
目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容:
代码语言:javascript复制#设置[/]代表根目录下所有的资源
[/]
lwliang=rw
服务svnserve.conf配置
[root@admin conf]# vi svnserve.conf
追加以下内容:
代码语言:javascript复制[general]
#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限
auth-access=write
#密码数据库的路径
password-db=passwd
#访问控制文件
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字
realm=/var/svn/svnproject
配置防火墙端口
代码语言:javascript复制[root@localhost conf]# vi /etc/sysconfig/iptables
添加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT
保存后重启防火墙
[root@localhost conf]# service iptables restart
启动SVN
代码语言:javascript复制svnserve -d -r /var/svn/svnproject
查看SVN进程
代码语言:javascript复制[root@localhost conf]# ps -ef|grep svn|grep -v grep
root 12538 1 0 14:40 ? 00:00:00 svnserve -d -r /var/svn/svnproject
检测SVN 端口
代码语言:javascript复制[root@localhost conf]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
停止重启SVN
代码语言:javascript复制[root@localhost password]# killall svnserve //停止
[root@localhost password]# svnserve -d -r /var/svn/svnproject // 启动
测试 SVN服务已经启动,使用客户端测试连接。 客户端连接地址:svn://192.168.15.233 用户名/密码: lwliang/123456 测试创建文件夹等操作。