Aller au contenu

Applications gérées - Nextcloud

Dans cet article

Information

Nextcloud est un logiciel de serveur open source. Il vous permet de créer votre propre service cloud pour le stockage de données et la collaboration. Il est basé sur le langage de programmation PHP et offre la possibilité d'utiliser diverses bases de données telles que MySQL, PostgreSQL et SQLite. Nextcloud prend en charge le chiffrement des données au niveau client, ce qui garantit la sécurité lors du transfert de données sur Internet. Grâce à Nextcloud, vous pouvez synchroniser des données entre différents appareils et travailler en ligne ou hors ligne. Nextcloud offre un ensemble étendu d'outils de collaboration tels que l'échange de documents, la gestion des tâches, les calendriers et les contacts. Nextcloud peut également être intégré à d'autres services tels que Google Drive, Dropbox et Microsoft OneDrive.

Nextcloud. Fonctionnalités clés

Nextcloud possède de nombreuses fonctionnalités qui en font un outil efficace pour le stockage et le traitement des données :

  • Stockage de fichiers. Nextcloud vous permet de stocker des fichiers sur un serveur et d'y accéder via une interface web ou via des applications pour ordinateurs de bureau et appareils mobiles.
  • Synchronisation de fichiers. La capacité de synchroniser des fichiers entre différents appareils fait du service un outil pratique pour travailler dans diverses conditions.
  • Contrôle de version. Nextcloud vous permet d'enregistrer plusieurs versions du même fichier. Il vous permettra également de restaurer des versions précédentes si nécessaire.
  • Accès aux fichiers via l'interface web. Nextcloud dispose d'une interface web qui vous permet d'accéder aux fichiers via un navigateur, ce qui en fait un outil pratique pour travailler sur n'importe quel appareil.
  • Gestion des calendriers et des tâches. Nextcloud vous permet de créer et de gérer des calendriers et des tâches, ce qui en fait un outil utile pour l'organisation.
  • Gestion des contacts. Nextcloud vous permet de créer et de gérer des contacts, ce qui en fait un outil pratique pour la gestion des communications.
  • Accès aux fichiers via les applications. Nextcloud dispose d'applications pour ordinateurs de bureau et appareils mobiles qui vous permettent d'accéder aux fichiers par leur intermédiaire.
  • Évolutivité. Nextcloud possède de nombreuses applications supplémentaires qui peuvent être installées et utilisées pour étendre les fonctionnalités. Il s'agit d'applications pour la collaboration en ligne, l'édition de documents, la gestion de projet, etc.

Remarque

Vous pouvez déployer Nextcloud en tant que Managed App. Pour ce faire, sélectionnez Services > Managed Apps dans le panneau de contrôle du serveur Invapi.

Fonctionnalités de déploiement

ID Nom du logiciel Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (GB) Min HDD/SSD (GB) Domaine personnalisé Actif
16 Nextcloud Ubuntu 22.04 + + + + 2 4 40 Oui COMMANDER

Pour ce logiciel, il est possible de définir un domaine personnalisé lors de l'installation. Voir instructions

Pour ce logiciel, vous pouvez définir un domaine personnalisé lors de l'installation. Voir les instructions

  • Nextcloud est inclus dans le noyau et aucune installation supplémentaire n'est requise. Nous fournissons une interface web via laquelle le service est installé et configuré.
  • Les fichiers de configuration sont situés dans :
    • /opt/nextcloud - Installation et configuration de Nextcloud ;
    • /opt/nginx - Installation et configuration du service Nginx ;
    • /opt/nextcloud/compose.yml - Exécution de docker compose, qui démarre un ensemble de conteneurs Nextcloud + Onlyoffice.
  • La génération du certificat SSL est basée sur l'assemblage jonasal/nginx-certbot.
  • Ces commandes peuvent être nécessaires pour mettre à jour les versions des conteneurs et modifier le fichier de configuration.

    • Pour arrêter les conteneurs, exécutez la commande
    cd /opt/nextcloud/
    

    Puis

    docker compose down
    
    • Pour activer les conteneurs, exécutez la commande
    cd /opt/nextcloud/
    

    Puis

    docker compose up -d
    
  • Docker compose up -d exécute le fichier compose.yml, qui télécharge et lance les conteneurs suivants :

    • db - conteneur, PostgreSQL est téléchargé, et les paramètres suivants sont appliqués :
      • La base de données Nextcloud (ou base) est créée ;
      • L'utilisateur Nextcloud est généré ;
      • le mot de passe pour SSH (il est envoyé par e-mail à votre adresse une fois que le serveur est prêt à fonctionner après le déploiement du logiciel) ;
      • Le port standard est 5432.
    • redis - conteneur, stockant les appels vers Nextcloud en mémoire et seulement après l'enregistrement dans la base de données PostgreSQL.
    • app - conteneur, le service Nextcloud possède les paramètres suivants :
      • L'accès à une application s'effectue depuis un navigateur Web ou une application mobile via le lien https://nextcloud(server_id).hostkey.in (par exemple, https://nextcloud16094.hostkey.in) ;
      • login : admin;
      • password : reçu par SSH ;
    • onlyoffice-document-server - conteneur, le service OnlyOffice fonctionne sur le port 80.

    Attention

    Ce conteneur démarre sous 6 minutes. Pendant ce temps, vous pouvez accéder à l'interface web de Nextcloud, télécharger et téléverser des fichiers, mais la possibilité d'éditer des documents n'apparaîtra que 6 minutes après l'exécution de docker compose up -d (le démarrage de certains composants prend du temps).

    • nginx - conteneur, service Nginx qui accepte les requêtes sur les ports 80 et 443 et redirige les requêtes vers le conteneur Nextcloud.

Remarque

Sauf indication contraire, nous installons par défaut la dernière version de l'éditeur ou des dépôts du système d'exploitation.

Démarrage après avoir déployé Nextcloud en tant que Managed App

Après avoir déployé Nextcloud en tant qu'application gérée, vous trouverez les éléments suivants dans l'onglet My Apps du panneau de contrôle du serveur :

  • un lien vers l'application ;
  • l'identifiant et le mot de passe pour l'accès ;
  • des informations concernant l'utilisation et la gestion du service.

Pour plus de détails sur le fonctionnement avec les applications gérées, consultez les instructions.

Démarrage après avoir déployé Nextcloud depuis le Marketplace : Configuration des paramètres d'installation via Cloud-init

Lors de la commande d'un serveur avec Nextcloud, vous pouvez préconfigurer les principaux paramètres d'installation en utilisant une configuration cloud-init lors du processus de commande à l'étape Automatization. Cela vous permet de définir automatiquement les identifiants de l'administrateur, l'e-mail et le chemin de stockage des données :

Paramètres de configuration

Pour configurer Nextcloud via cloud-init, utilisez le format suivant :

write_files:
  - path: "/opt/main.yml"
    permissions: "0644"
    content: |
      nextcloud_admin_name: "root"
      nextcloud_admin_pwd: "YOUR_PASSWORD"
      nextcloud_admin_email: "admin@localhost"
      nextcloud_data_path: "/opt/nextcloud-data"

Description des paramètres

  • nextcloud_admin_name - nom du compte administrateur (par défaut : admin) ;
  • nextcloud_admin_pwd - mot de passe de l'administrateur (spécifiez votre mot de passe fort) ;
  • nextcloud_admin_email - e-mail de l'administrateur pour les notifications ;
  • nextcloud_data_path - chemin pour le stockage des données Nextcloud (par défaut : /opt/nextcloud-data).

Recommandation

Utilisez un mot de passe fort pour nextcloud_admin_pwd et une véritable adresse e-mail pour nextcloud_admin_email afin de recevoir les notifications système importantes.

Attention

Après l'application de la configuration cloud-init, les paramètres spécifiés seront utilisés à la place des paramètres par défaut. Enregistrez ces données dans un endroit sûr.

Démarrage après le déploiement de Nextcloud

Une notification sera envoyée à l'e-mail spécifié lors de l'inscription indiquant que le serveur est prêt pour le travail après le paiement de la commande. Elle contiendra l'adresse IP du VPS, ainsi que l'identifiant et le mot de passe pour la connexion. Les clients de notre entreprise gèrent le matériel dans le panneau de contrôle du serveur et de l'API — Invapi.

Vous pouvez trouver les données d'autorisation soit dans l'onglet Configuration >> Tags du panneau de contrôle du serveur, soit dans l'e-mail qui a été envoyé.

  • Lien pour accéder au tableau de bord Nextcloud avec une interface web : dans le tag webpanel (icône ) ;
  • Login : admin;
  • Password : Envoyé à votre adresse e-mail après que le serveur est prêt à l'emploi suite au déploiement du logiciel.

Après vous être connecté au panneau de contrôle Nextcloud, vous devez saisir votre identifiant et votre mot de passe :

Une fois la connexion réussie, vous pouvez commencer à utiliser le service.

Remarque

Pour plus d'informations sur les paramètres de base de Nextcloud, consultez la documentation des développeurs.

Attention

Pour commander un serveur Nextcloud, vous devez choisir un serveur conformément aux recommandations des développeurs.

Changement du nom de domaine

Avant de commencer le travail sur le changement du nom de domaine, il est recommandé de créer une sauvegarde de tous les fichiers spécifiés dans les instructions. Pour créer des sauvegardes des fichiers principaux, exécutez les commandes suivantes :

  1. Créer un répertoire pour les sauvegardes

    mkdir -p /root/nextcloud_backup
    
  2. Copier le fichier de configuration Nginx

    cp /opt/nginx/user_conf.d/nextcloud<server ID>.hostkey.in.conf /root/nextcloud_backup/
    
  3. Copier le fichier Docker Compose

    cp /opt/nextcloud/compose.yml /root/nextcloud_backup/
    
  4. Copier le script de configuration

    cp /opt/nextcloud/set_configuration.sh /root/nextcloud_backup/
    
  5. Copier le fichier de configuration Nextcloud

    cp /var/lib/docker/volumes/app_data/_data/config/config.php /root/nextcloud_backup/
    

Ces commandes créeront des sauvegardes de tous les fichiers clés qui seront modifiés pendant le processus de changement de nom de domaine. En cas de problème, vous pourrez restaurer la configuration originale à partir de ces sauvegardes.

Restauration à partir des sauvegardes et suppression après une migration réussie

Si le processus de changement de nom de domaine échoue et que vous devez restaurer la configuration originale, exécutez les commandes suivantes :

  1. Restaurer le fichier de configuration Nginx

    cp /root/nextcloud_backup/nextcloud<server ID>.hostkey.in.conf /opt/nginx/user_conf.d/
    
  2. Restaurer le fichier Docker Compose

    cp /root/nextcloud_backup/compose.yml /opt/nextcloud/
    
  3. Restaurer le script de configuration

    cp /root/nextcloud_backup/set_configuration.sh /opt/nextcloud/
    
  4. Restaurer le fichier de configuration Nextcloud

    cp /root/nextcloud_backup/config.php /var/lib/docker/volumes/app_data/_data/config/
    
  5. Redémarrer les conteneurs

    cd /opt/nextcloud
    docker compose down
    docker compose up -d
    
  6. Redémarrer nginx

    docker restart nginx-certbot
    

Ces commandes restaureront tous les fichiers de configuration dans leur état d'origine et redémarreront les services nécessaires.

Une fois que vous êtes certain que le changement de nom de domaine a réussi et que tout fonctionne correctement (il est recommandé d'attendre au moins 24 à 48 heures pour des tests complets), vous pouvez supprimer en toute sécurité les sauvegardes :

  1. Vérifier le contenu du répertoire de sauvegarde

    ls -la /root/nextcloud_backup/
    
  2. Supprimer tout le répertoire de sauvegarde

    rm -rf /root/nextcloud_backup/
    

Avant la suppression, il est recommandé de vérifier le contenu du répertoire pour s'assurer que vous ne supprimez que les fichiers nécessaires.

Configuration des fichiers

  1. Connectez-vous au serveur via SSH :

    ssh root@IP_ADDRESS
    
  2. Changer l'hostname (optionnel) :

    hostnamectl set-hostname nextcloud_server
    
  3. Modifier /etc/hosts :

    nano /etc/hosts
    

    Ajoutez une ligne reliant le nouveau domaine à l'adresse IP du serveur :

    IP_ADDRESS YOUR_DOMAIN_NAME
    

    (remplacez l'adresse IP et le nom de domaine par vos valeurs)

Configuration de Nginx

  1. Trouver et modifier le fichier de configuration Nginx :

    nano /opt/nginx/user_conf.d/nextcloud<server ID>.hostkey.in.conf
    

    Remplacez toutes les instances de l'ancien nom de domaine (nextcloud<server ID>.hostkey.in) par le nouveau (YOUR_DOMAIN_NAME) :

    • Ligne 4 : server_name nextcloud<server ID>.hostkey.in; > server_name YOUR_DOMAIN_NAME;
    • Ligne 15: server_name nextcloud<server ID>.hostkey.in; > server_name YOUR_DOMAIN_NAME;
    • Ligne 17: ssl_certificate /etc/letsencrypt/live/nextcloud<server ID>.hostkey.in/fullchain.pem; > ssl_certificate /etc/letsencrypt/live/YOUR_DOMAIN_NAME/fullchain.pem;
    • Ligne 18: ssl_certificate_key /etc/letsencrypt/live/nextcloud<server ID>.hostkey.in/privkey.pem; > ssl_certificate_key /etc/letsencrypt/live/YOUR_DOMAIN_NAME/privkey.pem;
    • Ligne 19: ssl_trusted_certificate /etc/letsencrypt/live/nextcloud<server ID>.hostkey.in/chain.pem; > ssl_trusted_certificate /etc/letsencrypt/live/YOUR_DOMAIN_NAME/chain.pem;
  2. Renommer le fichier de configuration :

    mv /opt/nginx/user_conf.d/nextcloud<server ID>.hostkey.in.conf /opt/nginx/user_conf.d/YOUR_DOMAIN_NAME.conf
    
  3. Redémarrer le conteneur Nginx :

    docker restart nginx-certbot
    

Configuration de Nextcloud

  1. Modifier le fichier Docker Compose :

    nano /opt/nextcloud/compose.yml
    

    Remplacez toutes les instances de l'ancien nom de domaine par le nouveau (YOUR_DOMAIN_NAME). Faites attention aux lignes contenant :

    • Ligne 40: - OVERWRITECLIURL=https://nextcloud<server ID>.hostkey.in/
    • Ligne 41: - OVERWRITEHOST=nextcloud<server ID>.hostkey.in
  2. Modifier le script de configuration Nextcloud :

    nano /opt/nextcloud/set_configuration.sh
    

    Remplacez toutes les instances de l'ancien nom de domaine par le nouveau. Portez une attention particulière aux lignes :

    • Ligne 11: if ! grep -q "nextcloud<server ID>.hostkey.in" trusted_domain.tmp; then
    • Ligne 13: docker exec -u www-data app-server php occ --no-warnings config:system:set trusted_domains $TRUSTED_INDEX --value="nextcloud<server ID>.hostkey.in"
    • Ligne 23: docker exec -u www-data app-server php occ --no-warnings config:system:set onlyoffice StorageUrl --value="https://nextcloud<server ID>.hostkey.in/

Application des changements

  1. Naviguez vers le répertoire Nextcloud :

    cd /opt/nextcloud
    
  2. Arrêtez et supprimez les conteneurs existants :

    docker compose down
    

    Cette commande arrêtera et supprimera tous les conteneurs définis dans le fichier compose.yml mais conservera toutes les données dans les volumes.

  3. Démarrez les conteneurs Nextcloud :

    docker compose up -d
    
  4. Exécutez le script de configuration :

    bash /opt/nextcloud/set_configuration.sh
    

    Si le script indique une erreur disant que la commande "maintenance:install" n'est pas définie, c'est normal — Nextcloud est déjà installé.

Vérification et débogage

  1. Vérifiez que Nextcloud est accessible via le nouveau nom de domaine :

    Ouvrez votre navigateur sur https://YOUR_DOMAIN_NAME

  2. S'il y a des problèmes, vérifiez les journaux (logs) :

    docker logs nginx-certbot
    docker logs app-server
    
  3. Configurez manuellement trusted_domains si nécessaire :

    docker exec -u www-data app-server php occ --no-warnings config:system:set trusted_domains 1 --value="YOUR_DOMAIN_NAME"
    docker exec -u www-data app-server php occ --no-warnings config:system:set overwrite.cli.url --value="https://YOUR_DOMAIN_NAME/"
    
  4. Si OnlyOffice est utilisé, vérifiez ses paramètres :

    docker exec -u www-data app-server php occ --no-warnings config:system:set onlyoffice StorageUrl --value="https://YOUR_DOMAIN_NAME/"
    

Remarques importantes

  • Après avoir effectué des modifications, il est essentiel de vider le cache de votre navigateur ;
  • Tous les identifiants utilisateur restent les mêmes qu'avant le changement de nom de domaine ;
  • Si votre fournisseur DNS nécessite du temps pour la mise à jour des enregistrements, un certain délai peut survenir avant que le nouveau nom de domaine ne commence à fonctionner ;
  • Assurez-vous que l'enregistrement A dans le DNS pointe vers l'adresse IP correcte de votre serveur ;
  • L'enregistrement PTR (DNS inverse) n'est pas critique pour le fonctionnement de Nextcloud mais peut être mis à jour via le panneau de contrôle pour une cohérence totale.

Commander Nextcloud via l'API

Pour installer ce logiciel via l'API, suivez ces instructions.