一、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉

SELINUX=disabled #增加

:wq! #保存退出

setenforce 0 #使配置立即生效

二、开启防火墙端口

基于Apache的http模式,默认端口为80

基于svnserve的独立服务器模式,默认端口为3690

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 3690 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

service iptables restart #最后重启防火墙使配置生效

三、Apache安装

yum install httpd apr apr-util httpd-devel #安装Apache

yum install mod_dav_svn mod_auth_mysql #安装基于Apache的http模式访问的支持模块

chkconfig httpd on #设置开机启动

service httpd start #启动Apache

httpd -version #查看Apache版本信息

cd /etc/httpd/modules/

#查看是否有mod_dav_svn.so和mod_authz_svn.so模块,如果有,说明mod_dav_svn安装成功!

#mod_auth_mysql模块是用数据库存储账号信息,本次教程没有涉及,可以不安装!

注意:如果Apache启动之后提示错误:

httpd:httpd: Could not reliably determine the server's fully qualif domain name, using ::1 for ServerName

解决办法:

vi /etc/httpd/conf/httpd.conf #编辑

ServerName www.example.com:80 #去掉前面的注释

:wq! #保存退出

四、安装SVN

1.安装svn yum install -y subversion

2验证是否成功安装 svnserve –version

1,配置SVN

mkdir -p /home/svn #创建svn版本库存放目录

cd /home/svn #进入目录

svnadmin create /home/svn/repo  创建svn仓库

cd /home/svn/repo/conf   修改 authz    passwd   svnserve.conf  这三个文件的内容

vi /home/svn/conf/passwd

[users]

test=123456

vi /home/svn/conf/authz 

[groups]

team=test,test1

[repo:/]

@team = rw

vi /home/svn/conf/svnserve.conf #配置全局文件,在最后添加以下代码

[general]

anon-access=none #禁止匿名访问,设置为none。默认为read,参数:read,write,none

auth-access=write #授权用户写权限

password-db=passwd #用户账号密码文件路径,可以写绝对路径

authz-db=authz #访问控制权限文件路径,可以写绝对路径

realm=svn #每个SVN项目的认证命,会在认证提示里显示,建议写项目名称。

五、SVN的启动

svnserve -d -r /home/svn

如果修改上面三个文件的参数了,请走以下流程

ps -ef|grep svn|grep -v grep #查看进程

netstat -ln |grep 3690 #检查端口

killall svnserve #关闭svn

svnserve -d -r /home/svn

六、配置svn支持http访问

1.htpasswd -cm /home/svn/repo/conf/http_passwd test

2、设置Apache配置文件

vi /etc/httpd/conf.d/subversion.conf #编辑,在最后添加以下代码

<Location /svn>

DAV svn

#SVNPath /home/svn

SVNParentPath /home/svn

# # Limit write permission to list of valid users.

# <LimitExcept GET PROPFIND OPTIONS REPORT>

# # Require SSL connection for password protection.

# # SSLRequireSSL

#

AuthType Basic

AuthName "Authorization SVN"

AuthzSVNAccessFile /home/svn/repo/conf/authz

AuthUserFile /home/svn/repo/conf/http_passwd

Require valid-user

# </LimitExcept>

</Location>

3、设置目录权限

chown apache:apache /home/svn -R 

4、重启网络服务

/etc/init.d/httpd  restart

登录:

svn://192.168.56.103/repo

http://192.168.56.103/svn/repo

SVN常用命令:http://os.51cto.com/art/200908/143157_all.htm

http://www.cnblogs.com/zhenjing/archive/2012/12/22/svn_usage.html