说明
服务器操作系统:CentOS 6.6
关闭防火墙,SElinux
实现
1、在服务器上安装配置SVN服务;
2、SVN服务支持svnserve独立服务模式访问;
3、SVN服务支持Apache的http模式访问。
一、安装
1.安装apache
#安装Apache$ yum install httpd #设置开机启动$ chkconfig httpd on #启动Apache$ service httpd start#查看Apache版本信息$ httpd -version
2.安装subversion
#使用yum命令在线安装$ yum install subversion #查看svn版本信息$ svnserve --version
3.配置svn
1)创建svn版本库
#创建svn版本库存放目录$ mkdir -p /home/svn $ cd /home/svn#创建svn版本库project$ svnadmin create /home/svn/project
2)设置配置文件
#创建配置文件目录$ mkdir -p /home/svn/conf #拷贝账号密码配置文件模板$ cp /home/svn/project/conf/passwd /home/svn/conf/passwd #拷贝目录权限配置文件模板$ cp /home/svn/project/conf/authz /home/svn/conf/authz #拷贝全局配置文件模板$ cp /home/svn/project/conf/svnserve.conf /home/svn/conf/svnserve.conf
#编辑passwd文件$ vim /home/svn/conf/passwd [users]# harry = harryssecret# sally = sallyssecretpengqiang=123456:wq! #保存退出#编辑authz文件$ vim /home/svn/conf/authz [groups]admin=pengqiang[/]@admin = rw* =:wq! #保存退出#配置svnserve.conf全局文件$ vim /home/svn/conf/svnserve.conf [general]#禁止匿名访问,设置为none。默认为read,参数:read,write,noneanon-access=none #授权用户写权限auth-access=write #用户账号密码文件路径,可以写绝对路径password-db=/home/svn/conf/passwd #访问控制权限文件路径,可以写绝对路径authz-db=/home/svn/conf/authz #每个SVN项目的认证命,会在认证提示里显示,建议写项目名称realm=svn :wq! #保存退出
4.启动SVN
#启动svnserve服务,--config-file后面跟全局配置参数文件$ svnserve -d -r /home/svn --config-file /home/svn/conf/svnserve.conf --listen-port 3690#关闭svnserve$ ps -ef|grep svn|grep -v grep #查看进程$ netstat -ln |grep 3690 #检查端口$ kill -9 线程$ killall svnserve #关闭svn
5.设置svn服务开机启动
#编辑,添加以下代码$ vi /etc/init.d/svn #!/bin/sh# processname: svnsvn_bin=/usr/binsvn_port=3690svn_home=/home/svnsvn_config=/home/svn/conf/svnserve.confif [ ! -f "$svn_bin/svnserve" ]then echo "svnserver startup: cannot start" exitficase "$1" instart) echo "Starting svnserve..." $svn_bin/svnserve -d -r $svn_home --config-file $svn_config --listen-port $svn_port echo "Successfully!";;stop) echo "Stoping svnserve..." killall svnserve echo "Successfully!";;restart) $0 stop $0 start;;*)echo "Usage: svn { start | stop | restart } "exit 1esac:wq! #保存退出
$ chmod +x /etc/init.d/svn #添加执行权限
$ chkconfig svn on #开机自启动
$ service svn start #启动
二、配置svn支持http访问
1、创建账号密码认证文件
$ htpasswd -cm /home/svn/conf/http_passwd pengqiang
根据提示输入2次密码即可。
注意:
/home/svn/conf/目录下面passwd文件是svnserve独立服务器使用的认证文件,密码没有加密,明文显示。
/home/svn/conf/目录下面http_passwd文件是Apache的http模式使用的认证文件,密码使用MD5加密。
passwd和http_passwd文件中,账号密码必须设置相同。
2、设置Apache配置文件
$ vim /etc/httpd/conf.d/subversion.conf
#编辑,在最后添加以下代码
<Location /svn>
DAV svn
#SVNPath /home/svn
SVNParentPath /home/svn
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /home/svn/conf/authz
AuthUserFile /home/svn/conf/http_passwd
Require valid-user
</Location>
:wq! #保存退出
3、设置目录权限(重要,否则http无权限访问svn服务)
#设置svn目录所有者为Apache服务运行账号apache
$ chown -R apache:apache /home/svn
4、重启Apache服务
$ service httpd restart
三、测试
1.TortoiseSVN工具验证
Windows下安装svn客户端TortoiseSVN。
TortoiseSVN下载地址:http://tortoisesvn.net/downloads.html
安装完成之后,桌面-右键单击,选择TortoiseSVN-版本库浏览器
URL输入:svn://192.168.xxx.xxx/project
用户名:pengqiang
密码:123456
2.浏览器验证http
URL输入:http://192.168.xx.xxx/svn/project
参考:http://www.osyunwei.com/archives/9145.html