Synology : Installation de SVN

03/10/2014

Logo SVN Synology
SVN (Subversion) est un logiciel de gestion de versions comme Git, Mercurial ou encore TFS (Team Foundation Server). Ils sont utilisés principalement par les développeurs pour garder une trace de toutes les modifications effectuées sur des fichiers.

Installer SVN sur le NAS Synology

La version de DiskStation Manager utilisée dans cet article est la 5.0

Suivez ces étapes pour installer ce programme sur votre NAS Synology.

Ouvrez le centre de paquet puis affichez la catégorie Utilitaires. Recherchez l’application SVN et lancez l’installation.

Installation de SVN sur un NAS Synology

Installation de SVN sur un NAS Synology

L’assistant d’installation vous demande ensuite le nom du répertoire partagée où seront stockées vos données.

Création du dossier partagé - SVN Synology

Création du dossier partagé

Il ne vous reste plus qu’à valider l’installation.

Confirmation de l'installation - SVN Synology

Confirmation de l’installation

Une notification du pare feu (si vous l’avez activé) s’affiche, vous demandant d’ouvrir le port TCP 3690.

Ouverture du port 3690 sur le firewall du NAS

Ouverture du port 3690 sur le firewall du NAS

Configurer SVN sur le NAS Synology

Lancez l’application SVN Server, puis cliquez sur Ajouter pour créer un nouvel entrepôt.

L’entrepôt est le lieu de stockage central pour les fichiers et répertoires de SVN. Toutes les modifications apportées aux fichiers dans l’entrepôt se verront attribuer une version et seront enregistrées.

La création s’effectue en 2 étapes. Commencez par saisir un nom d’entrepôt ainsi qu’un domaine. Puis sélectionnez une permission pour les utilisateurs anonymes.

Ensuite, cliquez sur l’onglet Utilisateur et ajouter un compte à cet entrepôt.

Création d'un entrepôt - SVN Synology

Création d’un entrepôt

Maintenance de SVN

Plusieurs options sont disponibles dans le menu Maintenance de SVN Server.

  • Compresser : Consolide les versions archive pour sauvegarder de l’espace et augmenter l’efficacité ;
  • Vérifier : Inspecte chaque version dans la base de données et rapporte les révisions corrompues ;
  • Mise à jour : Met à jour votre base de données à la dernière version pour augmenter l’efficacité. Le temps nécessaire dépend de la taille de l’entrepôt. Pensez à sauvegarder votre entrepôt avant d’effectuer une mise à jour de la base de données.

Installation de WebSVN sur le NAS

WebSVN est une application web open source permettant d’explorer les révisions de dépôts SVN.

Pour l’installer, vous devez au préalable activer le serveur web de votre NAS.

Téléchargez l’archive zip sur le site de l’éditeur, puis décompressez la dans le dossier web de votre NAS.

Dans le répertoire Include, renommez le fichier disconfig.php en config.php puis éditez le.

Rendez vous à la ligne 87 dans le fichier de configuration et ajoutez la ligne suivante :

$config->addRepository('Repository', 'svn://[votre-ip]/[nom-entrepot]', null, '[utilisateur]', '[mot-de-passe]');

Remplacez les différentes variables : votre ip (ou le nom du nas), le nom de l’entrepôt, l’utilisateur et son mot de passe à utiliser pour se connecter.

Accédez ensuite à WebSVN depuis un navigateur en tapant l’adresse : http://[votre-ip]/websvn/

Interface de WebSVN

Interface de WebSVN

En réponse à de nombreux commentaires, vous pouvez protéger l’accès à WebSVN en utilisant un fichier .htaccess
Pour plus d’infos à ce sujet, je vous invite à consulter cet article.

Utilisation de TortoiseSVN sur Windows

Suivez ce tutoriel pour installer TortoiseSVN sur votre PC.

Remplacez l’adresse du serveur (repository) par la votre : svn://[votre-ip]/

26 réflexions au sujet de « Synology : Installation de SVN »

  1. XavB

    Merci pour ce billet.

    Par contre, je n’arrive pas à trouver comment ouvrir le serveur SVN vers l’extérieur. Je peux me connecteur sur le serveur via mes PC présent dans le réseau local, mais impossible depuis internet.

    Connaissez-vous la procédure à suivre pour obtenir ce type de service ?

  2. Julien Nicole Auteur de l’article

    Merci pour le retour.

    Vous devez ouvrir le port (3690) utilisé par SVN sur votre routeur et également utiliser soit une IP fixe, soit QuickConnect pour accéder à votre NAS depuis l’extérieur de votre réseau.

  3. XavB

    Merci pour la réactivité de votre réponse. Cependant, j’ai déjà testé l’ouverture de ce port sur mon routeur et rien n’y fait.

    Du coup, je suis en train de voir si je ne peux pas y accéder via le protocole https.

  4. Axel

    Bonjour Monsieur Nicole,

    Merci pour votre article, ceci m’a bien aidé !

    Cependant, ayant rendu mon NAS accessible depuis l’extérieur, le dépôt est visible par n’importe qui depuis WebSVN (http://mon-ip/websvn). Pourriez-vous m’indiquer comment sécuriser l’accès par un système d’identification ? svp

    Car je ne trouve aucune information pour le faire sur un synology.

    Merci d’avance !

  5. Fabrice Calvaire

    Bonjour,
    tout d’abord merci pour l’article!

    Je veux effectivement accéder à mon Serveur SVN de l’extérieur avec Tortoise SVN,
    Je passe par HTTPS, mais j’obtiens une erreur quand j’essaie de m’y connecter:
    « Error running context: an error occured during SSL communication »

    J’ai ouvert le port 3690 sur le NAS.
    A partir de ma livebox, j’ai redirigé le port 200 sur le port 3690.

    En revanche, je n’utilise pas l’adresse Quickconnect mais l’adresse de chez moi, qui est à mise à jour avec l’IP en automatique grâce au NAS

    https://monadresse:200

    y a t’il autre chose à faire pour que cela fonctionne ?

  6. Julien Nicole Auteur de l’article

    Bonjour,

    Il semble que votre certificat soit en cause.

    Dans ce post (en anglais), un internaute explique qu’il a corrigé son problème d’accès en supprimant le certificat puis en le remettant.
    Ensuite, il a enregistré le certificat dans Tortoise.

    http://www.wandisco.com/svnforum/forum/opensource-subversion-forums/general-setup-and-troubleshooting/12945-connection-problems-after-tortoise-update-from-1-4-3-to-1-8-5?p=61120#post61120

    En espérant que cette réponse (tardive) vous aide à résoudre votre problème.

    Julien

  7. Paul

    Bonjour,et merci !!
    Mais j’ai un petit problème… Comment activer l’authentification sur le web ?
    Pour ne pas que tout le monde y accède…

  8. SVN

    Bonjour,

    Depuis le passage à la version 5.2 j’ai l’erreur suivante : org.apache.subversion.javahl.ClientException: E210004: Handshake failed, data stream ended unexpectedly

    J’ai fais tout le web sans rien trouver …

    Une piste à me donner peut être ?

    Merci.

  9. tonysqrd

    Hi, did you figure out how to configure post-commit for SVN so you receive an email after a checkin? Thanks

  10. tonysqrd

    Thank you Julien, I am able to configure SVN on a windows or unix box. I was looking for help configuring SVN post-commit on a synology server. This is where my problems exist :) Thanks for the links and for looking into it.

  11. WaSho

    Bonjour,
    Merci, pour cet article. J’ai réussi à mettre en place le server svn sur le nas et configuré eclipse luna sur le poste de travail. Le websvn fonctionne parfaitement.
    J’ai cependant un souci. Lors de mon commit, ma version s’incrémente normalement. Sur mon websvn et sur mon espace de travail tout est nickel, mais aucun enregistrement dans le dépôt. Je veux dire que mes fichiers ne sont pas actualisés.
    J’ai vérifié les adresses de dépôt qui sont correctes, lecture et écriture pour utilisateurs anonymes bien que j’ai ajouté l’utilisateur principal.
    A tout hasard, auriez-vous une ou des pistes ?
    Cordialement

  12. Julien Nicole Auteur de l’article

    Bonjour,

    Si les fichiers sont visibles dans Websvn c’est que le commit a bien fonctionné.
    Je pense que vous n’avez pas les droits pour voir le contenu du dépôt dans FileStation.
    Vous pouvez vérifier le contenu du dossier en vous connectant en SSH en root.

    Cordialement,
    Julien Nicole

  13. WaSho

    Je vous remercie de votre aide.
    J’ai vérifié, en me connectant en SSH, j’ai bien tous les droits. Que ce soit en accès direct sur le synology ou en SSH, je n’ai pas d’actualisation des enregistrements.
    J’ai l’impression qu’en fait, j’ai un accès en écriture en direct sur le NAS, Mais avec mon IDE sur mon ordinateur en réseau local, les permissions d’écriture ne doivent pas passer. Je vais continuer à chercher.
    Encore merci.
    Cordialement.

  14. fruity

    Bonjour Julien,

    Merci pour ces informations très utiles et pour ce partage des connaissances =)

    Malheureusement, les manips indiquées ici ne semblent pas fonctionner chez moi : j’avais deja créé un repo via le terminal + ssh par le passé, et ca fonctionnait à merveille, mais la solution du SVN server avec son UI me semblait plus facile à deployer, donc j’ai voulu essayer.
    Malheureusement, quelle que soit la methode que j’emploie pour créer mon repo, il n’est pas detecté comme tel (malgré la presence des fichiers/dossiers conf, db, format, hooks, locks et readme dans le folder). Que je m’y connecte via smartSVN ou via le terminal, le dossier n’est simplement pas reconnu comme un repository (svn: warning: W155007: ‘/$svnPath/$monRepo/’ is not a working copy). Est-ce que j’aurai raté quelque chose ?

    Merci pour votre aide, quoiqu’il en soit =)

    Cordialement

  15. Fatih Turkan

    Bonjour Julien,

    Je voudrais savoir comment afficher la liste des dépots dans WebSVN .

    Merci d’avance

    Cordialement

  16. Julien Nicole Auteur de l’article

    Bonjour Fruity,

    Je suis désolé de te répondre aussi tard, j’ai oublié …

    J’imagine que depuis le temps tu as peut-être résolu ton problème … Si c’est le cas, peux-tu poster la manip ?

    Sinon, est-ce que tu as regardé ce topic sur stackoverflow ?

  17. juliusfJulo

    @tonysqrd: Did you manage to resolve your issue with SVN hooks on Synology NAS? I am always getting post-commit hook failed (exit code 255) with no output. on commits when active script resides in repo/hooks directory

    What exactly is your problem there?

  18. OL

    Bonjour
    Merci pour ce tuto.
    Je me connecte directement sur l’interface websvn sans avoir a saisir un mot de passe, ca me parait pas bien normal. Comment faire pour sécurisé un peu l’accès ?
    Merci de votre retour
    Ol

Laisser un commentaire