我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!


喜讯:国内、香港、海外云服务器租用特惠活动,2核/4G/10M仅需31元每月,点击抢购>>>

点击这里点击这里进入阿里云ECS官方页面,立即免费体验云服务器ECS>>>

点击这里阿里云老客户点击这里申请VIP账号,享终身8折优惠(续费也打折)>>>

Subversion(简称SVN)是一个开源的版本控制系统,通过分支管理系统,可以高效管理随时间改变的数据。本文介绍了如何部署和使用SVN。

SVN简介

SVN管理的数据存放在中央资料档案库(Repository)中。该档案库会记录文件的每一次变动,这样您就可以把数据恢复至旧版本或浏览文件的变动历史。SVN中常用的概念和操作如下:

  • Repository(源代码库):源代码统一存放的地方。

  • Checkout(提取):该操作用于从Repository中提取一份源代码到本地。

  • Commit(提交):该操作用于将修改后的代码提交到Repository。

  • Update(更新):该操作用于同步本地源代码与Repository中的源代码。

准备工作

创建用于部署SVN的ECS实例,具体操作,请参见自定义购买实例。

该实例必须满足以下条件:

  • 实例已分配公网IP地址或绑定弹性公网IP(EIP)。具体操作,请参见绑定EIP。

  • 操作系统:Alibaba Cloud Linux 3、Alibaba Cloud Linux 2、CentOS 7.x。

  • 实例规格:部署SVN服务所的实例规格与项目规格和团队规模有关,建议您使用4 vCPU、4 GiB以上的实例规格。

  • 实例安全组的入方向规则已放行22、80、443端口。具体操作,请参见添加安全组规则。

    说明

    svnserve模式还需要放行3690端口。

部署SVN

SVN有HTTP和svnserve两种访问模式,两种模式主要有以下区别。您可以根据业务需要,选择以下其中一种部署方式。




功能

HTTP模式

svnserve模式

协议

使用HTTP协议进行通信。

使用自定义的SVN协议进行通信。

访问方式

支持通过Web浏览器或者SVN客户端进行访问。

仅支持通过SVN客户端进行访问。

端口

使用80端口进行通信。

使用3690端口进行通信。

安全性

通过HTTPS进行加密通信。

默认使用明文通信,可以通过启用加密选项进行加密通信。

配置

需要在Web服务器上进行配置。

需要在SVN服务器上进行配置。

功能支持

支持更多的功能,比如权限管理、日志查看等。

相对简单,功能较少。

部署HTTP访问SVN

部署svnserve访问SVN

步骤一:安装SVN

  1. 远程连接安装SVN的Linux实例。

    具体操作,请参见通过密码或密钥认证登录Linux实例。

  2. 运行以下命令,安装SVN。

     

    sudo yum install -y subversion
  3. 运行以下命令,查看SVN版本。

     

    svnserve --version

    当回显类似如下所示时,说明SVN已安装。

    查看SVN版本

步骤二:安装Apache

  1. 运行以下命令,安装httpd。

     

    sudo yum install httpd -y
  2. 运行以下命令,查看httpd版本。

     

    httpd -version

    返回下图所示信息时,表示httpd服务已安装。

    image.png

步骤三:安装mod_dav_svn

mod_dav_svn是一个Apache HTTP服务器的模块,用于提供SVN(Subversion)版本控制系统的Web访问功能。

运行以下命令,安装mod_dav_svn。

 

sudo yum install mod_dav_svn -y

步骤四:配置SVN

  1. 依次运行以下命令,创建SVN版本库。

     

    sudo mkdir /var/svn
    cd /var/svn
    sudo svnadmin create /var/svn/svnrepos
  2. 运行以下命令,将SVN仓库的用户组修改为apache。

     

    sudo chown -R apache:apache /var/svn/svnrepos
  3. 依次运行以下命令,查看自动生成的版本库文件。

     

    cd svnrepos
    ls

    查看版本库文件

    Subversion目录说明如下表:



    目录

    说明

    db

    存放所有的版本控制数据文件。

    hooks

    放置hook脚本文件。

    locks

    用来追踪存取文件库的客户端。

    format

    一个文本文件,文件中只包含一个整数,表示当前文件库配置的版本号。

    conf

    SVN版本库的配置文件(版本库的访问账号、权限等)。

  4. 运行以下命令,增加SVN版本库的用户和密码。

    SVN默认使用明文密码,而HTTP并不支持明文密码,所以需要单独生成passwd文件。本示例中,增加用户userTest,密码设置为passWDTest。请根据实际情况选择并运行以下命令:

    根据提示设置用户的密码。

    • 如果您第一次增加用户,运行命令时需要带上参数-c生成文件。

       

      sudo htpasswd -c /var/svn/svnrepos/conf/passwd userTest
    • 如果您已经增加过用户,当后续还需要增加用户时,请运行以下命令。

       

      sudo htpasswd /var/svn/svnrepos/conf/passwd userTest
  5. 运行以下命令,进入conf目录下。

     

    cd /var/svn/svnrepos/conf/
  6. 设置账号的读写权限。

    1. 推荐:TOP云智能建站优惠活动,仅880元即可搭建一个后台管理五端合一的智能网站(PC网站、手机网站、百度智能小程序、微信小程序、支付宝小程序),独享百度搜索SEO优势资源,让你的网站不仅有颜值有排面,更有排名,可以实实在在为您带来效益,请点击进入TOP云智能建站>>>,或咨询在线客服了解详情。


我们已经准备好了,你呢?

2023我们与您携手共赢,为您的企业形象保驾护航!

在线客服
联系方式

热线电话

131-3501-0006

上班时间

周一到周五

公司电话

130-0743-9476

二维码
线