Tests d’un serveur de stockage et partage de fichiers

Tests d’un serveur de stockage et partage de fichiers

Depuis la fin du mois de juin, en tant que projet secondaire, j’ai fait des recherches sur un moyen de stocker des fichier avec une possibilité de partage. Le tout doit respecter le RGPD (Règlement Général sur la Protection des Données, en place depuis le mois de mai) et être hébergé sur un de nos serveurs.

Avant de commencer les recherches, Thomas (DevOps) et Cédric m’ont fait découvrir l’outil actuellement installé : openUpload. Il s’agit d’une application PHP qui n’est plus maintenue depuis plusieurs années et assez peu ergonomique. Son grand avantage est d’être Open Source et économe en ressources. Du fait que ce projet ne soit plus maintenu, il n’y a plus de mises à jour pour corriger les problèmes de sécurité ou supporter des versions plus récentes de PHP, ce qui pose problème.

Capture de l’outil actuel : OpenUpload

Il existe de nombreuses alternatives à ce produit aujourd’hui. Certaines sont payantes avec des fonctionnalités intéressantes, mais à des prix très élevés, surtout pour un grand nombre d’utilisateurs (près de 250). J’ai trouvé trois solutions gratuites respectant le RGPD qui semblent prometteuses :

  • LinShare (Java)
  • ownCloud (PHP)
  • Nextcloud (PHP)

ownCloud et Nextcloud proposent tous deux des versions payantes, mais elles ne s’avèrent pas nécessaires pour l’utilisation que nous feront de ce site. Les trois projets seront donc bien utilisés dans leur version gratuite, ce qui représente une économie de plusieurs milliers d’euros par an.

Résultat de recherche d'images pour "owncloud"

Afin de tester et comparer ces projets, j’ai mis en place trois machines virtuelles avec les logiciels nécessaires au fonctionnement de chaque application. Deux des machines contiennent donc un environnement LAMP (Linux Apache MySQL PHP) pour les tests d’ownCloud et Nextcloud. La troisième machine contient Java, un serveur Apache Tomcat (permet d’exécuter des applications Java) et une base PostgreSQL pour le test de LinShare.

L’installation des applications elles-mêmes est relativement simple et se fait en quelques étapes après avoir configuré les serveurs et copié les fichiers dans les bons dossiers. Ce qui est plus complexe est de configurer correctement chaque application. Il a d’ailleurs fallu que je recommence à plusieurs reprises avant de trouver des paramètres corrects qui ne bloquent pas totalement l’application.

La façon de configurer ownCloud et Nextcloud est assez proche. Ceci est du au fait que Nextcloud est un dérivé (un fork) d’ownCloud. NextCloud est aujourd’hui plus complet et plus actif qu’ownCloud (tous les deux en version gratuite).

Ces paramètres concernent d’une part la méthode d’authentification. Pour ne pas à avoir à créer des comptes pour chaque utilisateur, je profite des fonctionnalités de connexion à un serveur LDAP (Lightweight Directory Access Protocol) offertes par ces trois applications. L’application LinShare a été éliminée à cette étape des tests. Malgré tous les paramètres possibles essayés, je n’ai pas réussi à connecter le serveur Active Directory (version Microsoft du serveur LDAP) à l’application, m’empêchant ainsi d’accéder à la gestion des comptes. Leur documentation à ce sujet est assez peu étoffée et n’aide que trop peu.

Résultat de recherche d'images pour "linshare"

La simplicité de configuration d’ownCloud et Nextcloud à ce sujet l’emporte puisqu’en quelques clics et des informations assez simples, la connexion à l’annuaire est faite et la liste de comptes se remplit automatiquement. A partir de la, il est possible de définir certains paramètres pour tous les comptes comme le quota de stockage. Chaque compte reste modifiable individuellement, indépendamment de cette configuration collective.

Intégration AD Nextcloud

Grâce à l’activité du projet et ses fonctionnalités, c’est finalement Nextcloud qui est sélectionné pour être mis en production. La mise en production ne sera faite qu’à mon retour en septembre pour le début de l’alternance. Entre temps, nous avons reçu les nouveaux serveurs, qui doivent être installés et configurés d’ici la fin de mon stage. Ceci passe donc en priorité devant la mise en production de ce projet.

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.