Aller au contenu

Nextcloud

Dans cet article

Information

Nextcloud est un logiciel 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 du client, ce qui garantit la sécurité lors du transfert de données sur Internet. Avec l'aide de Nextcloud, vous pouvez synchroniser des données entre différents appareils et travailler en ligne et hors ligne. Nextcloud offre un ensemble complet 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 possibilité de synchroniser des fichiers entre différents appareils fait de ce service un outil pratique pour travailler dans diverses conditions.
  • Contrôle de version. Nextcloud vous permet de sauvegarder 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 gérer les communications.
  • Accès aux fichiers via des applications. Nextcloud dispose d'applications pour ordinateurs de bureau et appareils mobiles qui vous permettent d'y accéder via elles.
  • Extensibilité. Nextcloud dispose 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 projets, etc.

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 kernel 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 de certificats 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 effectués :
      • La base de données Nextcloud (ou base) est créée ;
      • L'utilisateur Nextcloud est généré ;
      • le mot de passe SSH (il est envoyé par e-mail à votre adresse e-mail une fois le serveur prêt à fonctionner après le déploiement du logiciel) ;
      • Le port standard est 5432.
    • redis - conteneur, stockant les appels à Nextcloud en mémoire et uniquement après les enregistrements dans la base de données PostgreSQL. PostgreSQL
    • app - conteneur, le service Nextcloud possède les paramètres suivants :
      • L'accès à une application est effectué depuis un navigateur web ou une application mobile en utilisant le lien https://nextcloud(server_id).hostkey.in (par exemple, https://nextcloud16094.hostkey.in) ;
      • identifiant : admin ;
      • mot de passe : depuis ssh ;
    • onlyoffice-document-server - conteneur, le service OnlyOffice s'exécute sur le port 80.

    Attention

    Ce conteneur démarre en 6 minutes. Pendant ce temps, vous pouvez accéder à l'interface web de Nextcloud, télécharger et télécharger des fichiers, mais la possibilité de modifier des documents n'apparaîtra que 6 minutes après l'exécution de docker compose up -d (il faut un certain temps pour démarrer certains composants).

    • 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 publication du logiciel depuis le site web du développeur ou les dépôts du système d'exploitation.

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 à l'aide de la configuration cloud-init pendant le processus de commande à l'étape Automation. Cela vous permet de définir automatiquement les identifiants d'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 administrateur (spécifiez votre mot de passe fort) ;
  • nextcloud_admin_email - e-mail de l'administrateur pour les notifications ;
  • nextcloud_data_path - chemin pour stocker les données Nextcloud (par défaut : /opt/nextcloud-data).

Recommandation

Utilisez un mot de passe fort pour nextcloud_admin_pwd et un e-mail réel pour nextcloud_admin_email afin de recevoir les notifications système importantes.

Important

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. Conservez ces données dans un endroit sécurisé.

Prise en main après le déploiement de Nextcloud

Une notification sera envoyée à l'adresse e-mail spécifiée lors de l'inscription indiquant que le serveur est prêt à fonctionner 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 serveur et le panneau de contrôle 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 d'accès au tableau de bord Nextcloud avec une interface web : dans la balise webpanel ;
  • Identifiant : admin ;
  • Mot de passe : Envoyé à votre adresse e-mail après que le serveur est prêt à être utilisé suite au déploiement du logiciel.

Après avoir accédé au panneau de contrôle Nextcloud, vous devez entrer votre identifiant et votre mot de passe :

Après une 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 le serveur Nextcloud, vous devez choisir un serveur conformément aux recommandations des développeurs.

Changement du nom de domaine

Avant de commencer les travaux de changement de 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éez un répertoire pour les sauvegardes

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

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

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

    cp /opt/nextcloud/set_configuration.sh /root/nextcloud_backup/
    
  5. Copiez 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èmes, vous pouvez restaurer la configuration d'origine à partir de ces sauvegardes.

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

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

  1. Restaurez le fichier de configuration Nginx

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

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

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

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

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

    docker restart nginx-certbot
    

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

Une fois que vous êtes sûr 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érifiez le contenu du répertoire de sauvegarde

    ls -la /root/nextcloud_backup/
    
  2. Supprimez l'ensemble du répertoire de sauvegarde

    rm -rf /root/nextcloud_backup/
    

Avant la suppression, il est recommandé de vérifier le contenu du répertoire pour vous 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. Modifiez le nom d'hôte (facultatif) :

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

    nano /etc/hosts
    

    Ajoutez une ligne liant 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. Trouvez et modifiez le fichier de configuration Nginx :

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

    Remplacez toutes les occurrences 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. Renommez 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émarrez le conteneur Nginx :

    docker restart nginx-certbot
    

Configuration de Nextcloud

  1. Modifiez le fichier Docker Compose :

    nano /opt/nextcloud/compose.yml
    

    Remplacez toutes les occurrences de l'ancien nom de domaine par le nouveau (YOUR_DOMAIN_NAME). Portez une attention particulière aux lignes contenant :

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

    nano /opt/nextcloud/set_configuration.sh
    

    Remplacez toutes les occurrences 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 modifications

  1. Accédez au 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émarrer les conteneurs Nextcloud :

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

    bash /opt/nextcloud/set_configuration.sh
    

    Si le script signale une erreur indiquant que la commande "maintenance:install" n'est pas définie, c'est normal — Nextcloud a déjà été 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. En cas de problèmes, vérifiez les journaux :

    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/"
    

Notes importantes

  • Après avoir apporté des modifications, il est essentiel de vider le cache de votre navigateur ;
  • Tous les identifiants des utilisateurs 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 se produire 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.

Commande de Nextcloud via l'API