<metaname="description"content="Nextcloud est une suite de logiciels client-serveur permettant de créer et d’utiliser des services d’hébergement de fichiers.">
<divclass="col-main cell cell--auto"><!-- start custom main top snippet --><divid="results-container"class="search-result js-search-result"></div><!-- end custom main top snippet -->
</details><p><em>Nextcloud est une suite de logiciels client-serveur permettant de créer et d’utiliser des services d’hébergement de fichiers.</em><br/>
<ahref="https://www.abyssproject.net/2022/05/archivage-de-mon-script-de-build-nginx-et-comment-repasser-sous-nginx-extras/">Archivage de mon script de build NGINX (et comment repasser sous nginx-extras)</a></p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code># en mode su
<h4id="serveurs-virtuels-basés-sur-le-nom">Serveurs virtuels basés sur le nom</h4>
<p>nginx décide d’abord quel serveur doit traiter la requête. Commençons par une configuration simple où les trois serveurs virtuels écoutent sur le port *:80 :</p>
<p>Dans cette configuration, nginx teste uniquement le champ d’en-tête « Host » de la requête pour déterminer vers quel serveur la requête doit être acheminée.<br/>
Si sa valeur ne correspond à aucun nom de serveur ou si la requête ne contient pas du tout ce champ d’en-tête, alors nginx acheminera la requête vers le serveur par défaut pour ce port.<br/>
Dans la configuration ci-dessus, le serveur par défaut est le premier, ce qui correspond au comportement par défaut standard de nginx. Il peut également être défini explicitement quel serveur doit être par défaut, avec le paramètre <codeclass="language-plaintext highlighter-rouge">default_server</code> dans la directive d’écoute :</p>
<p>Notez que le serveur par défaut est une propriété du port d’écoute et non du nom du serveur.</p>
</blockquote>
<h4id="comment-empêcher-le-traitement-des-demandes-avec-des-noms-de-serveur-non-définis">Comment empêcher le traitement des demandes avec des noms de serveur non définis</h4>
<p>Si les requêtes sans le champ d’en-tête «Hosts» ne doivent pas être autorisées, un serveur qui supprime simplement les requêtes peut être défini :</p>
<p>Ici, le nom du serveur est défini sur une chaîne vide qui correspondra aux requêtes sans le champ d’en-tête « Host », et un code non standard spécial nginx 444 est renvoyé pour fermer la connexion.</p>
<pclass="info">Depuis la version 0.8.48, il s’agit du paramètre par défaut pour le nom du serveur, donc le server_name “” peut être omis. Dans les versions antérieures, le nom d’hôte de la machine était utilisé comme nom de serveur par défaut.</p>
<p><strong>Un code d’état 444</strong> indique généralement que le serveur n’a pas renvoyé de réponse au client et a fermé la connexion. Cela peut se produire pour plusieurs raisons, notamment</p>
<ul>
<li>Le serveur ou le réseau peut rencontrer un problème temporaire ou permanent qui l’empêche de répondre à la demande du client.</li>
<li>Le client peut avoir fait une demande que le serveur n’est pas en mesure de traiter ou qui enfreint les règles du serveur, ce qui amène ce dernier à mettre fin à la connexion.</li>
<li>Un pare-feu ou un logiciel de sécurité peut bloquer la demande ou la réponse, ce qui entraîne la fermeture de la connexion sans réponse.</li>
</ul>
<h4id="serveurs-virtuels-mixtes-basés-sur-le-nom-et-basés-sur-ip">Serveurs virtuels mixtes basés sur le nom et basés sur IP</h4>
<p>Regardons une configuration plus complexe où certains serveurs virtuels écoutent sur différentes adresses :</p>
<p>Dans cette configuration, nginx teste d’abord l’adresse IP et le port de la requête par rapport aux directives d’écoute des blocs serveur . Il teste ensuite le champ d’en-tête « Host » de la requête par rapport aux entrées server_name des blocs de serveur qui correspondent à l’adresse IP et au port. Si le nom du serveur n’est pas trouvé, la requête sera traitée par le serveur par défaut. Par exemple, une requête www.example.com reçue sur le port 192.168.1.1:80 sera traitée par le serveur par défaut du port 192.168.1.1:80, c’est à dire par le premier serveur, puisqu’il n’y a pas de définition www.example.com pour ce port.</p>
<p>Comme déjà indiqué, un serveur par défaut est une propriété du port d’écoute, et différents serveurs par défaut peuvent être définis pour différents ports :</p>
<p>nginx recherche d’abord l’emplacement de préfixe le plus spécifique donné par les chaînes littérales, quel que soit l’ordre indiqué. Dans la configuration ci-dessus, le seul emplacement du préfixe est «/ » et comme il correspond à toute demande, il sera utilisé en dernier recours. Ensuite, nginx vérifie les emplacements donnés par l’expression régulière dans l’ordre indiqué dans le fichier de configuration. La première expression correspondante arrête la recherche et nginx utilisera cet emplacement. Si aucune expression régulière ne correspond à une requête, nginx utilise l’emplacement de préfixe le plus spécifique trouvé précédemment.</p>
<p>Notez que les emplacements de tous types testent uniquement une partie URI de la ligne de requête sans arguments. Cela est dû au fait que les arguments dans la chaîne de requête peuvent être donnés de plusieurs manières, par exemple :</p>
<p>Voyons maintenant comment les requêtes seraient traitées dans la configuration ci-dessus :</p>
<ul>
<li>
<table>
<tbody>
<tr>
<td>Une requête «/logo.gif » correspond /d’abord à l’emplacement du préfixe « », puis à l’expression régulière «.(gif</td>
<td>jpg</td>
<td>png)$ », elle est donc traitée par ce dernier emplacement. À l’aide de la directive «root /data/www », la demande est mappée au fichier /data/www/logo.gifet le fichier est envoyé au client.</td>
</tr>
</tbody>
</table>
</li>
<li>Une requête «/index.php » correspond également /d’abord à l’emplacement du préfixe « », puis à l’expression régulière «.(php)$ ». Par conséquent, elle est gérée par ce dernier emplacement et la requête est transmise à un serveur FastCGI écoutant sur localhost:9000. La directive fastcgi_param définit le paramètre FastCGI SCRIPT_FILENAMEsur «/data/www/index.php » et le serveur FastCGI exécute le fichier. La variable $document_rootest égale à la valeur de la directive racine et la variable $fastcgi_script_nameest égale à l’URI de la requête, c’est à dire «/index.php ».</li>
<li>Une requête «/about.html » correspond /uniquement à l’emplacement du préfixe « » ; elle est donc traitée à cet emplacement. À l’aide de la directive «root /data/www », la demande est mappée au fichier /data/www/about.htmlet le fichier est envoyé au client.</li>
<li>Le traitement d’une requête «/ » est plus complexe. Il correspond uniquement au préfixe d’emplacement «/ » et est donc géré par cet emplacement. Ensuite, la directive index teste l’existence de fichiers d’index en fonction de ses paramètres et de la root /data/wwwdirective « ». Si le fichier /data/www/index.htmln’existe pas et que le fichier /data/www/index.phpexiste, alors la directive effectue une redirection interne vers «/index.php » et nginx recherche à nouveau les emplacements comme si la demande avait été envoyée par un client. Comme nous l’avons vu précédemment, la requête redirigée sera finalement traitée par le serveur FastCGI.</li>
</ul>
<h2id="php">PHP</h2>
<p>Pour installer la version de 8 de php, ajouter le dépôt sury.</p>
<p><u>Le fichier php.ini CLI (Command Line Interface) est la configuration PHP qui s'applique lorsque vous exécutez des scripts PHP en ligne de commande</u>.(<ahref="https://www.larevuegeek.com/articles/actualites-nextcloud-corrigier-lerreur-memcache-oc-memcache-apcu-not-available-for-local-cache-article643.html">Nextcloud : Corriger l’erreur Memcache \OC\Memcache\APCu not available for local cache</a>)<br/>
mysql <spanclass="nt">-uroot</span><spanclass="nt">-e</span><spanclass="s2">"CREATE DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; </span><spanclass="se">\</span><spanclass="s2">
CREATE USER 'nextcloud'@'localhost' IDENTIFIED BY '</span><spanclass="nv">$MOTPASSEDB</span><spanclass="s2">'; </span><spanclass="se">\</span><spanclass="s2">
GRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY '</span><spanclass="nv">$MOTPASSEDB</span><spanclass="s2">'; FLUSH PRIVILEGES;"</span>
</code></pre></div></div>
<p>Pour info<br/>
Effacer une base : <codeclass="language-plaintext highlighter-rouge">mysql -uroot -e 'DROP DATABASE nextcloud'</code><br/>
Effacer un utilisateur : <codeclass="language-plaintext highlighter-rouge">mysql -uroot -e 'DROP USER "nextcloud"@"localhost";'</code></p>
<h2id="sous-domaine-et-certificats">Sous-Domaine et certificats</h2>
<p><ahref="/2017/08/31/Acme-Certficats-Serveurs.html">Serveur , installer et renouveler les certificats SSL Let’s encrypt via Acme</a><br/>
Disposer d’un sous-domaine (ici cloud.rnmkcy.eu) avec des certficats SSL valides (Let’s Encrypt)</p>
<h3id="dernière-version-nextcloud">Dernière version Nextcloud</h3>
<p>en mode super utilisateur</p>
<p>Lien des versions Nextcloud server <ahref="https://download.nextcloud.com/server/releases/">https://download.nextcloud.com/server/releases/</a><br/>
<p>Créer en conséquence le fichier le fichier <codeclass="language-plaintext highlighter-rouge">/etc/nginx/conf.d/security.conf.inc</code> ci-dessous suivant le résultat de la requête précédente</p>
<p>Si vous avez installé un résolveur en local , remplacer <codeclass="language-plaintext highlighter-rouge">1.1.1.1 9.9.9.9</code> par <codeclass="language-plaintext highlighter-rouge">127.0.0.1</code><br/>
Remplacer rnmkcy.eu par le nom du domaine souhaité</p>
<p><codeclass="language-plaintext warning highlighter-rouge">ATTENTION !!! Remplacer rnmkcy.eu par le nom de votre domaine</code></p>
<p>Le fichier de configuration web cloud.rnmkcy.eu.conf <codeclass="language-plaintext highlighter-rouge">/etc/nginx/conf.d/cloud.rnmkcy.eu.conf</code></p>
<spanclass="kn">fastcgi_param</span><spanclass="s">HTTP_ACCEPT_ENCODING</span><spanclass="s">""</span><spanclass="p">;</span><spanclass="c1"># Disable encoding of nextcloud response to inject ynh scripts</span>
<p><codeclass="language-plaintext warning highlighter-rouge">Les sections Activité et Logging dans le cadre de l’administration affiche des pages vierges</code></p>
<p>C’est une indication que votre serveur web n’est pas configuré pour gérer correctement les fichiers mjs.</p>
<p>Il faut modifier le fichier “mime.types” situé dans <codeclass="language-plaintext highlighter-rouge">/etc/nginx/</code>, remplaçer la ligne suivante:</p>
<p><codeclass="language-plaintext warning highlighter-rouge">Tout est paramétré avec le domaine ouestyan.fr qu'il faut remplacer par votre domaine</code></p>
<p>Ouvrir le lien <ahref="https://cloud.rnmkcy.eu">https://cloud.rnmkcy.eu</a><br/>
Créer un compte administrateur et son mot de passe<br/>
<p><strong>Modifier le fichier /var/www/nextcloud/config/config.php</strong><br/>
Ajouter <codeclass="language-plaintext highlighter-rouge">'default_phone_region' => 'FR',</code> et les lignes suivantes dans le fichier <codeclass="language-plaintext highlighter-rouge">/var/www/nextcloud/config/config.php</code> avant le tag de fin de fichier <codeclass="language-plaintext highlighter-rouge">);</code></p>
<p>Serveur de messagerie, ajouter les lignes dans le fichier <codeclass="language-plaintext highlighter-rouge">/var/www/nextcloud/config/config.php</code> avant le tag de fin de fichier <codeclass="language-plaintext highlighter-rouge">);</code></p>
Vous pouvez programmer des tâches cron de trois façons : en utilisant <strong>AJAX</strong>, <strong>Webcron</strong> ou <strong>cron</strong>.<br/>
La méthode recommandée est <strong>cron</strong></u>.</p>
<pclass="info">Note : Il n’est pas obligatoire de sélectionner l’option Cron dans le menu d’administration pour les travaux en arrière-plan, car une fois que cron.php est exécuté à partir de la ligne de commande ou du service cron, il sera automatiquement réglé sur Cron.<br/>
<pclass="warning">Le paramètre <codeclass="language-plaintext highlighter-rouge">maintenance_window_start</code> n’est pris en compte qu’en mode cron.</p>
<p>Dans le fichier config/config.php, vous pouvez spécifier cette configuration. Certaines tâches de fond ne s’exécutent qu’une fois par jour. Lorsqu’une heure est définie (le fuseau horaire est UTC) pour cette configuration, les tâches d’arrière-plan qui s’annoncent comme non sensibles au temps seront retardées pendant les heures “ouvrables” et ne s’exécuteront que dans les 4 heures suivant l’heure donnée. Ceci est par exemple utilisé pour l’expiration des activités, la formation aux connexions suspectes et les vérifications de mise à jour.</p>
<pclass="info">Une valeur de 1, par exemple, n’exécutera ces tâches d’arrière-plan qu’entre 01h00 UTC et 05h00 UTC.</p>
<p>Ajouter le paramètre au fichier <codeclass="language-plaintext highlighter-rouge">/var/www/nextcloud/config/config.php</code></p>
<p>Préalable, le module php8.x-ldap doit être installé<br/>
Ouvrir nextcloud avec “admin”, “Applications mises en avant” et Activer LDAP puis Télécharger et activer pour que l’application apparaisse dans les “Applications actives”<br/>
<p>Se déconnecter, puis se reconnecter avec le nouvel administrateur “yann” et supprimer “admin” , l’utilisateur qui a servi à l’installation de nextcloud<br/>
<h3id="login-mot-de-passe-application">Login mot de passe application</h3>
<p>Les applications clientes de nextcloud ne peuvent pas se connecter sur nextcloud avec une authentification à 2 facteurs, il faut créer un accès login + mot de passe<br/>
Se connecter à Nextcloud puis : Personnel → Sécurité → Appareils & sessions<br/>
Sauvegarder les 2 paramètres (utilisateur et mot de passe) pour une utilisation sur les applications clientes…</p>
<h3id="nextcloud-music">Nextcloud Music</h3>
<p>« Music » est une application pour OwnCloud et Nextcloud qui joue à la fois le rôle de serveur de musique et celui de client Web.</p>
<p>Les principales fonctionnalités de Nextcloud Music sont :</p>
<ul>
<li>l’indexation de la musique présente sur le stockage Nextcloud,</li>
<li>la navigation dans sa bibliothèque et l’écoute de sa musique via une interface Web intégrée à Nextcloud,</li>
<li>et la fourniture d’APIs permettant à des applications tierces de s’y connecter.</li>
</ul>
<p>« Smart playlist » est une sélection (aléatoire ?) de 100 titres que vous pouvez écouter en un clic. Contrairement aux autres playlists, la « Smart playlist » n’est pas accessible en dehors de l’interface Web, mais il est possible de l’enregistrer vers une playlist régulière qui sera alors accessible aux applications tierces.</p>
<p>« Internet radio » et permet d’ajouter et d’écouter des Web radio. Elle fonctionne bien, mais il est important de noter que si votre instance Nextcloud est accessible en HTTPS [elle devrait !], le flux de la radio devra impérativement utiliser ce protocole également. Il s’agit-là d’une limitation liée au navigateur, qui pour des raisons de sécurité empêche d’accéder à des ressources HTTP depuis une page servie en HTTPS.</p>
<p>Et la dernière fonctionnalité permet de s’abonner à des Podcast via des flux RSS.</p>
<em>Power Ampache 2 est un client musical riche en fonctionnalités conçu pour Ampache, Nextcloud Music et les backends compatibles. Il offre toutes les fonctionnalités des autres lecteurs de musique grand public, tels que Spotify, YouTube Music et Apple Music, et bien plus encore. Avec Power Ampache 2, profitez « réellement » du téléchargement et de l’exportation de fichiers musicaux, de l’accès aux paroles, de la prise en charge de plusieurs comptes et d’une expérience sans publicité et sans suivi.</em></p>
<ul>
<li>Listes de lecture générées uniques (smartlists)</li>
<li>“Spin it!” bouton pour générer une liste de lecture pour vous.</li>
<li>Mode sombre et clair avec couleurs d’interface adaptatives, ou choisissez/créez votre propre thème.</li>
<li>Prise en charge des touches multimédias</li>
<li>Chaque fonctionnalité Bluetooth est disponible dans l’application.</li>
<li>Notifications de chansons avec commandes de lecture. Également sur l’écran de verrouillage.</li>
<li>Collections d’albums, d’artistes et de chansons</li>
<li>Recherche avancée</li>
<li>Mode hors ligne puissant</li>
<li>Créez, modifiez et partagez vos listes de lecture</li>
<p><em>Dans le domaine des réseaux informatiques, davfs2 est un outil Linux permettant de se connecter à des partages WebDAV comme s’il s’agissait de disques locaux. Il s’agit d’un système de fichiers open-source sous licence GPL pour le montage de serveurs WebDAV. Il utilise l’API du système de fichiers FUSE pour communiquer avec le noyau et la bibliothèque neon WebDAV pour communiquer avec le serveur web.</em></p>
<ul>
<li><ahref="https://docs.nextcloud.com/server/latest/user_manual/fr/files/access_webdav.html">Accès aux fichiers Nextcloud avec WebDAV</a></li>
<li><ahref="https://sleeplessbeastie.eu/2017/09/25/how-to-mount-webdav-share-using-systemd/">How to mount WebDAV share using systemd</a></li>
<li><ahref="https://sleeplessbeastie.eu/2017/09/04/how-to-mount-webdav-share/">How to mount WebDAV share</a></li>
<li><ahref="https://www.hagemann.ws/blog/linux-mount-webdav-share-using-fstab-and-davfs2.html">Linux: Mount WebDav-Share using fstab and davfs2</a></li>
</ul>
<h3id="nextcloud-notes">Nextcloud Notes</h3>
<p><strong>Notes</strong><br/>
L’application Notes est une application de prise de notes pour Nextcloud. Elle fournit des catégories pour une meilleure organisation et supporte le formatage en utilisant la syntaxe Markdown. Les notes sont sauvegardées comme des fichiers dans votre Nextcloud, vous pouvez donc les voir et les éditer avec n’importe quel client Nextcloud. De plus, une API REST séparée permet une intégration facile dans des applications tierces (actuellement, il existe des applications de notes pour Android, iOS et la console qui permettent un accès pratique à vos notes Nextcloud). D’autres fonctionnalités permettent de marquer des notes comme favorites.</p>
<p><strong>QOwnNotesAPI</strong></p>
<p><em>QOwnNotesAPI est l’API Nextcloud/ownCloud pour QOwnNotes, le bloc-notes open source pour Linux, macOS et Windows, qui fonctionne avec l’application de notes de Nextcloud/ownCloud.</em></p>
<p>Le seul but de cette application est de fournir un accès API à votre serveur Nextcloud/ownCloud pour votre installation de bureau QOwnNotes, vous ne pouvez pas utiliser cette application pour autre chose, si vous n’avez pas QOwnNotes installé sur votre ordinateur de bureau !</p>
Retour sur la page d’accueil à la fin de la mise à jour</p>
<h3id="manuellement">Manuellement</h3>
<pclass="warning">Si vous effectuez une mise à niveau à partir d’une version majeure précédente, veuillez d’abord consulter les <ahref="https://docs.nextcloud.com/server/latest/admin_manual/release_notes/index.html#critical-changes">modifications critiques (en)</a></p>
<p>Commencez toujours par effectuer une nouvelle sauvegarde et en désactivant toutes les applications tierces.</p>
<p>1 - Sauvegardez vos fichiers Nextcloud Server existants ,votre base de données, votre répertoire de données et <codeclass="language-plaintext highlighter-rouge">config.php</code>. (Voir <ahref="https://docs.nextcloud.com/server/latest/admin_manual/maintenance/backup.html">Backup</a> , pour les informations de restauration, voir<ahref="https://docs.nextcloud.com/server/latest/admin_manual/maintenance/restore.html"> Restoring backup</a> )</p>
<p>2 - Téléchargez et décompressez la dernière version de Nextcloud Server (fichier d’archive) depuis <ahref="https://download.nextcloud.com/server/releases/">https://download.nextcloud.com/server/releases/</a> dans un répertoire vide en dehors de votre installation actuelle.<br/>
Pour décompresser votre nouvelle archive tar, exécutez : <codeclass="language-plaintext highlighter-rouge">unzip nextcloud-[version].zip</code> ou <codeclass="language-plaintext highlighter-rouge">tar -xjf nextcloud-[version].tar.bz2</code></p>
<p>4 - Si vous exécutez une tâche cron pour la gestion interne de nextcloud, désactivez-la en commentant l’entrée dans le fichier crontab.(Le proriétaire du dossier est www-data ou nextcloud (<codeclass="language-plaintext highlighter-rouge">ls -la /var/www</code>)</p>
<p>6 - La décompression de la nouvelle archive crée un nouveau répertoire nextcloud rempli avec vos nouveaux fichiers serveur. Déplacez ce répertoire et son contenu vers l’emplacement d’origine de votre ancien serveur. Par exemple <codeclass="language-plaintext highlighter-rouge">/var/www/</code>, pour qu’une fois de plus vous ayez <codeclass="language-plaintext highlighter-rouge">/var/www/nextcloud</code></p>
<p>8 - Si vous conservez votre data/répertoire dans votre nextcloud/répertoire, copiez-le de votre ancienne version de Nextcloud vers votre nouveau nextcloud/. Si vous le conservez à l’extérieur nextcloud/, vous n’avez rien à faire avec, car son emplacement est configuré dans votre fichier d’origine config.phpet aucune des étapes de mise à niveau ne le touche.</p>
<p>9 - Si vous utilisez une application tierce, il se peut qu’elle ne soit pas toujours disponible dans votre instance Nextcloud mise à niveau/nouvelle. Pour vérifier cela, comparez une liste des applications du nouveau nextcloud/apps/dossier à une liste des applications de votre dossier sauvegardé/ancien nextcloud/apps/. Si vous trouvez des applications tierces dans l’ancien dossier qui doivent se trouver dans l’instance nouvelle/mise à niveau, copiez-les simplement et assurez-vous que les autorisations sont configurées comme indiqué ci-dessous.</p>
<p>10 - Si vous avez des dossiers d’applications supplémentaires comme par exemple nextcloud/apps-extras ou nextcloud/apps-external, assurez-vous de les transférer/conserver également dans le dossier mis à niveau.</p>
<p>11 - Si vous utilisez un thème tiers, assurez-vous de le copier de votre themes/répertoire vers votre nouveau. Il est possible que vous deviez y apporter quelques modifications après la mise à niveau.</p>
<p>12 - Ajustez la propriété et les autorisations des fichiers :</p>
<divclass="language-shell highlighter-rouge"><divclass="highlight"><preclass="highlight"><code><spanclass="c"># en mode su</span>
<p>(!) cela DOIT être exécuté à partir de votre répertoire d’installation nextcloud</p>
<p>15 - L’opération de mise à niveau prend de quelques minutes à quelques heures, selon la taille de votre installation. Une fois l’opération terminée, vous verrez un message de réussite ou un message d’erreur qui vous indiquera où l’erreur s’est produite.</p>
<h3id="synchroniser-deux-serveurs-nextcloud">Synchroniser deux serveurs Nextcloud</h3>
<p>depuis deux sites différents</p>
<p>La synchronisation de deux serveurs multiples Nextcloud à partir de deux sites différents implique la mise en place d’une fédération de serveur à serveur, qui permet aux deux instances de partager des fichiers, des dossiers et d’autres données. Voici un guide étape par étape sur la façon d’y parvenir :</p>
<p>Conditions requises :</p>
<ul>
<li>Deux instances Nextcloud, chacune installée sur un site différent.</li>
<li>URLs accessibles au public pour les deux instances.</li>
<li>Connectivité réseau entre les deux sites (accès internet ou connexion directe).</li>
</ul>
<p>Etapes pour synchroniser deux serveurs Nextcloud :</p>
<p>Activer l’application Federation : Sur les deux instances Nextcloud, s’assurer que l’application “Federation” est activée. Cette application permet aux serveurs de communiquer et de partager des données.</p>
<p>Configurer le serveur de confiance sur la première instance Nextcloud (Site A) :</p>
<ul>
<li>Se connecter en tant qu’administrateur.</li>
<li>Aller dans “Paramètres d’administration” > “Administration” > “Partage”.</li>
<li>Descendez jusqu’à la section “Serveurs de confiance” et cliquez sur “Ajouter un serveur de confiance”.</li>
<li>Entrez l’URL de la deuxième instance Nextcloud (Site B) et générez un jeton.<br/>
<li>Naviguez jusqu’au fichier ou dossier que vous souhaitez partager avec l’autre instance (Site B).</li>
<li>Cliquez sur le bouton “Partager” et entrez l’adresse e-mail d’un utilisateur sur la deuxième instance (Site</li>
</ul>
<p>Choisissez les permissions appropriées (lecture seule, lecture/écriture, etc.).</p>
<ul>
<li>Cliquez sur “Partager”.</li>
</ul>
<p>Accepter l’invitation au partage :<br/>
Sur l’autre instance (Site B) :</p>
<ul>
<li>Connectez-vous en tant qu’utilisateur ayant reçu l’invitation de partage.</li>
<li>Vous devriez voir une notification ou une invitation de partage entrante. Acceptez le partage.</li>
</ul>
<p>Synchronisation des données :<br/>
Une fois le partage accepté, les données seront synchronisées entre les deux instances. Les modifications effectuées sur une instance seront répercutées sur l’autre. Notez que la synchronisation peut prendre un certain temps en fonction de la taille des données et de la bande passante disponible sur le réseau.</p>
<p>Surveiller et gérer :<br/>
Vous pouvez surveiller l’état des connexions de serveur à serveur et des fichiers partagés par le biais de l’interface Nextcloud. Toute mise à jour ou modification sera propagée entre les deux instances.</p>
<p>Répéter pour d’autres partages :<br/>
Vous pouvez répéter le processus pour partager d’autres fichiers et dossiers entre les deux instances.</p>
<p>Rappelez-vous que cette configuration nécessite que les deux instances disposent d’une connectivité internet fiable ou d’une connexion réseau dédiée entre les sites. Veillez également à ce que les deux instances soient à jour et correctement sécurisées afin de préserver l’intégrité et la confidentialité des données partagées.</p>
<h3id="mot-de-passe-dapplication">Mot de passe d’application</h3>
<p><em>créer un mot de passe d’application afin de permettre à des applications de se connecter rapidement et de façon sécurisée à votre compte Nextcloud</em></p>
<p><imgsrc="/images/mp-appli01.png"alt=""/><br/>
<imgsrc="/images/mp-appli02.png"alt=""/></p>
<p>En cas de problème, vous pouvez notamment en cliquant sur les trois points à côté de votre mot de passe d’application<br/>
<imgsrc="/images/mp-appli03.png"alt=""/></p>
<ul>
<li><strong>Effacer l’appareil</strong> commande l’effacement à distance , ce qui ordonne à l’appareil (s’il a été volé par exemple) d’effacer tous les fichiers de votre compte Nextcloud qu’il contient.</li>
<li><strong>Révoquer</strong> le mot de passe, ce qui le désactive et empêche toute connexion ultérieure par ce mot de passe à votre compte Nextcloud, sans aucun impact sur votre mot de passe principal Nextcloud, qui reste sûr.</li>
</ul>
<h3id="connexion-mobile-android-à-un-compte-nextcloud">Connexion mobile Android à un compte Nextcloud</h3>
<p>Créer un mot de passe application, voir ci-dessus. Le mot de passe d’application se nomme “Mobiles”</p>
<p>Sur votre mobile, installez l’application Nextcloud, disponible sur le <ahref="https://play.google.com/store/apps/details?id=com.nextcloud.client&gl=US">Play Store</a> ou sur <ahref="https://f-droid.org/en/packages/com.nextcloud.client/">F-Droid</a>.<br/>
Lancez l’application et cliquez sur Se connecter.<br/>
<h3id="double-facteur---clé-de-sécurité">Double facteur - Clé de sécurité</h3>
<p><em><imgsrc="/images/yubikey5nfc.png"alt=""height="50"/>YubiKey 5 Series Une gamme multiprotocole (FIDO2/WebAuthn, U2F, Smart Card, OpenPGP, OTP) qui est le premier choix des entreprises et qui prend en charge la fonction sans mot de passe</em></p>
<ol>
<li>La clé “Yubikey 5 NFC” est connectée sur un port USB de l’ordinateur</li>
<li>Nextcloud, Paramétrage “Personnel” -> “Sécurité” -> “Authentification à deux facteurs” cliquer sur “Ajouter une clé de sécurité”</li>
<li>Valider la prise en charge <imgsrc="/images/yubikey-validation.png"alt=""/></li>
<h3id="sans-mot-de-passe---webauthnn">Sans mot de passe - WebAuthnn</h3>
<p><em><imgsrc="/images/yubikey5nfc.png"alt=""height="50"/>YubiKey 5 Series Une gamme multiprotocole (FIDO2/WebAuthn, U2F, Smart Card, OpenPGP, OTP) qui est le premier choix des entreprises et qui prend en charge la fonction sans mot de passe</em></p>
<p><codeclass="language-plaintext warning highlighter-rouge">ATTENTION: Fonctionne uniquement sur les navigateurs Chrome, Firefox et Edge</code></p>
<p>Paramètres → Applications → Applications mises en avant <br/>
Télécharger et activer l’application <strong>Two-Factor WebAuthnn</strong></p>
<ol>
<li>La clé “Yubikey 5 NFC” est connectée sur un port USB de l’ordinateur</li>
<li>Nextcloud, Paramétrage “Personnel” -> “Sécurité” -> “Authentification sans mot de passe” cliquer sur “Ajouter un périphérique WebAuthnn”<br/>
<h3id="accès-boîte-de-stockage">Accès boîte de stockage</h3>
<p>Créer un accès à la boîte de stockage <codeclass="language-plaintext highlighter-rouge">u326239@u326239.your-storagebox.de</code> via sftp et un jeu de clé ed25519</p>
<p>Générer une paire de clé curve25519-sha256 (ECDH avec Curve25519 et SHA2)</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>ssh-keygen -t ed25519 -o -a 100 -f ~/.ssh/bx11-xoyize.net
</code></pre></div></div>
<p>Ajouter la clé publique <codeclass="language-plaintext highlighter-rouge">bx11-xoyize.net.pub</code> au fichier <codeclass="language-plaintext highlighter-rouge">.ssh/authorized_keys</code> de la boîte de stockage</p>
<p>Tester la connexion, créer dossier xoyize.net et sortir</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>The authenticity of host '[u326239.your-storagebox.de]:23 ([2a01:4f8:261:59d3::2]:23)' can't be established.
ED25519 key fingerprint is SHA256:XqONwb1S0zuj5A1CDxpOSuD2hnAArV1A3wKY7Z3sdgM.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '[u326239.your-storagebox.de]:23' (ED25519) to the list of known hosts.
Le mode maintenance verrouille les sessions des utilisateurs connectés et empêche les nouvelles connexions afin d’éviter les incohérences de vos données. Vous devez exécuter occ comme utilisateur HTTP ou nextcloud</p>
Il suffit de copier vos dossiers de configuration, de données et de thème (ou même votre dossier d’installation et de données de Nextcloud) vers un endroit à l’extérieur de votre environnement Nextcloud</p>
<p><strong>Sauvegarde base de données MySql</strong></p>
<p>Pour un support 4 octets MySQL/MariaDB (Enabling MySQL Support 4 octets, nécessaire pour emoji), vous devrez ajouter <codeclass="language-plaintext highlighter-rouge">--default-character-set=utf8mb4</code></p>
<p>Note : Ce guide suppose que votre sauvegarde précédente est appelée “nextcloud-dirbkp”</p>
<p>Il suffit de copier votre dossier de configuration et de données (ou même votre dossier d’installation et de données Nextcloud) dans votre environnement Nextcloud. Vous pouvez utiliser cette commande:</p>
<h3id="synchronisation-avec-les-clients">Synchronisation avec les clients</h3>
<p>après la récupération de données</p>
<p>Par défaut, le serveur Nextcloud est considéré comme la source pour les données. Si les données sur le serveur et le client diffèrent, les clients récupèrent par défaut les données sur le serveur.</p>
<p>Si la sauvegarde récupérée est dépassée, l’état des clients peut être plus à jour que l’état du serveur. Dans ce cas également assurez-vous de lancer la commande <codeclass="language-plaintext highlighter-rouge">maintenance:data-fingerprint</code> par la suite. Il modifie la logique de l’algorithme de synchronisation pour essayer de récupérer autant de données que possible. Les fichiers manquants sur le serveur sont donc récupérés auprès des clients et en cas de contenu différent les utilisateurs seront demandés.</p>
<p>Note:<br/>
L’utilisation de la maintenance : l’empreinte de données peut provoquer des dialogues de conflit et des difficultés à supprimer des fichiers sur le client. Par conséquent, il est seulement recommandé d’empêcher la perte de données si la sauvegarde a été dépassée.</p>
<p>Si vous exécutez plusieurs serveurs d’applications, vous devrez vous assurer que les fichiers de configuration sont synchronisés entre eux de sorte que l’empreinte de données actualisée est appliquée sur tous les cas.</p>
<p>Scripts Bash pour la sauvegarde/restauration de <ahref="https://nextcloud.com/">Nextcloud</a>.</p>
<p>Il est basé sur une installation Nextcloud utilisant nginx et PostgreSQL/MariaDB (voir le tutoriel (allemand) <ahref="https://decatec.de/home-server/nextcloud-auf-ubuntu-server-22-04-lts-mit-nginx-postgresql-mariadb-php-lets-encrypt-redis-und-fail2ban/">Nextcloud auf Ubuntu Server 22.04 LTS mit nginx, PostgreSQL/MariaDB, PHP, Let’s Encrypt, Redis und Fail2ban</a>).<br/>
<em>Les scripts peuvent également être utilisés lorsqu’Apache est utilisé comme serveur Web.</em></p>
<p>Pour une sauvegarde complète de n’importe quelle instance Nextcloud, vous devrez sauvegarder ces éléments :</p>
<ul>
<li>Le répertoire de fichiers Nextcloud (généralement /var/www/nextcloud )</li>
<li>Le répertoire de données de Nextcloud (il est recommandé qu’il ne se trouve pas à la racine Web, donc par exemple /var/nextcloud_data )</li>
<li>La base de données Nextcloud</li>
<li>Eventuellement un stockage externe local monté dans Nextcloud</li>
</ul>
<p>Avec ces scripts, tous ces éléments peuvent être inclus dans une sauvegarde.</p>
<h3id="exigences">Exigences</h3>
<ul>
<li><em>tar</em></li>
<li><em>pigz</em> (https://zlib.net/pigz/) lors de l’utilisation de la compression de sauvegarde. S’il n’est pas déjà installé, il peut être installé avec <codeclass="language-plaintext highlighter-rouge">apt install pigz</code> (Debian/Ubuntu).<br/>
S’il n’est pas disponible, vous pouvez utiliser un autre algorithme de compression (par exemple gzip)</li>
</ul>
<h3id="remarques-importantes-sur-lutilisation-des-scripts">Remarques importantes sur l’utilisation des scripts</h3>
<ul>
<li>Après avoir cloné ou téléchargé les scripts, ceux-ci doivent être configurés en exécutant le script setup.sh(voir ci-dessous).</li>
<li>Si vous ne souhaitez pas utiliser l’installation automatisée, vous pouvez également utiliser le fichier <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf.sample</code> comme point de départ. Assurez-vous simplement de renommer le fichier lorsque vous avez terminé (<codeclass="language-plaintext highlighter-rouge">cp NextcloudBackupRestore.conf.sample NextcloudBackupRestore.conf</code>)</li>
<li>Le fichier de configuration <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf</code> doit se trouver dans le même répertoire que les scripts de sauvegarde/restauration.</li>
<li>Les scripts supposent que le <u>répertoire de données de Nextcloud n'est pas un sous-répertoire de l'installation de Nextcloud</u> (répertoire de fichiers). La recommandation générale est que le répertoire de données ne doit pas se trouver quelque part dans le dossier Web de votre serveur Web (généralement <em>/var/www/</em>), mais dans un dossier différent (par exemple /var/nextcloud_data ). Pour plus d’informations, voir <ahref="https://docs.nextcloud.com/server/latest/admin_manual/installation/installation_wizard.html#data-directory-location-label">ici</a>.</li>
<li>Cependant, si votre répertoire de données se trouve sous le répertoire de fichiers Nextcloud, vous devrez modifier la configuration du script (fichier <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf</code> après exécution <codeclass="language-plaintext highlighter-rouge">setup.sh</code>) afin que le répertoire de données ne fasse pas partie de la sauvegarde/restauration (sinon, il serait copié deux fois)</li>
<li>Les scripts sauvegardent uniquement le répertoire de données Nextcloud et peuvent sauvegarder un stockage externe local monté dans Nextcloud. Si vous disposez d’un autre stockage externe monté dans Nextcloud (par exemple FTP), ces fichiers doivent être traités séparément.</li>
<li>Les scripts prennent en charge nginx et Apache comme serveur Web.</li>
<li>Les scripts prennent en charge MariaDB/MySQL et PostgreSQL comme base de données.</li>
<li>Vous devriez avoir activé la prise en charge de 4 octets (voir <ahref="https://docs.nextcloud.com/server/latest/admin_manual/configuration_database/mysql_4byte_support.html">Nextcloud Administration Manual</a>) sur votre base de données Nextcloud. Sinon, lorsque vous n’avez pas activé le support 4 octets, vous devez éditer le script de restauration, afin que la base de données ne soit pas créée avec le support 4 octets activé (variable <codeclass="language-plaintext highlighter-rouge">dbNoMultibyte</code>).</li>
<li>Les scripts peuvent exclure le répertoire de données Nextcloud de la sauvegarde et de la restauration.
<strong>ATTENTION</strong> : L’exclusion du répertoire de données n’est <strong>PAS RECOMMANDÉE</strong> car cela laisse la sauvegarde dans un état incohérent et peut entraîner une perte de données !</li>
</ul>
<h3id="installation">Installation</h3>
<ol>
<li>Clonez le dépôt: <codeclass="language-plaintext highlighter-rouge">git clone https://codeberg.org/DecaTec/Nextcloud-Backup-Restore.git</code></li>
<li>Appelez le script (interactif) de configuration automatisée (cela créera un fichier <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf</code> contenant la configuration souhaitée): <codeclass="language-plaintext highlighter-rouge">./setup.sh</code></li>
<li><strong>Important</strong>: Vérifiez ce fichier de configuration si tout a été configuré correctement (voir TODO dans les commentaires du fichier de configuration)</li>
<li>Commencez à utiliser les scripts : voir les sections <em>Sauvegarde</em> et <em>restauration</em> ci-dessous</li>
</ol>
<p>Gardez à l’esprit que le fichier de configuration <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf</code> doit être situé dans le même répertoire que les scripts de sauvegarde/restauration, sinon la configuration ne sera pas trouvée.</p>
<p>Certaines options facultatives ne sont pas configurées à l’aide de <codeclass="language-plaintext highlighter-rouge">setup.sh</code>, mais sont définies sur les valeurs par défaut dans <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf</code>. Ce sont les options “dangereuses” qui ne doivent généralement pas être modifiées et qui sont marquées comme ‘OPTIONAL’ dans <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf</code></p>
<h3id="sauvegarde">Sauvegarde</h3>
<p>Afin de créer une sauvegarde, appelez simplement le script <em>NextcloudBackup.sh</em> sur votre machine Nextcloud. Si ce script est appelé sans paramètre, la sauvegarde est enregistrée dans un répertoire avec l’horodatage actuel dans votre répertoire de sauvegarde principal : à titre d’exemple, ce serait <em>/media/hdd/nextcloud_backup/20170910_132703</em>. Le script de sauvegarde peut également être appelé avec un paramètre spécifiant le répertoire de sauvegarde principal, par exemple <em>./NextcloudBackup.sh /media/hdd/nextcloud_backup</em>. Dans ce cas, le répertoire spécifié sera utilisé comme répertoire principal de sauvegarde.</p>
<p>Vous pouvez également appeler ce script par cron. Exemple (à 2h du matin tous les soirs, avec sortie de journal) :</p>
<p>Appelez <em>NextcloudRestore.sh</em> afin de restaurer une sauvegarde.<br/>
Lorsque ce script est appelé sans paramètres, il répertorie les sauvegardes disponibles pour la restauration. <br/>
Afin de restaurer une sauvegarde, appelez ce script avec un paramètre précisant le nom (c’est-à-dire l’horodatage) de la sauvegarde à restaurer. Dans cet exemple, ce serait <em>20170910_132703</em>. La commande complète pour une restauration serait <em>./NextcloudRestore.sh 20170910_132703</em>.
Vous pouvez également spécifier le répertoire de sauvegarde principal avec un deuxième paramètre, par exemple <em>./NextcloudRestore.sh 20170910_132703 /media/hdd/nextcloud_backup</em>.</p>
<h3id="mise-à-jour-des-scripts">Mise à jour des scripts</h3>
<p>Après avoir mis à jour les scripts vers une version plus récente, il est recommandé d’exécuter (<codeclass="language-plaintext highlighter-rouge">setup.sh</code>) à nouveau le script de configuration afin de s’assurer que les dernières modifications sont appliquées au fichier de configuration <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf</code>. <br/>
Gardez à l’esprit qu’une version déjà existante de <codeclass="language-plaintext highlighter-rouge">NextcloudBackupRestore.conf</code> sera écrasée au cours de cette procédure.</p>
<p>Il est également recommandé d’exécuter à nouveau le script de configuration si vous souhaitez modifier certains paramètres de base de sauvegarde/restauration (par exemple activer ou désactiver la compression).</p>
<h2id="maintenance">Maintenance</h2>
<ul>
<li><ahref="https://docs.nextcloud.com/server/latest/admin_manual/index.html">Nextcloud Server Administration Guide</a></li>
<li><ahref="https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html#">Utiliser les commandes php occ</a></li>
</ul>
<h3id="ipv6-mal-identifié">IPV6 mal identifié</h3>
<pclass="error">Il y a quelques erreurs concernant votre configuration.
Votre adresse réseau a été identifiée comme « 2a01:e0a:9c8:2080:e4df:3427:584e:b684 » et elle est bridée par le mécanisme anti-intrusion ce qui ralentit la performance de certaines requêtes. Si cette adresse réseau n’est pas la vôtre, cela peut signifier qu’il y a une erreur de configuration d’un proxy.</p>
<h3id="base-de-données-index-manquants">Base de données, index manquants</h3>
<pclass="warning">La base de données a quelques index manquants. L’ajout d’index dans de grandes tables peut prendre un certain temps. Elles ne sont donc pas ajoutées automatiquement. En exécutant “occ db:add-missing-indices”, ces index manquants pourront être ajoutés manuellement pendant que l’instance continue de tourner. Une fois les index ajoutés, les requêtes sur ces tables sont généralement beaucoup plus rapides. Index optionnels manquants « mail_messages_strucanalyz_idx » dans la table « mail_messages ». Index optionnels manquants « mail_class_creat_idx » dans la table « mail_classifiers ». Index optionnels manquants « mail_acc_prov_idx » dans la table « mail_accounts ». Index optionnels manquants « mail_alias_accid_idx » dans la table « mail_aliases ».</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>Adding additional mail_messages_strucanalyz_idx index to the oc_mail_messages table, this can take some time...
oc_mail_messages table updated successfully.
Adding additional mail_class_creat_idx index to the oc_mail_classifiers table, this can take some time...
oc_mail_classifiers table updated successfully.
Adding additional mail_acc_prov_idx index to the oc_mail_accounts table, this can take some time...
oc_mail_accounts table updated successfully.
Adding additional mail_alias_accid_idx index to the oc_mail_aliases table, this can take some time...
<p>Parfois, Nextcloud peut rester bloqué lors d’une mise à niveau si le processus de mise à niveau basé sur le Web est utilisé. Cela est généralement dû au fait que le processus prend trop de temps et rencontre un délai d’attente PHP.</p>
<p>Arrêtez le processus de mise à niveau de cette façon :</p>
Il peut arriver, lorsque la corbeille devient très chargée, qu’il ne soit plus possible de la vider via l’interface graphique. Dans ce cas-ci, il est recommandé d’utiliser la ligne de commande pour effectuer une vidange manuelle. De plus, cette méthode permet d’accomplir le travail pour plusieurs comptes à la fois, ou même pour l’ensemble de l’installation.</p>
<p>Premièrement, on va se positionner dans le répertoire d’installation de Nextcloud, généralement <codeclass="language-plaintext highlighter-rouge">/var/www/nextcloud</code></p>
<p>Si votre installation est native, l’utilisateur sera <strong>www-data</strong>. Si, par contre, vous utilisez Yunohost, votre utilisateur est <strong>nextcloud</strong>, car il crée des utilisateurs pour chaque application.</p>
<divclass="language-bash highlighter-rouge"><divclass="highlight"><preclass="highlight"><code><spanclass="nv">nc_user</span><spanclass="o">=</span>nextcloud <spanclass="c"># changer ici au besoin</span>
</code></pre></div></div>
<p>Nous allons exécuter la commande suivante pour nettoyer le système de fichiers et la corbeille</p>
<p><strong>Limiter la durée de rétention des fichiers</strong><br/>
On peut limiter la durée de rétention des fichiers. Pour ce faire, il faut modifier le fichier <codeclass="language-plaintext highlighter-rouge">/var/www/nextcloud/config/config.php</code><br/>
À la fin du fichier, après la dernière ligne de paramètres, ajouter la ligne suivante:</p>
Nextcloud inclus une routine PHP pour effectuer des tâches de maintenance automatique. Nous pouvons augmenter la fréquence d’exécution en ajoutant cette ligne de commande à la table de CRON de l’utilisateur root. Pour modifier, utiliser cette commande:</p>
<p><strong>Passage Nextcloud Hub 9 (30.0.0)</strong> septembre 2024</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code> Detected some missing optional indices. Occasionally new indices are added (by Nextcloud or installed applications) to improve database performance. Adding indices can sometimes take awhile and temporarily hurt performance so this is not done automatically during upgrades. Once the indices are added, queries to those tables should be faster. Use the command `occ db:add-missing-indices` to add them. Index manquants : "fs_name_hash" in table "filecache". Pour plus d’information, voir la documentation ↗.
One or more mimetype migrations are available. Occasionally new mimetypes are added to better handle certain file types. Migrating the mimetypes take a long time on larger instances so this is not done automatically during upgrades. Use the command `occ maintenance:repair --include-expensive` to perform the migrations.
<p><strong>BUG</strong> NON RESOLU le 20/09/2024</p>
<divclass="language-plaintext highlighter-rouge"><divclass="highlight"><preclass="highlight"><code>An exception occured while running the setup check: ValueError: The arguments array must contain 3 items, 1 given in /var/www/nextcloud/lib/private/L10N/L10NString.php:68 Stack trace:
<p><strong>Passage Nextcloud Hub 9 (30.0.2)</strong> novembre 2024</p>
<p>Avertissement sur un problème de cache</p>
<pclass="warning">Le module PHP OPcache n’est pas correctement configuré. Le tampon mémoire des chaînes internes OPcache est presque plein. Pour vous assurer que les chaînes répétitives peuvent être mise en cache, il est recommandé de définir la variable “opcache.interned_strings_buffer” de votre fichier de configuration PHP à une valeur supérieure à “16”</p>
<p>Correction dans le fichier <codeclass="language-plaintext highlighter-rouge">/etc/php/8.3/fpm/pool.d/nextcloud.conf</code><br/>