一、关闭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