You need to enable JavaScript to run this app.
导航

HTTP模式部署和访问SVN

最近更新时间2023.12.26 11:14:41

首次发布时间2023.07.18 19:38:26

本文将介绍通过HTTP模式来部署和访问SVN。

实验介绍:

本教程向大家介绍,如何通过HTTP模式来部署和访问SVN。在实验正式开始之前,请先完成以下准备工作:

  • 购买Linux实例。具体操作步骤可参考购买云服务器

  • 确保您已经为您的Linux实例绑定了公网IP,若暂未绑定,可参考绑定公网IP

  • 在实例安全组入方向添加规则并放行SVN默认端口3690。

关于实验:

预计部署时间:30分钟
级别:初级
相关产品:云服务器
受众:通用

操作步骤:

步骤一:安装SVN及mod_dav_svn

  1. 执行yum install subversion -y命令,安装SVN;

  2. 执行svnserve --version命令,查看SVN版本。出现如下回显,表明安装成功;

  1. 执行yum install mod_dav_svn -y命令,安装svn模块。

步骤二:安装Apache

  1. 执行yum install httpd -y命令,安装httpd;

  2. 执行httpd -version命令,查看httpd版本。出现如下回显,表明安装成功。

步骤三:配置SVN

  1. 依次执行以下命令,创建SVN版本库;
mkdir /var/svn //创建svn目录
cd /var/svn
svnadmin create /var/svn/svnrepos //创建名为svnrepos的SVN版本库
chown -R apache:apache /var/svn/svnrepos //修改SVN仓库的用户组为apache
cd svnrepos
ls //查看自动生成的版本库文件

  1. 执行htpasswd -c /var/svn/svnrepos/conf/passwd userTest命令,新增名为userTest的新用户。出现如下回显,表明新增用户成功;

当后续还需要新增用户时,可执行命令:htpasswd **/**var/svn/svnrepos/conf/passwd userTest

  1. 依次执行以下命令配置conf文件;
cd /var/svn/svnrepos/conf/
vi authz  //执行该命令后向文件末尾添加以下内容

[/]
userTest=rw
  1. 修改SVN服务配置

    1. 执行命令vi svnserve.conf命令,打开SVN配置文件,并将以下内容取消注释;
    anon-access = read #匿名用户可读,您也可以设置 anon-access = none,不允许匿名用户访问。设置为 none,可以使日志日期正常显示
    auth-access = write #授权用户可写
    password-db = passwd #使用哪个文件作为账号文件
    authz-db = authz #使用哪个文件作为权限文件
    realm = /var/svn/svnrepos #认证空间名,版本库所在目录
    

    1. 依次执行以下命令,启动SVN版本库。
    svnserve -d -r /var/svn/svnrepos //启动命令直接指定到版本库
    ps -ef | grep svn //查看SVN服务是否开启
    

步骤四:配置Apache

  1. 执行vim /etc/httpd/conf.d/subversion.conf命令,新增并编辑httpd配置文件,并输入以下配置信息;
<Location /svn>
DAV svn
SVNParentPath /var/svn
AuthType Basic
AuthName "Authorization SVN"
AuthzSVNAccessFile /var/svn/svnrepos/conf/authz
AuthUserFile /var/svn/svnrepos/conf/passwd
Require valid-user
</Location>
  1. 执行systemctl start httpd.service命令,查看httpd服务是否开启,出现如下回显,表明服务正常开启。

步骤五:本地浏览器验证访问

  1. 打开本地浏览器,并输入http://<ECS实例公网IP>/svn/<SVN版本号>,本实验中的SVN版本号为svnrepos。出现如下回显表明地址可达;

  1. 根据提示输入用户名和密码。出现如下回显,表明成功访问之间新建的svn版本库了。


至此,在ECS实例上部署HTTP访问SVN就结束了。
如果您有其他问题,欢迎您联系火山引擎技术支持服务