svn深度使用

    svn,源代码管理工具,我就不多介绍了,网上一大堆。下面写一些我最近的对svn开发的过程,一些心得与体会。

    都知道,svn服务器一般建在linux端,c端只有一个小乌龟,也挺好用的,最近发现有对svn的网页支持,就搞搞。

当我们在用小乌龟的时候,一般使用的时候是svn的协议,现在配置的是http协议,支持http下载与上传。

 

svn转http

分为以下几个步骤:

1.安装apache服务,在linux端安装svn服务

2.编辑httpd配置文件

~]# vi /etc/httpd/conf/httpd.conf

      <Location /svn>               //这一行是定义在网页端输入http://xxx.xxx.xx.x/svn/库,这个svn是基础库,必须要有
        DAV svn
        SVNParentPath /var/www/svn/        //暂时没有该路径目录,后面会新建,也可以自己定义;
        AuthType Basic
        AuthName "SVN Repository"
        AuthUserFile /etc/svn-auth-accounts                 //用户认证文件建立后,http连接时的用户名和密码储存文件,svn本身的密码用户配置将不再生效
        Require valid-user
      </Location>

3.创建svn用户

利用httpd包生成的命令“htpasswd”来创建:

    ~]# htpasswd -cm /etc/svn-auth-accounts adrian    //把用户名“adrian”换成自己定义的用户名

说明:选项“-c”是用来创建密码文件/etc/svn-auth-accounts;

       选项“-m”是用来给用户创建MD5加密密码;

    注意:如果创建第二个用户时,请勿使用“-c”选项,否则会重新生成文件并覆盖原文件;

4.创建并配置svn库

mkdir /var/www/svn

cd  /var/www/svn

svnadmin create repo

chown -R apache. repo/

注意:在创建版本库的目录是,所在的路径一定要是普通用户能够访问的权限,否则,就会有权限限制

5.启定httpd并加入开机启动

systemctl restart httpd

systemctl enable httpd

6.通过浏览器登录

在浏览器输入:http://IP/svn/repo

svn 解决You don't have permission to access /svn/ on this server

用./htpasswd 添加用户后,设置相应的权限,使用浏览器访问提示You don't have permission to access /svn/ on this server

检查配置文件也没有问题,查看apache的error.log日志

发现一条错误提示:

Faied to load the AuthzSVNAccessFIle :Section header expected

解决办法:将权限配置文件的BOM去掉即可。

 

  1. 对于多项目库的情况,需要加上AuthzSVNAccessFIle 这个选项,否则权限设置不会生效,加上该选项以后,记得一定要将你的用户进行权限配置,否则,你是不能查看的,就会报1提到的问题。
  2. 用户的权限的设置和组的权限设置一定要一直,否则,优先组的权限生效

 

 

  1. 那么现在,httpd.conf中Location区块的就变成这个样子了(单仓库没有SVNParentPath,SVNListParentPath,AuthzSVNAccessFile,只有SVNPath):
    <Location /svn> #/svn这个名字可以随便换,换成/也是可以的,只要自己感觉方便
    DAV   SVN
    SVNListParentPath  on
    SVNParentPath   /svn/svnroot
    AuthType  Basic
    AuthName  ”Subversion repository”
    AuthUserFile  /svn/passwd.conf
    Require   valid-user
    AuthzSVNAccessFile /svn/authz.conf
    </location>

各字段的解释:

主要配置语句如下:
<Location /svn>    意思是Subversion版本可的URL是http://MyServer IP/svn/
DAV  svn    告诉Apache是哪个模块响应哪个URL的请求,在这里是SubVersion模块
SVNPath  /path   单版本库时使用此项指明版本库的路径,但是在多版本库中不要使用此项
SVNListParentPath  on   对于SubVersion1.3或更高的版本,这个指示会列出所有SVNParentPath中的版本库
SVNParentPath /path   告诉Subversion需要查看的版本库位于/path之下
SVNIndexXSLT    “/svnindex.xsl”  使用它可以在用浏览器浏览时更好看
AuthType        Basic   激活基本认证,就是用户名和密码
AuthName “Subversion repository” 用来说明何时弹出要求用户输入认证信息的认证对话框
AuthUserFile   /path/passwd.conf 指定使用的认证密码文件
AuthzSVNAccessFile /path/authz.conf 位置,Subversion版本库的访问控制文件的路径
Require  valid-user  指定只有输入了正确的用户名和密码的用户可以访问URL
</Location>

 

if.svnadmin

if.svnadmin是一个对svn进行网页配置的项目,使用php开发

我使用的是centos7的最小化安装,所以安装这个还需要安装gcc,g++,svn,php,apache,所以我又安装了这几个软件的所有依赖,将其依赖封装成一个安装包,安装时只需要一起安装就好了,安装好就可以使用了。

并且在对php进行了修改。

  1. 配置好if.svnadmin后,需要使用小乌龟,http的协议进行上传下载操作,这个时候路径需要注意,

在配置svnadmin时,http://192.168.1.60/svn/fa

这个格式里面,http://192.168.1.60/svn时固定的,必须有svn,而svn后面跟的才是你创建的版本库,这一点需要注意

       2.web访问if.svnadmin和访问svn版本库内容是不一样的,

访问svnadmin的网址为:http://192.168.1.60/svnadmin/

访问svn版本库内容网址为:http://192.168.1.60/svn/fa/

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WenCoo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值