Dans le cadre du projet NYM-IT, l'infrastructure héberge plusieurs services métiers (Active Directory, Stormshield, supervision Zabbix, ticketing GLPI…). Cependant, aucun outil de partage de fichiers et de collaboration n'était disponible pour les utilisateurs. L'entreprise avait le choix entre une solution SaaS (Google Drive, OneDrive) ou un déploiement auto-hébergé afin de garder la maîtrise totale des données.
Le choix s'est porté sur Nextcloud, solution open-source de référence, déployée en bare-metal sur Debian 13 pour garantir les performances et l'indépendance vis-à-vis des fournisseurs cloud tiers. L'intégration avec Keycloak SSO (via SAML 2.0) permet une authentification centralisée à partir de l'Active Directory NYM-IT.
Fournir aux 8 utilisateurs de NYM-IT une plateforme de stockage, de collaboration documentaire (édition Office en ligne avec Collabora CODE) et de messagerie instantanée (Nextcloud Talk), entièrement intégrée au SSO Keycloak existant.
Déploiement bare-metal Nextcloud sur Debian 13, configuration Apache, MySQL et PHP
fail2ban anti-brute-force, HTTPS, SSO SAML via Keycloak, fallback admin local
Structure de groupes et de dossiers partagés, gestion des droits par service
Sauvegardes UrBackup + script rsync/mysqldump avec maintenance mode Nextcloud
Commandes occ, logs Nextcloud, diagnostics PHP/base de données
Documentation technique E6, déploiement par étapes, intégration dans NYM-IT
Plateforme de cloud collaboratif self-hosted, déploiement bare-metal (hors Docker)
IP fixe : 192.168.1.205 — serveur dédié dans l'infrastructure NYM-IT
Base de données relationnelle pour Nextcloud, performances optimisées
Édition Office en ligne (OOXML), intégrée en mode natif dans Nextcloud
Messagerie instantanée et visioconférence WebRTC intégrée, 9 participants
SSO intégré — authentification fédérée depuis l'Active Directory NYM-IT.local
Nextcloud est déployé directement sur une VM Debian 13 dédiée (IP : 192.168.1.205)
sans Docker, pour des raisons de performances et de simplicité de gestion.
La pile LAMP (Apache, MySQL, PHP) est installée et configurée manuellement.
Le fichier config.php est personnalisé avec les trusted_domains
de l'infrastructure et le paramètre richdocuments.verify_certificate = false
pour l'intégration Collabora en réseau interne.
8 utilisateurs sont créés et organisés en groupes reflétant la structure de NYM-IT :
nymit-all — tous les utilisateurs (accès aux Documents Publics)grp-si — équipe Systèmes & Infrastructuresgrp-compta — équipe Comptabilitégrp-RH — équipe Ressources Humainesadmin — administrateurs NextcloudLa gestion des droits est affinée via l'application Group Folders : chaque groupe dispose d'un dossier partagé dédié (Documents Publics, SI, Comptabilité, RH) avec des permissions de lecture/écriture/partage ajustées par groupe.
L'application Nextcloud Office est installée et connectée à une instance
Collabora CODE 25.04.9.4 hébergée dans l'infrastructure NYM-IT.
Le mode d'édition est configuré en mode intégré avec le format
OOXML (.docx, .xlsx, .pptx) comme format par défaut, garantissant
la compatibilité avec la suite Microsoft Office utilisée par les équipes.
Le certificat auto-signé interne est accepté via richdocuments.verify_certificate = false.
L'application Nextcloud Talk est activée pour la communication interne. Un canal général NYM-IT-Général est créé avec 9 participants. La solution repose sur le protocole WebRTC pour les appels vidéo et la messagerie instantanée, sans dépendance à un service externe. Nextcloud Talk est accessible directement depuis l'interface Nextcloud ou via l'application mobile.
L'application SSO & SAML authentication est configurée dans Nextcloud
pour utiliser Keycloak comme Identity Provider. Les utilisateurs se connectent
via l'Active Directory NYM-IT.local (fédéré dans Keycloak via LDAP).
L'authentification multi-mode est activée : les comptes locaux (notamment le compte
admin) conservent la possibilité de se connecter hors SSO,
garantissant un accès de secours en cas de panne Keycloak.
fail2ban est configuré pour protéger Nextcloud contre les tentatives de brute-force. Le filtre surveille les logs Apache et bloque automatiquement les adresses IP après plusieurs tentatives d'authentification échouées. Les paramètres (nombre de tentatives, durée de ban) sont adaptés à l'usage interne de NYM-IT.
La supervision de Nextcloud repose sur les commandes occ (outil CLI officiel)
et l'analyse des logs situés dans /var/www/nextcloud/data/nextcloud.log.
Commande occ |
Usage |
|---|---|
occ status |
État général de l'instance Nextcloud |
occ check |
Vérification base de données, cache, PHP |
occ user:list |
Liste des utilisateurs actifs |
occ group:list |
Liste des groupes et membres |
occ files:scan --all |
Resynchronisation de l'index des fichiers |
occ maintenance:mode --on/off |
Activation/désactivation du mode maintenance (sauvegardes) |
occ upgrade |
Application des mises à jour Nextcloud |
/var/www/nextcloud/data/nextcloud.log — erreurs PHP, authentifications, accès fichiers
Blocages d'IP, tentatives de brute-force, bans actifs
Vue d'ensemble via l'interface d'administration Nextcloud : stockage, utilisateurs, apps
La stratégie de sauvegarde combine deux approches complémentaires pour garantir la récupérabilité de l'instance Nextcloud.
Agent UrBackup installé sur la VM Nextcloud — sauvegardes fichiers et image disque via le serveur UrBackup centralisé NYM-IT
Script automatisé : activation du mode maintenance Nextcloud → export MySQL → rsync des données → désactivation maintenance
# Séquence de sauvegarde cohérente php /var/www/nextcloud/occ maintenance:mode --on mysqldump -u nextcloud -p nextcloud > /backup/nextcloud_db_$(date +%F).sql rsync -av /var/www/nextcloud/data/ /backup/nextcloud_data/ php /var/www/nextcloud/occ maintenance:mode --off
Le mode maintenance garantit la cohérence des données en suspendant les accès utilisateurs pendant la durée de la sauvegarde.
La connexion entre Nextcloud et Collabora CODE échouait à cause du certificat
auto-signé interne. Résolu en ajoutant richdocuments.verify_certificate = false
dans config.php.
Après l'activation du SSO SAML, certains utilisateurs rencontraient une boucle de redirection. Cause : l'URL de callback Nextcloud n'était pas correctement enregistrée dans le client SAML Keycloak. Résolu en vérifiant et corrigeant l'ACS URL dans la configuration du client Keycloak.
Certains utilisateurs nouvellement créés ne voyaient pas les dossiers de groupe
auxquels ils appartenaient. Résolu via occ files:scan --all pour
forcer la resynchronisation des droits et de l'index.
Les appels vidéo échouaient depuis certains segments réseau en raison du pare-feu Stormshield bloquant les flux UDP/WebRTC. Résolu en ouvrant les ports STUN/TURN nécessaires dans les règles Stormshield.
8 utilisateurs avec stockage, partage et édition de fichiers Office en ligne
Authentification centralisée via Keycloak + Active Directory NYM-IT.local
Canal Nextcloud Talk NYM-IT-Général, messagerie et visio WebRTC pour 9 participants
fail2ban actif, HTTPS, fallback admin local en cas de panne SSO
UrBackup + script rsync/mysqldump avec maintenance mode automatique
Collabora CODE 25.04.9.4 — format OOXML compatible Microsoft Office