Linux下SVN服务器支持Apache的http和svnserve独立服务器

说明

    服务器操作系统: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 = sallyssecret
pengqiang=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,none
anon-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: svn
svn_bin=/usr/bin
svn_port=3690
svn_home=/home/svn
svn_config=/home/svn/conf/svnserve.conf

if [ ! -f "$svn_bin/svnserve" ]
then
 echo "svnserver startup: cannot start"
 exit
fi
case "$1" in
start)
 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 1
esac
: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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值