CentOS搭建SVN服务器,并通过Apache HTTP方式访问(转载至上品物语)

原作路径 : https://www.cnblogs.com/eczhou/p/7830936.html

 

摘要:本文主要讲述了在centos 6.5环境下搭建svn服务器,可通过svn:\\IP方式访问。同时由于部分公司内网端口限制,并不能访问外网的svn服务器,所以特地结合了apache服务器,使得可以通过http方式http://IP方式访问svn服务器。

环境准备:


centos版本:centos 6.5 64位

CentOS配置SVN服务器:


1、检查是否安装了低版本的SVN

1

rpm -qa subversion

2、卸载旧版本SVN

yum remove subversion

3、安装SVN

yum -y install subversion

4、建立SVN版本库

mkdir -p /home/用“用户名”替代/svn
svnadmin create /home/用“用户名”替代/svn

此处版本库名为svn,也可以是其它

5、配置代码库

进入“/home/用“用户名”替代/svn”文件夹下的conf下,进行配置

5.1、用户密码配置

编辑passwd,在[users]下添加用户名和密码

[users]
# harry = harryssecret
# sally = sallyssecret
root=password

5.2、编辑控制权限authz

目的是设置哪些用户可以访问哪些目录,向authz文件追加以下内容,包括一个组project_p,组下有一个用户root。使root用户对svn上所有项目拥有读写权限:

[groups] 
project_p = root
[/]
root=rw

若只希望某个用户对 某个项目有读、写、读写权限,可如下设置:

[/Project]
root=r

5.3、服务svnserve.conf配置

在[general]下追加如下内容

复制代码

#匿名访问的权限,可以是read,write,none,默认为read
anon-access=none
#使授权用户有写权限 
auth-access=write
#密码数据库的路径 
password-db=passwd
#访问控制文件 
authz-db=authz
#认证命名空间,subversion会在认证提示里显示,并且作为凭证缓存的关键字 
realm=/home/用“用户名”替代/svn

复制代码

6、启动SVN

svnserve -d -r /home/用“用户名”替代/svn

7、查看SVN进程

ps -ef|grep svn|grep -v grep

8、检测SVN端口

netstat -ln |grep 3690

9、停止重启SVN

killall svnserve    //停止 
svnserve -d -r /home/用“用户名”替代/svn  // 启动

10、测试

Windows客户端TortoiseSVN连接。地址为:svn://IP地址,输入配置好的用户名和密码。即可进行测试。

11、检出svn到指定目录

进入需要检出的目标目录,执行

svn checkout svn://IP/Project

 

配置Apache支持HTTP方式访问


1、如果没有安装apache服务,那么安装apache服务及对svn的支持

#apache服务器,让我们的svn 服务器支持http协议访问,而不仅是svn://协议
yum install httpd
#apache操作svn模块
yum install mod_dav_sv

2、修改配置文件/etc/httpd/conf.d/subversion.conf(没有则新建),內容为:

复制代码

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
 
<Location /svn>
    DAV svn
    SVNListParentPath on
    SVNPath /home/"用户名"/svn
    AuthType Basic
    Satisfy Any
    AuthName "Subversion repos"
    AuthUserFile /home/"用户名"/svn/conf/accesspwd
    AuthzSVNAccessFile /home/"用户名"/svn/conf/authz
    Require valid-user
</Location>

复制代码

3、创建accesspwd 文件

htpasswd   -c -m /home/"用户名"/svn/conf/accesspwd root

4、让apache用户对”/home/“用户名“/svn″目录拥有写权限。

#将用户apache加入root组
usermod -a -G root apache
#让group对/home/"用户名"/svn目录也有写权限
chmod -R g+w /home/"用户名"/svn
#查看apache用户属于的组
groups apache

5、开启httpd服务

service httpd restart

现在就可以通过”http://ip/svn″来访问我们的svn 服务器了

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值