设为首页加入收藏
群晖首页图片
网站标志
新闻详情
 
当前位置
新闻搜索
 
 
如何在 Synology NAS 上启动基于 Docker 的 SVN Server
作者:管理员    发布于:2019-04-22 18:09:25    文字:【】【】【

总览

本教程将引导您了解如何启动基于 Docker 映像的 SVN Server。我们使用的映像是 marvambass/subversion,此 SVN Server 映像支持通过安全的 SSL 访问 Apache(请先行安装 Apache)。我们还使用 iF.SVNAdmin 这个 Web GUI,让您可以更方便地管理存储库和用户/群组权限。

目录

  1. 开始之前的准备
  2. 修改 Docker 映像 marvambass/subversion
  3. 根据 marvambass/subversion 建立您自己的 Docker 映像
  4. 启动和设置 SVN Server
  5. 将存储库迁移到基于 Docker 的 SVN Server

1.开始之前的准备

在启动基于 Docker 的 SVN Server 之前,请确保已设置目录并完成以下任务:

  1. 安装 Docker 套件,并在您的 Synology NAS 上启用 SSH 服务。
  2. 在您的计算机上安装 PuTTY 或类似工具,并在您的计算机和 NAS 之间建立连接以运行 SSH。
  3. 在您的 Synology NAS 上设置一个符合以下 SVN Server 项目结构的目录。

    build 目录包含用于建立您自己的映像的 Dockerfile,以及用于取代 marvambass/subversion 中的原始配置的 dav_svn.conf。我们将使用映像内的 iF.SVNAdmin 来管理新的 SVN Server。start.sh 是用于启动 SVN Server 的脚本。
  4. 此处下载 iF.SVNAdmin 的源代码。

上述文件的代码示例:

dav_svn.conf

<Location /svn/>
DAV svn
SVNParentPath /var/local/svn/
SVNListParentPath on
AuthzSVNAccessFile /etc/apache2/dav_svn/dav_svn.authz
Satisfy any
Require valid-user
AuthType Basic
AuthName "Subversion"
AuthUserFile /etc/apache2/dav_svn/dav_svn.passwd
</Location>

Dockerfile

FROM marvambass/subversion
MAINTAINER user
ADD dav_svn.conf /etc/apache2/mods-available/dav_svn.conf
ADD iF.SVNAdmin/ /var/www/html/svnadmin/
RUN chmod 777 /var/www/html/svnadmin/data/
RUN sed -i '/svn-project-creator/c\' /etc/crontab
RUN sed -i '/svn-backuper/c\' /etc/crontab

start.sh

#!/bin/sh
SVN_ROOT_PATH=/volume1/docker/svn
REPO_PATH="$SVN_ROOT_PATH"/repos
DAV_SVN_CONF="$SVN_ROOT_PATH"/dav_svn

mkdir -p "$REPO_PATH" "$DAV_SVN_CONF"
touch "$DAV_SVN_CONF"/dav_svn.authz "$DAV_SVN_CONF"/dav_svn.passwd
chmod 666 "$DAV_SVN_CONF"/dav_svn.authz "$DAV_SVN_CONF"/dav_svn.passwd

docker run \
-d \
-v "$REPO_PATH":/var/local/svn \
-v "$DAV_SVN_CONF":/etc/apache2/dav_svn/ \
-p 40080:80 \
-p 40443:443 \
--name my_svn svn-server \

2.修改 Docker 映像 marvambass/subversion

如果要修改 Docker 映像,可尝试以下方法来修改 dav_svn.conf 和 Dockerfile 的框架。

  1. dav_svn.conf
    这是用于 SVN 配置的文件。我们使用 AuthType Basic 来验证用户帐户。如果要使用原始映像中的 AuthType Digest,请单击服务器配置以了解更多详细信息。
  2. Dockerfile
    Docker 可以通过读取 Dockerfile 的指令来自动构建 SVN 映像。如果要自定义配置,请进入 GitHub 了解更多详细信息。

3.根据 marvambass/subversion 建立您自己的 Docker 映像

修改完成后,键入以下脚本来构建您自己的 SVN 映像。

cd build
docker build -t svn-server .

这会构建一个名为 svn-server 的映像,只需键入 docker images 就能看到。

4.启动和设置 SVN Server

键入 bash start.sh 以运行脚本。容器开始运行后,您可以通过以下 URL 访问 iF.SVNAdmin

http://your_nas_ip:40080/svnadmin/
https://your_nas_ip:40443/svnadmin/

首次使用此 SVN Server 时,您需要先设置 iF.SVNAdmin 。请按照下图进行设置。

注:

  • iF.SVNAdmin 还支持 LDAP 身份验证。要了解更多信息,请单击服务器配置
  • 您还可以在路径 /var/www/html/svnadmin/data/config.ini 中更改容器的设置。要了解更多信息,请访问 iF.SVNAdmin。您还可以通过基于 Web 的 GUI 添加、删除、列出存储库、用户和权限。
  • start.sh 是一个简单脚本,用于设置和启动名为 my_svn 的 SVN Server 容器。

5.将存储库迁移到基于 Docker 的 SVN Server

在此,您会了解如何从套件中心的 SVN Server 将现有存储库迁移到基于 Docker 的 SVN Server。SVN Server 中的每个存储库都有各自的密码和身份验证文件。但是,因为基于 Docker 的 SVN Server 映像默认设置有全局密码和身份验证文件,原有密码和身份验证文件不会被迁移。

  1. 进入 NAS 上的 SVN Server 以查找您的存储库。例如,在本教程中,repo1 是存储库,且其在 Tortoise SVN 中存在两个 repo1 版本(可通过 SVN 客户端找到修订历史记录的信息)。

  2. 通过基于 Web 的 GUI 添加新的存储库 repo1_on_docker
  3. 通过 SSH 登录您的 Synology NAS,并运行以下命令来查找 SVN Server 的 CONTAINER ID
    docker ps
  4. 使用以下 CONTAINER ID 来访问容器:
    docker exec -it CONTAINER ID bash
  5. 将旧版 SVN Server 上的存储库导出到容器中的文件:
    svnrdump dump --username aaa svn://nas_ip/repo1 > /var/tmp/ori.dump
  6. 将文件导入新的存储库 repo1_on_docker
    svnadmin load --force-uuid /var/local/svn/repo1_on_docker/ < /var/tmp/ori.dump
  7. 可通过以下 URL 访问存储库:
    http://your_nas_ip:40080/svn/repo1_on_docker/
    https://your_nas_ip:40443/svn/repo1_on_docker/

SVN 客户端将在迁移存储库之前自动检查新旧存储库的 UUID。因此,请使用相同的 UUID 并添加 --force-uuid 以防启动失败。



  ---------------------------------------------------------------------------------------------------

 

 IT解决方案:

   文件共享、私有云盘、企业网盘  解决方案

   存储雷电MAS/DAS /SAN/JBOD/IPSAN ISCSI 解决方案

   企业级存储 解决方案

   备份 容灾 数据保护系统 解决方案

   防勒索病毒解决方案


  NAS 应用场景:完美解决文件共享/文件分享问题,替代传统文件服务器

  NAS网络存储 文件NAS存储 PC备份 服务器备份 数据库备份

 磁带库 灾备 灾难备份 不同 备策略建立独立的备份作业, 文件备份 系统备份 数据库备份 虚机备份

非结构化数据的备份

群晖备份一体机 适用于的企级备份软件有:

(acronis 安克诺斯 /veeam卫盟/veritas华睿泰/commvault 慷孚沃德 /arcserver )

  PHD virtual , Nakivo, IBM spectrum protect , (TSM) HP data protector

  DELL  EMC Networker  RecoverPoint 、Quest 、 veritas system recovery 18

虚拟数据保护方案:RTO 小于2分钟

虚拟机备份解决方案:无代理备份方案、oVirt 备份方案,Ovirt虚拟化备份,

VMware vSphere 备份方案、Citrix XenServer备份方案、RedHat RHV备份方案、、Ovirt备份方案、、H3C CAS备份方案、、Openstack备份方案、、华为 FusionSphere备份方案、、中科睿光 SVM备份方案、、深信服 HCI备份方案、、云宏CNware备份方案、、浪潮 InCloud Sphere备份方案、、中标麒麟高级服务器虚拟化备份方案、、噢易服务器虚拟化备份方案、

 兼容国内备份软件:联鼎,精容数安,鼎甲,火星仓,合力记易UPM,浪擎,爱数 云祺 盛思睿,备份与恢复


 西南NAS存储总分销:威联通 qnap, 色卡司thecus,infotrend普安, 华芸asustor qsan, 海康hikvision IPsan ,大华 dahua IPsan铁威马TerraMaster,Freenas,  EMC,netapp,  

NAS专用硬盘:  seagate 希捷 酷狼ironwolf ,锡捷seagateironwolf 酷狼pro  

                            WD westdigital 红盘  

黑群晖无法升级,易丢失数据,建议用白群晖,黑群晖洗白

产品:国行原装正品, Synology群晖科技官网

synology partner:

深圳市凯洛蜜贸易有限公司

深圳国亿国际贸易有限公司(深圳国亿国际)

世平伟业国际贸易(上海)有限公司(上海世平伟业)

群晖官网:synology inc , 群晖科技官网 

服务区域:四川群晖 成都群晖 西藏群晖  重庆群晖贵州群晖 贵阳群晖 云南群晖  昆明群晖 

NAS品类:存储服务器,NAS网络存储服务器,群晖NAS网络存储,synology nas  ,网络附加存储, nas存储器, nas服务器,企业级网络存储器,网络存储器,NAS云存储,网络存储池

私有云存储


 群晖配件:群晖钥匙, 群晖硬盘钥匙,群晖硬盘托架钥匙,  
                    群晖网卡, 群晖万兆网卡,  群晖内存, 群晖电源, 群晖主板


 群晖售后:
群晖客服、群晖官网客服电话 

                  

       群晖技术支持电话 群晖nas售后客服电话 群晖售后电话 群晖存储盘客服电话


       群晖售后电话400 群晖售后服务电话 群晖nas客服电话 群晖nas售后电话


维修:群晖保修保内保外维修  群晖保修 群晖维修,亚马逊海淘的群晖保修

               港版群晖维修,系列号查询是否过保,系列号查询是否在保


群晖数据恢复:  服务器数据恢复 raid数据恢复  nas数据恢复   希捷数据恢复  西数硬盘恢复  seagate 数据恢复  WD数据恢复 群晖硬盘数据恢复 


 代理体系:synology群晖全国总代理、synology群晖国代,synology群晖总代理,synology群晖总分销商、synology群晖授权经销商、synology群晖官方代理商)方案适用机型:

2019出品-19系列

ds1019+, DS1219+ ,UC300 RackStation

18-系列FS1018RS3618xsDS3018xsRS2818RP+RS2418(RP)+RS818(RP)+DS918+DS718+DS418DS418playDS218+DS218playDS418jDS218DS218jDS118、NVR1218

17-系列FS3017、FS2017、RS18017xs+、RS4017xs+、RS3617xs+、RS3617RPxs、RS3617xs、RS217、DS3617xs、DS1817+、DS1517+、DS1817、DS1517、扩展柜:417sas、RX1217sas、RX1217、DX517;

16-系列:RS18016xs+、RS2416RP+、RS2416+、DS916+、DS716+II、DS716+、RS816、DS416、DS416play、DS416slim、DS416j、DS216+II、DS216+、DS216play、DS216、DS216j、DS216se、DS116、NVR216、群晖扩展柜 RX1216sas;

15-系列RC18015xs+DS3615xsDS2015xsRS815(RP)+DS2415+DS1515+DS415+RS815DS1515DS715DS415playDS215+DS215jDS115DS115jDS1815+

14-系列RS3614xs+RS2414(RP)+RS814(RP)+RS814DS414DS214+DS214playRS214DS414jDS414slimDS214DS214seDS114EDS14

13-系列RS10613xs+RS3413xs+DS2413+DS1813+DS1513+DS713+DS413DS213+DS413jDS413jDS213DS213jDS213air

12-系列DS112、DS112j、DS112+、DS212、DS212j、DS212+、DS412+、DS712+、DS1512+、DS1812+、DS3612xs、RS212、RS812、RS812+、RS812RP+、RS2212+、RS2212RP+、RS3412RPxs、RS412xs、RS412RPxs;

11-系列

DS1511+、ds2411+, RS3411xs、RS3411RPxs、DS3611xs,扩展箱 DX1211、rx1211rp+, rs411

RS2211(RP)+,RS3411(RP)xs,RX1211(RP)

10-系列:DS1010+,DS710+,RS810(RP)+, ,rx410

09-系列

ds509+ ,rs409,rs409RP+,rx4


早期系列:ds-101 

群晖配件:

M2D17 ,synology 群晖监控许可证


成都科汇科技有限公司 --- 专业数据备份服务商

无论您的IT架构是 本地化、云端、还是混和云 都能提供一站式数据备份方案。

京东群晖synology  天猫群晖 线下代理售后维修服务站

四川成都群晖官方授权核心代理商(企业级服务商)

四川成都群晖synology解决方案中心

四川成都群晖synology体验中心

四川成都synology群晖线下实体店

四川成都群晖synology售后维修中心

四川成都群晖synology官方授权专卖店

成都科汇科技有限公司

地址:成都市人民南路四段1号时代数码大厦18F

群晖电话:400-028-1235(群晖400)

QQ:     2231749852

手机:138 8074 7621(微信同号)

微信公众号:群晖Synology技术中心

脚注备案信息
群晖技术群