SVN其实就是Subversion,分为服务器端和客户端。之前在网上搜了很多方法,都有各种问题,经过自己搜集整理以及实际尝试,总算有个比较靠谱的方法。本文主要介绍CentOS 6.5系统上安装SVN服务器端的方法及步骤。
系统环境说明如下: 操作系统: Centos6.5 x86-64 SVN: subversion-1.8.11 1、检查是否安装了低版本的SVN rpm -qa | grep subversion 如果已安装SVN,则会返回版本信息,如:subversion-1.6.11-9.el6_4.i686 卸载旧版本SVN yum remove subversion 2、安装SVN yum –y install subversion 3、检查安装是否成功 svnserve –version 返回值: svnserve, version 1.8.11 compiled Jul 23 2013, 21:32:09 on i686-pc-linux-gnu Copyright (C) 2013 The Apache Software Foundation. This software consists of contributions made by many people; see the NOTICE file for more information. Subversion is open source software, see http://subversion.apache.org/ The following repository back-end (FS) modules are available: * fs_fs : Module for working with a plain file (FSFS) repository. Cyrus SASL authentication is available. 4、代码库创建 mkdir -p /opt/svn/repositories svnadmin create /opt/svn/repositories 执行上面的命令后,自动建立repositories库,查看/opt/svn/repositories 文件夹发现包含了conf,db,format,hooks,locks, README.txt等文件,说明一个SVN库建立完成。 5、配置代码库 进入上面生成的文件夹conf下,进行配置 cd /opt/svn/repositories/conf 5.1用户密码passwd配置 vi passwd passwd文件的内容如下: ### This file is an example password file for svnserve. ### Its format is similar to that of svnserve.conf. As shown in the ### example below it contains one section labelled [users]. ### The name and password for each user follow, one account per line. [users] # harry = harryssecret # sally = sallyssecret test = 123456789 ##新增用户的用户名和密码 5.2权限控制authz配置 vi authz 目的是设置哪些用户可以访问哪些目录,authz文件的内容如下: ### This file is an example authorization file for svnserve. ### Its format is identical to that of mod_authz_svn authorization ### files. ### As shown below each section defines authorizations for the path and ### (optional) repository specified by the section name. ### The authorizations follow. An authorization line can refer to: ### - a single user, ### - a group of users defined in a special [groups] section, ### - an alias defined in a special [aliases] section, ### - all authenticated users, using the '$authenticated' token, ### - only anonymous users, using the '$anonymous' token, ### - anyone, using the '*' wildcard. ### ### A match can be inverted by prefixing the rule with '~'. Rules can ### grant read ('r') access, read-write ('rw') access, or no access ### (''). [aliases] # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average [groups] # harry_and_sally = harry,sally # harry_sally_and_joe = harry,sally,&joe # [/foo/bar] # harry = rw # &joe = r # * = # [repository:/baz/fuz] # @harry_and_sally = rw # * = r [/] test = rw 设置[/]代表根目录下所有的资源 5.3服务svnserve.conf配置 vi svnserve.conf svnserve.conf文件的内容如下: [general] #匿名访问的权限,可以是read,write,none,默认为read anon-access=none #使授权用户有写权限 auth-access=write #密码数据库的路径 password-db=passwd #访问控制文件 authz-db=authz #认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 realm=/opt/svn/repositories 启动svn服务 svnserve -d -r /opt/svn/repositories 6、查看SVN进程 ps -ef|grep svn|grep -v grep 返回 root 20850 1 0 Jul24 ? 00:00:00 svnserve -d -r /opt/svn/repositories 7、查看SVN监听的端口 netstat -ln |grep 3690 8、停止启动SVN killall svnserve #停止 svnserve -d -r /opt/svn/repositories #启动 9、安装svn客户端 目前最流行的svn客户端非TortoiseSVN莫属 下载安装 http://sourceforge.net/projects/tortoisesvn/files/latest/download?source=dlp 客户端连接地址:svn://公网或内网的IP地址,有时候需要添加端口号 用户名/密码: test/123456789 ##要和之前设置的用户名和密码匹配
注意: 默认端口为3690,如果该端口被占用,或者需要修改端口,使用下面语句 svnserve -d -r /opt/svn/repositories --listen-port 3691
如果出现:Unable to connect to a repository at URL 'svn://202.72.252.246' 无法连接主机“202.72.252.246'”: 由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。 执行一下语句
修改
iptables -I INPUT -p tcp --dport 3690 -j ACCEPT 保存 /etc/rc.d/init.d/iptables save 重启 service iptables restart 查看 /etc/init.d/iptables status (责任编辑:IT) |