#检查是否安装了低版本的SVN
[root@localhost ~]# rpm -qa subversion
subversion-1.6.-.el6.x86_64
#卸载旧版本SVN
[root@localhost ~]# yum remove subversion
#安装SVN
[root@localhost Desktop]# yum install subversion
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
* base: mirrors.hustunique.com
* extras: mirrors.hustunique.com
* updates: mirrors.hustunique.com
base | 3.7 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 4.4 MB 00:25
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package subversion.x86_64 0:1.6.11-9.el6_4 will be installed
--> Finished Dependency Resolution Dependencies Resolved ================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
subversion x86_64 1.6.11-9.el6_4 updates 2.3 M Transaction Summary
================================================================================
Install 1 Package(s) Total download size: 2.3 M
Installed size: 12 M
Is this ok [y/N]: y
Downloading Packages:
subversion-1.6.11-9.el6_4.x86_64.rpm | 2.3 MB 00:15
warning: rpmts_HdrFromFdno: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Importing GPG key 0xC105B9DE:
Userid : CentOS-6 Key (CentOS 6 Official Signing Key) <centos-6-key@centos.org>
Package: centos-release-6-3.el6.centos.9.x86_64 (@anaconda-CentOS-201207061011.x86_64/6.3)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
Is this ok [y/N]: y
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : subversion-1.6.11-9.el6_4.x86_64 1/1
Verifying : subversion-1.6.11-9.el6_4.x86_64 1/1 Installed:
subversion.x86_64 0:1.6.11-9.el6_4 Complete!
#确认是否已安装svn模块
[root@localhost ~]# cd /etc/httpd/modules;ls | grep svn
mod_authz_svn.so
mod_dav_svn.so
#创建版本库
[root@localhost ~]# mkdir -p /opt/svn/myRespositories
[root@localhost ~]# svnadmin create /opt/svn/myRepositories
#配置Subversion
#设置用户名与密码:用户名richard,密码:123456
[root@localhost ~]# vi /opt/svn/myRespositories/conf/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
richard=
#配置权限控制
root@localhost ~]# vi /opt/svn/myRespositories/conf/authz
[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
[/]
richard=rw
#服务配置
[root@localhost ~]# vi /opt/svn/myRespositories/conf/svnserve.conf [general]
### These options control access to the repository for unauthenticated
### and authenticated users. Valid values are "write", "read",
### and "none". The sample settings below are the defaults.
#去出注释
anon-access = none
auth-access = write
### The password-db option controls the location of the password
### database file. Unless you specify a path starting with a /,
### the file's location is relative to the directory containing
### this configuration file.
### If SASL is enabled (see below), this file will NOT be used.
### Uncomment the line below to use the default password file.
#去除注释
password-db = passwd
### The authz-db option controls the location of the authorization
### rules for path-based access control. Unless you specify a path
### starting with a /, the file's location is relative to the the
### directory containing this file. If you don't specify an
### authz-db, no path-based access control is done.
### Uncomment the line below to use the default authorization file.
#去除注释
authz-db = authz
### This option specifies the authentication realm of the repository.
### If two repositories have the same authentication realm, they should
### have the same password database, and vice versa. The default realm
### is repository's uuid.
#修该其为版本库地址
realm = /opt/svn/myRespositories [sasl]
### This option specifies whether you want to use the Cyrus SASL
### library for authentication. Default is false.
### This section will be ignored if svnserve is not built with Cyrus
### SASL support; to check, run 'svnserve --version' and look for a line
### reading 'Cyrus SASL authentication is available.'
# use-sasl = true
### These options specify the desired strength of the security layer
### that you want SASL to provide. means no encryption, means
### integrity-checking only, values larger than are correlated
### to the effective key length for encryption (e.g. means -bit
### encryption). The values below are the defaults.
# min-encryption =
# max-encryption = 256
[root@localhost ~]#
#配置iptables端口
[root@localhost ~]# vi /etc/sysconfig/iptables # Generated by iptables-save v1.4.7 on Sat Jul ::
*filter
:INPUT ACCEPT [:]
:FORWARD ACCEPT [:]
:OUTPUT ACCEPT [:]
-A INPUT -p tcp -m tcp --dport -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
#加入这一句,将3690及svn默认使用的端口排除在外
-A INPUT -p tcp -m state --state NEW -m tcp --dport -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
#重启防火墙
[root@localhost ~]# service iptables restart
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: nat mangle filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
[root@localhost ~]#
#启动SVN
[root@localhost ~]# svnserve -d -r /opt/svn/myRepositories
#检测3690端口是否被占用
[root@localhost ~]# netstat -ln |grep 3690
tcp 0 0 0.0.0.0:3690 0.0.0.0:* LISTEN
#查看SVN进程
[root@localhost ~]# ps -ef|grep svn|grep -v grep
root Sep13 ? :: svnserve -d -r /opt/svn/myRepositories
#关闭SVN进程
[root@localhost ~]# killall svnserve