Installer un serveur Subversion sur Synology DSM 7

Avec la sortie de DSM en version 7, le paquet SVN Server permettant d’installer un serveur subversion sur un NAS Synology n’est plus supporté.

Pour ceux utilisant ce paquet sous DSM en version 6, il existe plusieurs solutions permettant d’outrepasser ce problème (passage à git, utiliser un serveur subversion externe, etc …) et donc d’envisager la mise à jour de DSMv6 vers DSMv7.

Dans cet article nous allons étudier une solution consistant à installer un conteneur docker pour faire tourner un serveur subversion sur le NAS Synology (à condition bien sûr, que votre NAS supporte l’installation du paquet Docker).
Nous verrons ensuite comment transférer les repositories subversion gérés via le paquet officiel SVN Server vers notre serveur nouvellement installé.

Installation d’un serveur SVN via Docker sur Synology DSM

Tout d’abord, si cela n’est pas encore fait, nous allons installer le paquet Docker depuis le Centre des Paquets de DSM.

Nous allons ensuite créer un répertoire svn sous le répertoire docker. Puis nous ferons trois répertoires qui nous servirons à rendre persistant les données du conteneur.

 

Nous allons ensuite lancer l’application Docker et y télécharger l’image clamy54/svn-svnadmin:latest.

Il s’agit d’une image basée sur ubuntu 20.04 LTS comportant les outils subversions ainsi qu’une interface web permettant d’administrer l’organisation de nos repositories subversion.

Nous allons ensuite créer le conteneur associé :

Puis, dans les paramètres avancés, nous allons configurer le redémarrage automatique du conteneur :

Nous allons ensuite associer les répertoires crées précédemment aux volumes exportés par le conteneur :

Puis rediriger des ports tcp du synology vers les ports 80/tcp et 443/tcp du conteneur :

Nous pouvons alors valider la création du conteneur et le démarrer.

Transfert des repositories svn

Le transfert des repositories est plutôt simple puisqu’il suffit d’arrêter le conteneur, puis de copier le contenu du répertoire /docker vers le répertoire /docker/svn/svn/ et de redémarrer le conteneur.

Il suffira ensuite de gérer les utilisateurs et droits d’accès directement depuis l’interface web iF-SVNAdmin fournie par le conteneur.

Accès au serveur Subversion et à l’interface iF.SVNAdmin

L’interface web est disponible en http ou https via les ports assignés précédemment.

Le login par défaut est admin et le mot de passe admin. Il est évident qu’il faut changer ce mot de passe par défaut au plus tôt.

Depuis cet interface, il nous est possible de créer des utilisateurs, des repositories et d’assigner des autorisations sur ces repositories.

L’accès  depuis un client svn se fera alors, par exemple, de la manière suivante :

svn checkout --username myuser https://synology_ip:8443/svn/myrepository ./localfolder

Pour plus d’informations sur les personnalisations possibles, rendez-vous sur la page officielle du conteneur.

10 thoughts on “Installer un serveur Subversion sur Synology DSM 7”

  1. Bonjour,

    J’ai suivi votre tutoriel mais je n’arive malheureusement pas à accèder au site web if-svnadmin. Sauriez-vous me guider svp?

    MErci d’avance,
    Cordialement,
    Amani

  2. Il faut joindre le NAS sur le port 8443

    par exemple si l’url du nas est « nas.synalogylocaldechezvous.com:5000 », remplacez 5000 par 8443

  3. Bonjour,

    êtes-vous certain que les identifiants par défaut sont bien « admin » et « admin » en mdp ?

    Je n’arrive pas à me connecter sur l’interface de if-svnadmin…

    Merci d’avance,
    Cordialement

  4. Oui, les identifiants sont bien admin en login et admin en mot de passe par défaut. Attention, lors de l’utilisation de volumes, le mot de passe admin est stocké dans le fichier dav_svn.passwd. S’il a été changé lors d’une précédente instance et que le même volume est réutilisé, alors le mot de passe admin sera celui de l’instance précédente.

    Par défaut, le fichier dav_svn.passwd contient uniquement la ligne :
    admin:SVNServer:828b5ce506494160ed2e4aef2e5e8533

  5. I have to say that it’s happening the same to me, « admin » and « admin » is not working, I can’t login into the SVNAdmin web UI.

    The line in the dav_svn.passwd is correct, it is the same one you put there, but I can’t login.

  6. Bonjour,

    J’ai tout installé et ça fonctionnait correctement
    J’ai changé mon mot de passe depuis l’interface mais j’ai du faire une erreur je suis incapable de retrouver mon couple user/mdp
    J’ai bien évidemment accès à mon serveur sur lequel tout est installé
    Comment puis-je faire pour retrouver mon mot de passe et mon username

    Merci d’avance

  7. Bonjour,
    Est-il possible de faire un dump d’un repo présent sur le conteneur svnadmin ?
    Merci beaucoup !

  8. I tried to install a couple other SVN servers with GUI to them. This is the first one I could install without any problem, right away. Thanks to @Cyril for such good job.
    However, I have a couple of questions so far:
    1. I created a test repo on server, but I could not delete it. How can I do it?
    2. How to set/get path to the repository for the SVN client, such as Tortoise SVN? I tried to use a link from the address line of the trunk and the client said the server does not support the HTTP/DAV protocol

  9. Pour ceux qui ont le problème du « admin »/ »admin » qui ne fonctionne pas => j’ai eu le souci après désintallation de Docker sur le Volume1 et réinstallation sur le Volume2, suivi de l’installation de SVN.

    Il se trouve que le répertoire docker du Volume1 n’avait pas été supprimé ; c’était le seul visible dans File Station, celui sur le Volume2 existait mais était invisible.

    Il a fallu que je me connecte en SSH et que je supprime le répertoire Volume1/@docker.
    En plusieurs temps, car les sous-répertoires @docker/btrfs/subvolumes ne voulaient pas se laisser faire. Après recherches, il faut se placer dans le répertoire @docker puis taper la commande :
    btrfs subvolume delete btrfs/subvolumes/*
    Une fois que c’est chose faite, supprimer le répertoire @docker

    À partir de là, réinstallation de Docker sur le Volume2, on suit le tuto, et ça fonctionne.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.