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 et la collaboration des données. 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 au niveau du client, ce qui garantit la sécurité lors de la transmission des données via Internet. Grâce à Nextcloud, vous pouvez synchroniser les données entre différents appareils et travailler en ligne et hors ligne. Nextcloud propose 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 dispose 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 des applications pour ordinateurs de bureau et appareils mobiles.
  • Synchronisation de fichiers. La capacité à synchroniser les fichiers entre différents appareils rend le 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 permet également de restaurer des versions antérieures 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 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 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 via celles-ci.
  • Extensibilité. Nextcloud a de nombreuses applications supplémentaires qui peuvent être installées et utilisées pour étendre la fonctionnalité. 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 Système d'exploitation compatible VM BM VGPU GPU Min CPU (Cœurs) Min RAM (Go) Min HDD/SSD (Go) Actif
16 Ubuntu 22.04 + + + + 2 4 40 Oui
  • Nextcloud est inclus dans le noyau et ne nécessite aucune installation supplémentaire. Nous fournissons une interface web à travers 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 lance 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 définis :
      • La base de données (ou base) Nextcloud est créée;
      • L'utilisateur Nextcloud est généré;
      • le mot de passe pour SSH (il est envoyé par e-mail à votre adresse email 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 seulement après enregistrements dans la base de données PostgreSQL. PotgreSQL
    • app - conteneur, service Nextcloud a 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);
      • login: admin;
      • mot de passe: depuis ssh;
    • onlyoffice-document-server - conteneur, service OnlyOffice s'exécute sur le port 80.

    Attention

    Ce conteneur démarre dans les 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 (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.

Note

Sauf indication contraire, par défaut nous installons la dernière version de logiciel en provenance du site web du développeur ou des dépôts du système d'exploitation.

Commencer 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 à l'emploi après le paiement de la commande. Elle contiendra l'adresse IP du VPS, ainsi que le login 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 Info >> Tags du panneau de contrôle du serveur, soit dans l'e-mail qui vous a été envoyé.

  • Lien d'accès au tableau de bord Nextcloud avec une interface web : dans le tag webpanel;
  • Login : admin;
  • Mot de passe : Envoyé à votre adresse e-mail après que le serveur soit prêt à l'utilisation suite au déploiement du logiciel.

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

Après une connexion réussie, vous pouvez commencer à utiliser le service.

Note

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.

Changer le nom de domaine

Avant de commencer le travail sur la modification 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 principaux fichiers, 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 lors du processus de changement de nom de domaine. En cas de problèmes, vous pouvez restaurer la configuration d'origine à partir de ces sauvegardes.

Restaurer depuis les Sauvegardes et Supprimer 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. 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 été réussi et que tout fonctionne correctement (il est recommandé d'attendre au moins 24-48 heures pour des tests complets), vous pouvez en toute sécurité supprimer 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 supprimez uniquement les fichiers nécessaires.

Configurer les Fichiers

  1. Connectez-vous au serveur via SSH :

    ssh root@IP_ADDRESS
    
  2. Changez le nom d'hôte (optionnel) :

    hostnamectl set-hostname nextcloud_server
    
  3. Éditez /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)

Configurer Nginx

  1. Trouvez et éditez le fichier de configuration Nginx :

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

    Remplacez toutes les occurrences du nom de domaine ancien (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
    

Configurer Nextcloud

  1. Éditez le fichier Docker Compose :

    nano /opt/nextcloud/compose.yml
    

    Remplacez toutes les occurrences du nom de domaine ancien 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. Éditez le script de configuration Nextcloud :

    nano /opt/nextcloud/set_configuration.sh
    

    Remplacez toutes les occurrences du nom de domaine ancien par le nouveau. Faites particulièrement attention 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/

Appliquer les 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 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 à https://YOUR_DOMAIN_NAME

  2. Si des problèmes surviennent, 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/"
    

Remarques Importantes

  • Après avoir effectué des modifications, il est essentiel de vider le cache du navigateur ;
  • Toutes les informations d'identification des utilisateurs restent identiques à celles avant le changement de nom de domaine ;
  • Si votre fournisseur DNS nécessite un délai pour la mise à jour des enregistrements, une certaine latence 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 ;
  • Le PTR record (DNS inversé) 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 en utilisant l'API, suivez ces instructions.


Une partie du contenu sur cette page a été créée ou traduite à l'aide de l'IA.