centos7下svn服务器搭建并配置http

SVN服务器的搭建
1、安装SVN服务器
# yum install mod_dav_svn subversion
2、查看SVN服务器是否安装成功
# ls /etc/httpd/modules/ | grep svn  
mod_authz_svn.so  
mod_dav_svn.so  

# svn --version(查看SVN版本信息)
svn, version 1.7.14 (r1542130)
...
3、创建SVN资源库目录
# mkdir -p /svn_repos
4、创建SVN资源库项目
# mkdir -p /svn_repos/project_1
# svnadmin create /svn_repos/project_1

在/svn_repos/project_1目录下会生成以下配置文件

[root@localhost project_1]# ls
conf  db  format  hooks  locks  README.txt
conf
  |-authz文件是权限控制文件  
  |-passwd是帐号密码文件  
  |-svnserve.conf SVN服务配置文件 
5、修改配置文件
# vim /svn_repos/project_1/conf/svnserve.conf 进行如下配置

[general]
# 非鉴权用户没有权限
anon-access = none
# 鉴权用户有写权限
auth-access = write
# 指定用户名口令文件名
password-db = passwd
# 指定权限配置文件名
authz-db = authz

# vim /svn_repos/project_1/conf/passwd 进行如下配置

passwd:
[users]
# 配置了一个用户 用户名为admin密码为admin
admin=admin

# vim /svn_repos/project_1/conf/authz 进行如下配置

authz:
[groups]
[/]
# 为admin用户配置读写权限
admin = rw
6、启动SVNServer服务
# svnserver -d -r /svn_repos

使用svn co svn://localhost/projetc_1,测试是否正常

7、创建http服务访问svn服务器

安装httpd

# yum install httpd httpd-devel  
# service httpd start  
# chkconfig httpd on  

# vi /etc/httpd/conf/httpd.conf   
找到 ServerName 并修改成 ServerName localhost:80  

禁用firewalld和selinux,否则会出现http访问错误

<D:error>  
<C:error/>  
<m:human-readable errcode="13">Could not open the requested SVN filesystem</m:human-readable>  
</D:error>

修改httpd配置文件

httpd的默认的配置文件为/etc/httpd/conf/httpd.conf  

1.先备份一下,防止改错  
cp httpd.conf httpd.conf.bak  

2.修改  
找到文件的'LoadModule'  
在该附近加载mod_dav和mod_dav_svn模块的配置:  
LoadModule dav_module modules/mod_dav.so  
LoadModule dav_svn_module modules/mod_dav_svn.so  
3.在  /etc/httpd/conf.d下创建project1_svn.conf配置文件加入以下内容
<Location /project_1>  
    DAV svn  
    SVNParentPath  /svn_repos/project_1
    # Authentication: Basic  
    AuthName "Subversion repository"  
    AuthType Basic  
    AuthUserFile /etc/httpd/svn-auth.htpasswd  
    # Authorization: Authenticated users only  
    <LimitExcept GET PROPFIND OPTIONS REPORT>  
        Require valid-user  
    </LimitExcept>  
</Location>  

<Location /projetc_1>中的"/project_1"表示我们的svn的访问URL为"http://ip/project_1"  
DAV svn表示使用"mod_dav_svn"模块 dav是一种http 1.1扩展协议 mod_dav_svn只是该协议的一种应用  
SVNParentPath /svn_repos/project_1表示服务"http://ip/project_1"请求时 使用"/svn_repos/project_1"路径下相应的内容
<以下内容可以不加>
AuthName 表示输入用户名和密码时的提示信息  
AuthType 认证类型 这里我们使用基本的认证类型  
AuthUserFile 表示认证文件的位置 我们待会创建它  
LimitExcept 节点指示只对写请求需要用户认证  

4.创建svn-auth.htpasswd 文件
htpasswd -c -m /etc/httpd/svn-auth.htpasswd root  

按提示输入两次密码,我们就创建了一个'root'  

重启Apache访问Http服务

# service httpd restart  

现在就可以通过”http://ip/project_1“ 来访问我们的svn服务器project_1项目库了
如果想创建多个项目,可以根据上面步骤新建一个

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值