- Configuration requise et environnement serveur utilisé
- Où puis-je trouver les avertissements de sécurité et de configuration dans Nextcloud ?
- Préparatifs – Gérer Nextcloud via SSH
- Qu’est-ce que l’OCC chez Nextcloud ?
- Faites une sauvegarde au préalable
- Avertissement Nextcloud : Définir le début de la fenêtre de maintenance
- Configurer les fenêtres de maintenance via OCC
- Vérifier la fenêtre de maintenance
- Migrations de type Nextcloud MIME disponibles – correction de bugs
- Effectuer des migrations de type MIME
- Nextcloud : Ajouter les index de base de données manquants
- Créer automatiquement les index de base de données manquants
- Nextcloud : Réparer la résolution du fournisseur OCS et le fournisseur OCM
- Vérifiez le module de réécriture Apache2
- Vérifiez Apache2 AllowOverride
- Mettre à jour Nextcloud .htaccess
- Remplacer l’URL de Nextcloud CLI
- Définir le domaine public Nextcloud
- Configurer correctement Nextcloud derrière Nginx Proxy Manager
- Qu’est-ce que les domaines_de confiance ?
- Qu’est-ce que trust_proxies ?
- Configurer HTTPS avec le protocole d’écrasement
- Nextcloud : définir la région téléphonique par défaut
- Configurer ou désactiver le démon de provisionnement Nextcloud AppAPI
- Qu’est-ce qu’un démon de déploiement AppAPI ?
- Désactivez AppAPI lorsque vous n’en avez pas besoin
- Activer l’authentification à deux facteurs Nextcloud
- Rendre obligatoire l’authentification à deux facteurs
- Configurer l’ID du serveur Nextcloud
- Vérifier l’ID du serveur
- Recherchez et corrigez les erreurs du protocole Nextcloud
- Rechercher le fichier journal Nextcloud
- Vérifiez les journaux Apache2
- Causes courantes des erreurs de journal Nextcloud
- Configurer correctement les tâches cron Nextcloud
- Vérifier la tâche cron Nextcloud
- Mettre à jour Nextcloud avec succès – Mise à niveau et mise à jour OCC
- Vérifiez la version Nextcloud installée
- Mettre à jour Nextcloud via la ligne de commande
- Vérifier le mode de maintenance après une mise à niveau
- Exécutez des commandes de maintenance supplémentaires après la mise à jour
- Vérifiez la version PHP et la configuration PHP
- Différence entre PHP CLI et PHP sur le serveur Web
- Accélérez Nextcloud avec Redis et APCu
- Utiliser APCu comme cache local
- Utiliser Redis pour le verrouillage de fichiers
- Nettoyer la corbeille Nextcloud et les versions de fichiers
- Vider la corbeille d’un utilisateur
- Supprimer les anciennes versions de fichiers
- Autres paramètres importants de sécurité et de performances de Nextcloud
- Certificats HTTPS et SSL
- En-tête de sécurité HTTP
- Vérifier les autorisations des fichiers
- Protéger le répertoire de données Nextcloud
- Entretenir régulièrement la base de données
- Foire aux questions sur la correction des alertes Nextcloud
- Toutes les alertes de sécurité Nextcloud sont-elles critiques ?
- Les avertissements Nextcloud peuvent-ils disparaître après une mise à jour ?
- Que signifie Aucune mise à niveau requise chez Nextcloud ?
- Devez-vous réparer Nextcloud après chaque mise à jour ?
- Nextcloud a-t-il absolument besoin de Redis ?
- Pouvez-vous exécuter Nextcloud sans Docker ?
- Devez-vous redémarrer Apache2 après avoir apporté des modifications au config.php ?
Quiconque exécute Nextcloud sur son propre serveur trouvera régulièrement divers avertissements de sécurité et de configuration dans les paramètres d’administration. Ceux-ci apparaissent par exemple après une mise à jour, une modification de la configuration du serveur ou lorsque de nouvelles fonctions ont été ajoutées.
Tous les avertissements ne signifient pas automatiquement que Nextcloud est dangereux ou ne fonctionne pas correctement. Il s’agit souvent d’entrées de configuration manquantes, d’index de base de données supplémentaires, de migrations incomplètes ou de problèmes avec le serveur Web. Néanmoins, vous ne devez pas ignorer définitivement les messages, car certains d’entre eux peuvent affecter la sécurité, les performances ou la fiabilité de votre installation Nextcloud.
Dans mon cas, j’exécute Nextcloud sur un serveur Ubuntu dans un conteneur Proxmox LXC. Apache2, PHP et les autres composants requis sont installés directement sous Ubuntu. Pour l’accès via Internet, j’utilise également le Nginx Proxy Manager comme proxy inverse.
Après la mise à jour vers Nextcloud 34.0.5, j’ai commencé à voir divers avertissements de sécurité et de configuration. Ceux-ci incluent des index de base de données manquants, des migrations de type MIME, des problèmes avec les URL .well-known et un temps de maintenance non configuré.
Dans ce guide, je vais vous montrer comment corriger ces avertissements Nextcloud, quelles commandes OCC sont nécessaires et ce à quoi vous devez prêter une attention particulière lors de l’installation derrière un proxy inverse.
Configuration requise et environnement serveur utilisé
Les étapes suivantes s’appliquent à une instance Nextcloud installée manuellement sur Ubuntu.
A titre d’exemple, j’utilise la configuration de serveur suivante :
| composant | Environnement utilisé |
|---|---|
| Virtualisation | Proxmox VE |
| récipient | Ubuntu LXC |
| Logiciel cloud | Nextcloud 34.0.5, mis à niveau vers 35.0.2 |
| Serveur Web | Apache2 |
| PHP | PHP8.4 |
| base de données | MariaDB ou MySQL |
| Proxy inverse | Gestionnaire de proxy Nginx |
| HTTPS | Via le proxy inverse |
| Répertoire Nextcloud | /var/www/html |
| Utilisateur du serveur Web | www-data |
La plupart des commandes fonctionnent également sur Debian ou sur un serveur Ubuntu installé directement sur un PC ou une machine virtuelle.
Pour les installations Docker, les packages Nextcloud AIO ou Snap, les répertoires et les commandes requises peuvent différer.
Il est également important que la version PHP utilisée et la base de données répondent à la configuration système requise de la version Nextcloud installée.
Où puis-je trouver les avertissements de sécurité et de configuration dans Nextcloud ?
Les messages sont consultables directement dans l’interface web de Nextcloud.
Pour ce faire, connectez-vous avec un compte administrateur et ouvrez les paramètres administratifs via le menu du profil.
Accédez ensuite à l’élément de menu Aperçu.

Nextcloud y effectue diverses vérifications automatiques. Entre autres choses, la base de données, le serveur Web, les paramètres de sécurité, les tâches en arrière-plan et certaines fonctions des applications installées sont vérifiés.
Nextcloud fait la différence entre les avertissements et les avis.
Les symboles d’avertissement jaunes indiquent des problèmes de configuration qui doivent être vérifiés ou corrigés. Les icônes d’information bleues, en revanche, indiquent souvent des paramètres recommandés ou facultatifs.
Les messages typiques sont :
| Message d’erreur | Causé | Solution |
|---|---|---|
| Erreur dans le protocole | Erreurs causées par les applications, PHP, la base de données ou les tâches en arrière-plan | Examiner les journaux |
| Début de la fenêtre de maintenance | Pas d’heure de début pour les tâches de maintenance | Configurer les fenêtres de maintenance |
| Migrations de type MIME disponibles | Migrations de types de fichiers supplémentaires requises | Exécuter la commande de réparation |
| Résolution du fournisseur OCS | Le serveur Web ne traite pas correctement /ocm-provider/ | Vérifier la configuration d’Apache |
URL .well-known | Redirections manquantes ou incorrectes | Configurer Apache ou un proxy inverse |
| Index de base de données manquants | Les nouveaux index n’ont pas été créés automatiquement | Ajouter des index |
| Remplacer l’URL CLI | Adresse publique Nextcloud non stockée | Définir overwrite.cli.url |
| Démon de déploiement AppAPI | Aucun démon de déploiement configuré | Configurer ou désactiver AppAPI |
| Configuration à deux facteurs | 2FA non obligatoire | Activer éventuellement |
| Région téléphonique par défaut | Pas de code pays standard | Définir la région du téléphone |
| ID du serveur de configuration | Aucun ID de serveur fixe disponible | Définir éventuellement l’ID du serveur |
Les sections suivantes expliquent chaque problème et montrent comment le résoudre.
Préparatifs – Gérer Nextcloud via SSH
Pour de nombreuses tâches de maintenance, vous devez accéder au terminal du serveur Nextcloud.
Lors de l’installation dans un conteneur Proxmox LXC, vous pouvez ouvrir la console directement via l’interface Web Proxmox. Alternativement, vous pouvez vous connecter au serveur Ubuntu via SSH.
Après vous être connecté, accédez au répertoire d’installation de Nextcloud :
cd /var/www/html
Vous pouvez ensuite vérifier si Nextcloud est correctement installé à l’aide de la commande suivante :
sudo -u www-data php occ status
Par exemple, la sortie contient :
installed: true
version: 34.0.5.1
versionstring: 34.0.5
maintenance: false
needsDbUpgrade: false
Ici, vous pouvez voir la version Nextcloud actuellement installée et si le système est en mode maintenance.
L’entrée needsDbUpgrade: false signifie que les fichiers du programme installé ne sont plus en attente de mise à niveau de la base de données.
Qu’est-ce que l’OCC chez Nextcloud ?
OCC signifie l’outil de ligne de commande de Nextcloud et est basé sur PHP.
De nombreuses tâches administratives peuvent être effectuées sans avoir à ouvrir l’interface web.
Ceux-ci incluent, par exemple :
- Mises à jour Nextcloud et migrations de bases de données
- Travaux de réparation et d’entretien
- Gestion des utilisateurs et des applications
- Configuration des paramètres système
- Ajouter les index de base de données manquants
- Gestion des fichiers et des versions de fichiers
- Vérification du mode maintenance
Les commandes OCC doivent normalement être exécutées avec l’utilisateur du serveur Web www-data sur Ubuntu.
Si vous le démarrez en tant que root à la place, vous risquez de définir de manière incorrecte les autorisations de fichiers.
Si un message d’erreur concernant APCu apparaît lors de l’exécution, vous pouvez demander à PHP d’activer le cache via la ligne de commande :
sudo -u www-data php -d apc.enable_cli=1 occ status
Pour les exemples restants, j’utilise la notation la plus courte. Si APCu pose des problèmes avec des commandes OCC individuelles, le même paramètre peut être ajouté.
Faites une sauvegarde au préalable
Avant une mise à jour majeure de Nextcloud ou une réparation de base de données, vous devez absolument créer une sauvegarde complète.
Celui-ci doit contenir au moins les éléments suivants :
| ingrédient | Signification |
|---|---|
| Fichiers du programme Nextcloud | Fichiers de la version Nextcloud installée |
config.php | Paramètres du serveur et connexion à la base de données |
| Répertoire de données Nextcloud | Fichiers téléchargés et données utilisateur |
| base de données | Utilisateurs, métadonnées de fichiers, partages et applications |
| Configuration du serveur Web | Configuration d’Apache et, si nécessaire, de PHP |
Toute personne utilisant Proxmox peut également créer un instantané ou une sauvegarde complète du conteneur.
Il convient de noter qu’un instantané d’un conteneur en cours d’exécution ne garantit pas nécessairement une sauvegarde cohérente de la base de données. Pour une récupération fiable, nous recommandons une sauvegarde coordonnée de la base de données et des fichiers associés.
Idéalement, une sauvegarde devrait également être restaurée régulièrement à des fins de test.
Avertissement Nextcloud : Définir le début de la fenêtre de maintenance
Un avertissement courant qui apparaît est lié à la fenêtre de maintenance non configurée.
Nextcloud exécute régulièrement diverses tâches en arrière-plan. Cela comprend, entre autres, le nettoyage des anciennes données, les audits et autres tâches administratives.
Certaines de ces tâches peuvent exercer une plus grande pression sur la base de données ou le serveur.
Une fenêtre de maintenance peut être configurée pour garantir que ces travaux sont effectués en dehors des heures d’utilisation normales.
Configurer les fenêtres de maintenance via OCC
La commande suivante définit la fenêtre de maintenance sur 02h00 UTC :
sudo -u www-data php occ config:system:set maintenance_window_start --type=integer --value=2
Nextcloud utilise généralement le fuseau horaire UTC pour cela.
En Allemagne, cela se traduit par les horaires suivants :
| Fuseau horaire | Fenêtre de maintenance |
|---|---|
| UTC | 02h00 à 06h00 |
| Heure d’hiver en Allemagne | 3h00 à 7h00 |
| Heure d’été en Allemagne | 4h00 à 8h00 |
La valeur réglée décrit l’heure de début d’une fenêtre horaire de quatre heures.
Toutefois, cela ne limite pas toutes les tâches en arrière-plan à cette période. L’ajustement concerne principalement les tâches quotidiennes moins critiques en termes de temps.
Les tâches cron normales et urgentes peuvent continuer à s’exécuter en dehors de cette fenêtre horaire.
De plus, ce paramètre ne fonctionne que si Nextcloud utilise le mode d’arrière-plan Cron.
Vérifier la fenêtre de maintenance
Vous pouvez à tout moment consulter la valeur définie :
sudo -u www-data php occ config:system:get maintenance_window_start
Avec la configuration décrite ci-dessus, la sortie doit être 2.
Migrations de type Nextcloud MIME disponibles – correction de bugs
Après une mise à jour Nextcloud, le message apparaît occasionnellement indiquant qu’une ou plusieurs migrations de type MIME sont disponibles.
Les types MIME décrivent le contenu ou le format d’un fichier.
Des exemples en sont :
| Type de fichier | Type MIME |
|---|---|
| Image JPEG | image/jpeg |
| Image PNG | image/png |
| Document PDF | application/pdf |
| Vidéo MP4 | video/mp4 |
| Archives ZIP | application/zip |
Nextcloud utilise ces informations pour, entre autres, reconnaître les fichiers, afficher les vignettes appropriées et les associer aux applications.
Les mises à jour peuvent ajouter de nouveaux types MIME ou des ajustements aux mappages existants.
Étant donné que la migration peut prendre plus de temps pour les installations contenant de nombreux fichiers, Nextcloud ne l’effectue pas toujours automatiquement.
Effectuer des migrations de type MIME
Pour exécuter les migrations disponibles, utilisez la commande OCC suivante :
sudo -u www-data php occ maintenance:repair --include-expensive
Le paramètre --include-expensive garantit que les travaux de réparation plus longs sont également pris en compte.
Selon la taille de l’installation Nextcloud, le processus peut prendre un certain temps.
Pour les grandes installations, vous devez donc si possible exécuter la commande en dehors des heures de pointe d’utilisation.
Plusieurs étapes sont affichées lors de la réparation, telles que la vérification des métadonnées, le nettoyage des anciennes entrées ou la préparation des tâches en arrière-plan.
Il est important de laisser le processus se dérouler complètement et de ne pas l’arrêter prématurément.
Nextcloud : Ajouter les index de base de données manquants
Un autre avertissement courant est le suivant :
Les indices sont absents de la base de données
Les index de bases de données permettent de trouver plus rapidement des enregistrements spécifiques.
Ceci est comparable à la table des matières d’un livre. Au lieu de devoir parcourir toutes les pages, la base de données peut accéder beaucoup plus rapidement à des informations spécifiques à l’aide d’un index approprié.
Pour les installations Nextcloud plus volumineuses avec de nombreux fichiers, utilisateurs ou applications, les index manquants peuvent avoir un impact négatif sur les performances.
Après une mise à jour ou l’installation de nouvelles applications, des index supplémentaires peuvent être nécessaires.
Par exemple, dans mon cas, Nextcloud a signalé l’index manquant taskp_tasks_scheduled dans la table taskprocessing_tasks.
Créer automatiquement les index de base de données manquants
Nextcloud a sa propre commande OCC pour cela :
sudo -u www-data php occ db:add-missing-indices
Cela vérifie les index existants et ajoute les entrées manquantes si elles sont reconnues par Nextcloud.
Par exemple, le résultat pourrait ressembler à ceci :
Adding additional taskp_tasks_scheduled index
to the oc_taskprocessing_tasks table,
this can take some time...
oc_taskprocessing_tasks table updated successfully.
L’index manquant a maintenant été créé avec succès.
Le processus peut prendre un certain temps pour les tables plus volumineuses et peut temporairement mettre à rude épreuve la base de données.
Par conséquent, si possible, la création d’index ne doit pas être effectuée pendant les périodes de charge élevée du serveur.
L’édition manuelle de la base de données à l’aide de phpMyAdmin ou de commandes SQL directes n’est généralement pas nécessaire pour cet avertissement standard.
Nextcloud : Réparer la résolution du fournisseur OCS et le fournisseur OCM
Sur certaines installations Nextcloud, le message suivant apparaît :
Résolution du fournisseur OCS
La description indique que le serveur Web n’est pas correctement configuré pour appeler /ocm-provider/.
Le fournisseur OCM fait partie du protocole Open Cloud Mesh et est utilisé, entre autres, pour la collaboration et le partage de ressources entre différents systèmes cloud.
Le nom de l’avertissement et le chemin d’URL réel affecté peuvent prêter à confusion. Ce qui est crucial ici, c’est le chemin spécifié par Nextcloud /ocm-provider/.
Souvent, la cause n’est pas Nextcloud elle-même, mais plutôt une configuration de réécriture incorrecte ou obsolète du serveur Web.
Vérifiez le module de réécriture Apache2
Depuis que j’utilise Apache2, je vérifie d’abord si le module de réécriture requis est activé.
apache2ctl -M | grep rewrite
Si aucune sortie n’apparaît, le module peut être activé :
sudo a2enmod rewrite
De plus, les modules headers et env peuvent être vérifiés ou activés :
sudo a2enmod headers
sudo a2enmod env
Vérifiez ensuite la configuration d’Apache :
sudo apache2ctl configtest
Si aucune erreur ne s’affiche, Apache2 peut être rechargé :
sudo systemctl reload apache2
Vérifiez Apache2 AllowOverride
Pour qu’Apache2 puisse traiter les règles de réécriture du fichier .htaccess de Nextcloud, la configuration du répertoire correspondant doit le permettre.
Le paramètre se trouve dans la configuration principale d’Apache ou dans le fichier VirtualHost, selon l’installation.
Sur Ubuntu, vous pouvez d’abord afficher les VirtualHosts actifs :
apache2ctl -S
Les fichiers de configuration typiques se trouvent à l’adresse :
/etc/apache2/apache2.conf
/etc/apache2/sites-available/
Pour une installation Nextcloud directement dans /var/www/html, la configuration du répertoire peut ressembler à ceci :
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
Il est important d’effectuer ce paramétrage dans le VirtualHost réellement utilisé ou dans le bloc de répertoire correspondant.
Testez ensuite à nouveau la configuration et rechargez Apache2.
Mettre à jour Nextcloud .htaccess
Nextcloud utilise son propre fichier .htaccess avec différentes règles de réécriture et paramètres de sécurité.
Celui-ci peut être régénéré ou mis à jour via OCC après certaines modifications de configuration.
Si Nextcloud est accessible directement sous le domaine et non dans un sous-répertoire comme /nextcloud, vous pouvez définir la base de réécriture comme suit :
sudo -u www-data php occ config:system:set htaccess.RewriteBase --value="/"
Mettez ensuite à jour le .htaccess :
sudo -u www-data php occ maintenance:update:htaccess
Avant d’apporter des modifications au fichier, il est recommandé de sauvegarder une configuration individuelle existante.
Important : Ne copiez pas simplement des fichiers ou des répertoires d’anciennes versions de Nextcloud. Surtout avec le fournisseur OCM, les fichiers requis et les règles de réécriture peuvent différer selon les versions.
Si l’avertissement continue d’apparaître, vous devez également vérifier si la configuration d’Apache correspond réellement à la version Nextcloud installée.
Remplacer l’URL de Nextcloud CLI
Lors de l’installation derrière un proxy inverse, l’avertissement suivant apparaît occasionnellement :
Ecraser l’URL CLI
Il s’agit du paramètre Nextcloud overwrite.cli.url.
Cela détermine quelle adresse de base Nextcloud doit utiliser lors de la génération d’URL via des processus de ligne de commande ou des tâches en arrière-plan.
Sans ce paramètre, les liens peuvent pointer vers une adresse IP interne, un nom d’hôte incorrect ou une adresse HTTP non chiffrée, par exemple.
Définir le domaine public Nextcloud
Supposons que votre propre installation Nextcloud soit accessible à l’adresse suivante :
https://cloud.example.de
Ensuite, l’URL CLI peut être configurée avec cette commande :
sudo -u www-data php occ config:system:set overwrite.cli.url --value="https://cloud.example.de"
Vous pouvez ensuite vérifier le paramètre :
sudo -u www-data php occ config:system:get overwrite.cli.url
La sortie doit contenir l’adresse précédemment configurée.
Configurer correctement Nextcloud derrière Nginx Proxy Manager
Des paramètres supplémentaires sont utiles pour une installation Nextcloud derrière un proxy inverse.
Les paramètres trusted_domains, trusted_proxies et overwriteprotocol sont particulièrement importants.
Ceux-ci se trouvent dans le fichier de configuration Nextcloud :
/var/www/html/config/config.php
Qu’est-ce que les domaines_de confiance ?
Avec trusted_domains, vous spécifiez sous quels noms d’hôte Nextcloud peut être atteint.
Cela inclut, par exemple, le domaine public :
'trusted_domains' => [
'cloud.example.de',
],
Ce paramètre ne doit pas être confondu avec trusted_proxies.
Qu’est-ce que trust_proxies ?
Dans trusted_proxies, vous stockez les adresses IP des proxys inverses auxquels Nextcloud fait confiance.
Cela permet par exemple à Nextcloud de déterminer l’adresse IP réelle d’un visiteur via les en-têtes proxy correspondants.
Un exemple :
'trusted_proxies' => [
'192.168.1.10',
],
L’adresse IP doit être remplacée par l’adresse IP réelle du Nginx Proxy Manager.
Important : seuls des proxys inverses dignes de confiance doivent être saisis. Le paramètre ne doit pas être étendu à toutes les adresses IP.
Sinon, dans certaines circonstances, les attaquants peuvent manipuler les en-têtes et soumettre de fausses adresses IP client.
Configurer HTTPS avec le protocole d’écrasement
Si HTTPS est terminé sur Nginx Proxy Manager et qu’Apache2 reçoit les requêtes en interne via HTTP, Nextcloud pourra peut-être détecter le mauvais protocole.
Dans ce cas, le paramètre aide :
'overwriteprotocol' => 'https',
Cela signifie que Nextcloud utilise le protocole HTTPS pour les URL générées.
Ceci est particulièrement important si les liens dans l’interface Web ou dans les notifications commencent de manière incorrecte par http://.
De plus, overwritehost peut être utilisé si nécessaire. Toutefois, ce paramètre n’est généralement pas nécessaire si le proxy inverse transmet correctement l’en-tête de l’hôte.
Le config.php existant ne doit pas être complètement remplacé par un exemple de configuration car il contient d’autres paramètres et données d’accès importants.
Nextcloud : définir la région téléphonique par défaut
Si Nextcloud signale qu’une région téléphonique par défaut n’a pas été configurée, le paramètre default_phone_region est manquant.
Ceci détermine quel indicatif de pays doit être accepté pour les numéros de téléphone sans indicatif international explicite.
Pour l’Allemagne, le code pays ISO DE est utilisé.
Le paramètre peut être défini directement via OCC :
sudo -u www-data php occ config:system:set default_phone_region --value="DE"
Vous pouvez ensuite les vérifier :
sudo -u www-data php occ config:system:get default_phone_region
La commande doit renvoyer DE.
Alternativement, le paramètre peut être stocké dans le config.php :
'default_phone_region' => 'DE',
Ce paramètre est particulièrement utile lors de la gestion des profils utilisateur avec des numéros de téléphone.
Configurer ou désactiver le démon de provisionnement Nextcloud AppAPI
Les versions plus récentes de Nextcloud prennent en charge les applications dites externes, ou ex-applications en abrégé.
Ceux-ci peuvent fournir des fonctionnalités supplémentaires et s’exécuter en dehors du processus PHP Nextcloud réel.
Nextcloud utilise l’AppAPI pour cela.
Si AppAPI est activé mais qu’aucun démon de déploiement approprié n’a été configuré, une note correspondante apparaît dans la vue d’ensemble de l’administration.
Qu’est-ce qu’un démon de déploiement AppAPI ?
Un démon de déploiement est responsable du déploiement et de la gestion des applications externes.
Selon la solution utilisée, des services ou conteneurs supplémentaires peuvent être nécessaires.
Par exemple, HaRP est disponible pour les versions plus récentes de Nextcloud.
L’avertissement AppAPI ne signifie pas que les fonctions normales de Nextcloud telles que la synchronisation de fichiers, le calendrier ou les contacts ne fonctionnent plus.
Désactivez AppAPI lorsque vous n’en avez pas besoin
Si vous ne souhaitez pas utiliser d’applications externes, vous pouvez désactiver AppAPI.
Pour ce faire, vous utilisez la commande suivante :
sudo -u www-data php occ app:disable app_api
Cela désactivera l’application Nextcloud correspondante.
Cependant, cela ne doit être fait que si aucune fonction installée ne dépend d’AppAPI.
Vous pouvez également enregistrer un démon de déploiement approprié dans les paramètres d’administration AppAPI et le définir par défaut.
Activer l’authentification à deux facteurs Nextcloud
Un autre message indique que même s’il existe des fournisseurs d’authentification à deux facteurs, leur utilisation n’est pas obligatoire.
Avec l’authentification à deux facteurs, également connue sous le nom de 2FA, le mot de passe normal ne suffit pas à lui seul pour se connecter.
De plus, par exemple, un code numérique limité dans le temps est requis, généré via une application d’authentification.
Cela réduit le risque d’accès non autorisé si un mot de passe est connu.
Nextcloud prend en charge différentes méthodes pour cela, notamment les applications TOTP et d’autres méthodes d’authentification.
Rendre obligatoire l’authentification à deux facteurs
L’authentification obligatoire à deux facteurs peut être activée via l’interface Web Nextcloud sous les paramètres d’administration dans la zone Sécurité.
Alternativement, vous pouvez l’activer via OCC.
Pour tous les utilisateurs :
sudo -u www-data php occ twofactorauth:enforce --on
Pour activer l’utilisation obligatoire uniquement pour les membres du groupe Administrateur :
sudo -u www-data php occ twofactorauth:enforce --on --group=admin
Il est important de s’assurer que les utilisateurs concernés ont déjà configuré une méthode d’authentification appropriée ou qu’ils pourront la configurer lors de leur prochaine connexion.
Il est également conseillé de générer des codes de récupération et de les stocker en toute sécurité.
Si vous perdez votre smartphone et n’avez pas configuré d’option de connexion alternative, vous pourriez autrement perdre l’accès à votre propre compte.
Pour les installations Nextcloud accessibles au public, la sécurisation des comptes administrateur est particulièrement recommandée.
Configurer l’ID du serveur Nextcloud
Depuis Nextcloud 33, un processus de génération d’identifiants uniques basé sur ce que l’on appelle les Snowflake ID a été utilisé pour certaines fonctions.
Un tel identifiant peut contenir, entre autres, des informations sur l’heure de création et le serveur qui l’a créé.
Pour les installations avec plusieurs serveurs PHP, il est logique ou nécessaire qu’ils utilisent des ID de serveur différents.
Le paramètre s’appelle serverid.
Vérifier l’ID du serveur
Vous pouvez afficher la valeur existante avec la commande suivante :
sudo -u www-data php occ config:system:get serverid
S’il n’y a pas encore d’ID de serveur, vous pouvez utiliser la valeur 1 pour un seul serveur PHP, par exemple :
sudo -u www-data php occ config:system:set serverid --type=integer --value=1
Les valeurs entières comprises entre 0 et 511 sont autorisées.
Il est important que s’il existe plusieurs serveurs PHP, chaque instance utilise son propre identifiant.
Une fois les identifiants de serveur définis, ils ne doivent pas être modifiés si possible, car ils font partie des identifiants générés.
Pour une petite installation Nextcloud avec un seul serveur Web, cet avis est généralement moins critique que des paramètres HTTPS incorrects ou des problèmes de base de données.
Recherchez et corrigez les erreurs du protocole Nextcloud
Nextcloud affiche souvent les erreurs des derniers jours dans l’aperçu de l’administration.
Par exemple, plusieurs dizaines, voire centaines d’erreurs peuvent être signalées.
Cependant, le chiffre à lui seul en dit peu sur la cause réelle.
Une seule erreur peut se produire plusieurs fois en raison d’une tâche en arrière-plan exécutée régulièrement.
De même, après une mise à jour, des entrées de journal plus anciennes peuvent toujours exister même si le problème réel a déjà été résolu.
Rechercher le fichier journal Nextcloud
Par défaut, le fichier journal Nextcloud est nommé :
nextcloud.log
Il se trouve généralement dans le répertoire de données Nextcloud configuré, sauf si un chemin de journal différent a été spécifié.
Le répertoire de données peut être lu via OCC :
sudo -u www-data php occ config:system:get datadirectory
Vous pouvez alors afficher les 100 dernières lignes du fichier log :
tail -n 100 /PFAD/ZUM/DATENVERZEICHNIS/nextcloud.log
L’exemple de chemin doit être ajusté en conséquence.
Pour les installations Nextcloud avec des fichiers journaux très volumineux, vous ne devez pas afficher l’intégralité du fichier en une seule fois.
Au lieu de cela, il est conseillé de rechercher spécifiquement les messages d’erreur ou d’examiner les dernières entrées.
Vérifiez les journaux Apache2
Si l’erreur est liée à Apache2 ou PHP, le journal des erreurs Apache peut également être utile.
Sur Ubuntu, il se trouve souvent ici :
/var/log/apache2/error.log
Les dernières entrées peuvent être consultées comme suit :
sudo tail -n 100 /var/log/apache2/error.log
Alternativement, vous pouvez accéder aux messages Apache actuels via le journal système :
sudo journalctl -u apache2 -n 100 --no-pager
Si Nextcloud fonctionne derrière un proxy inverse, vous devez également vérifier les journaux du proxy inverse en cas de problèmes de connexion.
Les codes d’état HTTP tels que 403, 404, 502 ou 504 sont particulièrement utiles.
Causes courantes des erreurs de journal Nextcloud
| Type d’erreur | Cause possible |
|---|---|
| Erreur PHP | Application incompatible ou module PHP manquant |
| Erreur de base de données | Problème de connexion, erreur de requête ou migration incorrecte |
| HTTP404 | Mauvais chemin ou règle de réécriture |
| HTTP502 | Le serveur Web principal n’est pas accessible |
| HTTP504 | Délai d’expiration entre le proxy et le backend |
| Erreur d’autorisation | Autorisations de fichiers incorrectes |
| Erreur Cron | Échec du travail en arrière-plan |
| Erreur Redis | Le serveur de cache n’est pas accessible |
Surtout après des mises à jour majeures, il est conseillé de vérifier à nouveau les journaux.
Les avertissements individuels ne doivent pas être masqués simplement en supprimant ou en réinitialisant le fichier journal.
Configurer correctement les tâches cron Nextcloud
Pour que Nextcloud fonctionne de manière fiable sur le long terme, diverses tâches en arrière-plan doivent être effectuées régulièrement.
AJAX, Webcron et Cron sont disponibles à cet effet.
Pour un serveur Linux autonome, il est généralement recommandé d’utiliser une véritable tâche cron.
Cela fonctionne même si quelqu’un a déjà ouvert l’interface Web.
Vérifier la tâche cron Nextcloud
Sur Ubuntu, vous pouvez afficher les tâches cron existantes de l’utilisateur du serveur Web avec la commande suivante :
sudo crontab -u www-data -l
Une tâche cron Nextcloud typique ressemble à ceci :
*/5 * * * * /usr/bin/php -f /var/www/html/cron.php
Cela entraînera l’exécution du cron.php de Nextcloud toutes les cinq minutes.
Si APCu doit être activé pour PHP-CLI, l’appel peut être adapté en conséquence :
*/5 * * * * /usr/bin/php -d apc.enable_cli=1 -f /var/www/html/cron.php
Vous pouvez modifier la tâche cron avec la commande suivante :
sudo crontab -u www-data -e
Il est important d’adapter le chemin d’installation à votre propre environnement.
Si vous avez déjà configuré une minuterie systemd pour Nextcloud, vous ne devez pas également utiliser la même tâche cron.
Sinon, les tâches en arrière-plan risquent d’être démarrées plusieurs fois inutilement.
De plus, dans les paramètres de gestion Nextcloud, vous devez vérifier si le mode d’arrière-plan est défini sur Cron.
Mettre à jour Nextcloud avec succès – Mise à niveau et mise à jour OCC
Pour les mises à jour Nextcloud plus volumineuses, il existe une différence importante entre le programme de mise à jour réel et la commande OCC upgrade.
Le programme de mise à jour s’occupe du téléchargement et de l’échange des fichiers du programme Nextcloud.
La commande occ upgrade, quant à elle, effectue les migrations de bases de données et les autres étapes de mise à niveau requises pour la version installée.
Vérifiez la version Nextcloud installée
La commande suivante affiche la version installée :
sudo -u www-data php occ status
Par exemple, s’il indique toujours versionstring: 34.0.5, Nextcloud 34.0.5 est installé.
Même si Nextcloud 35.0.2 est déjà proposé dans la zone d’administration, cela ne veut pas dire que cette version est déjà installée.
Mettre à jour Nextcloud via la ligne de commande
Pour une installation manuelle, le programme de mise à jour intégré en ligne de commande peut être utilisé :
cd /var/www/html
Après:
sudo -E -u www-data php -d apc.enable_cli=1 updater/updater.phar
Le programme de mise à jour vérifie l’installation et vous guide ensuite à travers les étapes nécessaires.
Après avoir échangé les fichiers du programme, il peut également lancer la mise à jour OCC proprement dite.
Si cette étape n’a pas encore été réalisée, vous pouvez l’appeler manuellement :
sudo -E -u www-data php -d apc.enable_cli=1 occ upgrade
Si le message No upgrade required apparaît, aucune autre migration de mise à niveau n’est requise pour les fichiers Nextcloud actuellement installés.
Toutefois, cela ne signifie pas automatiquement que la dernière version disponible est déjà installée.
Vérifier le mode de maintenance après une mise à niveau
Après une mise à niveau réussie, vous devez vérifier si Nextcloud a quitté le mode maintenance :
sudo -u www-data php occ status
Si maintenance: false est affiché, le mode maintenance est désactivé.
Si Nextcloud reste en mode maintenance après une mise à niveau entièrement terminée, celui-ci peut être désactivé manuellement si nécessaire :
sudo -u www-data php occ maintenance:mode --off
Vous ne devez pas exécuter cette commande alors qu’une mise à jour ou une migration de base de données est en cours.
Exécutez des commandes de maintenance supplémentaires après la mise à jour
Après une mise à jour réussie, les commandes suivantes peuvent être utiles :
sudo -u www-data php occ maintenance:repair --include-expensive
sudo -u www-data php occ db:add-missing-indices
Cela signifie que d’autres réparations sont effectuées et, si nécessaire, les index de base de données manquants sont ajoutés.
Si possible, les travaux de réparation majeurs doivent avoir lieu pendant une période de maintenance planifiée.
Vérifiez la version PHP et la configuration PHP
Nextcloud nécessite une installation PHP correspondant à la version respective.
Les versions de PHP prises en charge dépendent de la version de Nextcloud utilisée.
Par exemple, Nextcloud 35 prend en charge PHP 8.4.
Vous pouvez visualiser la version PHP installée via le terminal :
php -v
Vous pouvez également vérifier quels modules PHP sont actifs :
php -m
Les modules importants ou fréquemment utilisés comprennent :
| Module PHP | utiliser |
|---|---|
curl | Requêtes HTTP |
gd | Traitement d’images |
imagick | Traitement d’image avancé |
intl | Traitement du langage et des caractères |
mbstring | Traitement du texte |
mysqli / pdo_mysql | Connexion MariaDB et MySQL |
redis | Verrouillage du cache et des fichiers |
apcu | Cache local |
zip | Fichiers ZIP |
xml | Traitement XML |
opcache | Accélérer PHP |
Tous les modules ne sont pas obligatoires pour chaque installation Nextcloud.
Ceux qui sont réellement nécessaires dépendent, entre autres, de la base de données et des applications installées.
Différence entre PHP CLI et PHP sur le serveur Web
Un point important est que la version PHP dans le terminal ne correspond pas forcément à la version PHP utilisée dans le serveur web.
Par exemple, sous Ubuntu, plusieurs versions de PHP peuvent être installées en parallèle.
Alors que php -v affiche la version de la ligne de commande, Apache2 peut utiliser une version différente via son propre module PHP ou PHP-FPM.
Pour vérifier, vous pouvez par exemple procéder comme suit :
apache2ctl -M | grep php
Si PHP-FPM est utilisé, le service PHP-FPM correspondant doit également être vérifié.
Les fichiers de configuration diffèrent également.
Les chemins typiques sur Ubuntu sont :
/etc/php/8.4/cli/php.ini
/etc/php/8.4/apache2/php.ini
/etc/php/8.4/fpm/php.ini
Tous ces fichiers ne doivent pas nécessairement être présents sur chaque serveur.
Après avoir modifié les paramètres PHP, Apache2 ou PHP-FPM devra peut-être être redémarré ou rechargé.
Accélérez Nextcloud avec Redis et APCu
En plus de corriger les avertissements de sécurité, il convient également d’examiner les performances de votre propre installation Nextcloud.
Les systèmes de mise en cache peuvent améliorer la vitesse, en particulier dans les installations comportant de nombreux fichiers ou plusieurs utilisateurs connectés en même temps.
Nextcloud prend en charge APCu et Redis, entre autres.
APCu convient comme cache local rapide pour PHP.
Redis peut également être utilisé pour un cache distribué et le verrouillage de fichiers.
Utiliser APCu comme cache local
Si APCu n’est pas encore installé, vous pouvez installer le module sous Ubuntu avec la commande suivante par exemple :
sudo apt install php-apcu
L’entrée suivante peut alors être stockée dans la configuration Nextcloud :
'memcache.local' => '\OC\Memcache\APCu',
Utiliser Redis pour le verrouillage de fichiers
Redis peut être installé sur Ubuntu via le gestionnaire de packages :
sudo apt install redis-server php-redis
Vérifiez ensuite si le service Redis est en cours d’exécution :
systemctl status redis-server
Par exemple, dans la configuration Nextcloud, Redis peut être configuré comme ceci :
'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
'host' => '127.0.0.1',
'port' => 6379,
],
L’exemple suppose que Redis s’exécute sur le même serveur et est accessible via l’adresse locale.
S’il existe un serveur Redis externe ou une connexion via un socket Unix, la configuration doit être ajustée.
Il convient également de garantir que Redis ne soit pas accessible sans protection depuis Internet.
Utiliser Redis pour le verrouillage de fichiers est particulièrement intéressant lors de la synchronisation de nombreux fichiers ou du transfert régulier de grandes quantités de données.
Nettoyer la corbeille Nextcloud et les versions de fichiers
Au fil du temps, Nextcloud peut accumuler de nombreux fichiers supprimés et des versions de fichiers plus anciennes.
Ceux-ci occupent de l’espace de stockage supplémentaire et peuvent atteindre plusieurs gigaoctets pour les installations plus importantes.
Nextcloud est livré avec ses propres commandes de maintenance pour cela.
Vider la corbeille d’un utilisateur
Pour vider la corbeille d’un utilisateur spécifique, utilisez :
sudo -u www-data php occ trashbin:cleanup BENUTZERNAME
BENUTZERNAME doit être remplacé par l’ID utilisateur Nextcloud correspondant.
Supprimer les anciennes versions de fichiers
Les versions de fichiers enregistrées peuvent également être nettoyées à l’aide d’OCC :
sudo -u www-data php occ versions:cleanup BENUTZERNAME
Attention : Ces commandes suppriment le contenu de la corbeille existante ou les versions de fichiers enregistrées de l’utilisateur spécifié. Ces données ne pourront alors plus être restaurées de manière normale via Nextcloud.
Il ne faut donc pas les réaliser simplement régulièrement sans les contrôler au préalable.
En particulier, versions:cleanup supprime non seulement les versions particulièrement anciennes, mais également les versions de fichiers capturées par la commande.
Pour limiter automatiquement l’utilisation du stockage, les règles de rétention Nextcloud sont généralement une meilleure solution.
Autres paramètres importants de sécurité et de performances de Nextcloud
En plus des avertissements déjà décrits, il existe quelques paramètres que vous devez vérifier régulièrement sur un serveur Nextcloud auto-exploité.
Certificats HTTPS et SSL
Une installation Nextcloud accessible au public doit toujours être accessible via HTTPS.
Si vous utilisez Nginx Proxy Manager, vous pouvez par exemple mettre en place un certificat Let’s Encrypt et activer la redirection de HTTP vers HTTPS.
Il est important que le certificat soit valide et soit automatiquement renouvelé.
Vous devez également vérifier si Nextcloud lui-même reconnaît correctement l’adresse publique HTTPS.
En-tête de sécurité HTTP
Un autre point important concerne les en-têtes de sécurité HTTP.
Cela inclut, par exemple, Strict-Transport-Security, HSTS en abrégé.
Cet en-tête indique au navigateur qu’à l’avenir, un site Web ne sera accessible que via HTTPS.
Lors de l’installation avec Nginx Proxy Manager, HSTS peut être défini directement sur le proxy inverse, en fonction de la configuration.
Avant d’activer HSTS, vous devez vous assurer que HTTPS fonctionne correctement sur le long terme.
Vérifier les autorisations des fichiers
Des problèmes avec les autorisations de fichiers peuvent empêcher Nextcloud d’écrire des fichiers ou des mises à jour échouent.
Lors de l’installation manuelle d’Ubuntu, l’utilisateur du serveur Web doit avoir accès aux répertoires requis.
Cependant, vous ne devez pas accorder à tous les fichiers des autorisations d’écriture pour tous les utilisateurs.
En particulier, les autorisations telles que 777 ne constituent pas une solution judicieuse et peuvent présenter un risque de sécurité.
Protéger le répertoire de données Nextcloud
Si possible, le répertoire de données doit être situé en dehors du répertoire Web accessible au public.
Cela réduit le risque d’accès direct aux fichiers via Internet en raison d’une configuration incorrecte du serveur Web.
Si le répertoire de données se trouve dans la racine Web, les règles de protection d’accès fournies par Nextcloud doivent fonctionner correctement.
La modification du répertoire de données ne doit pas être effectuée sans une planification préalable et une sauvegarde complète des données.
Entretenir régulièrement la base de données
La base de données doit également être vérifiée régulièrement.
Les éléments suivants sont entre autres importants :
- Espace de stockage gratuit suffisant
- Une version de base de données prise en charge
- Sauvegardes régulières
- Connexions de base de données fonctionnelles
- Index manquants après les mises à jour
- Paramètres de mémoire et de cache adéquats
Surtout avec les installations Nextcloud très utilisées, la base de données peut devenir très volumineuse au fil du temps.
Dans de tels cas, il peut être judicieux d’analyser les tables de la base de données et les informations stockées plus en détail plutôt que de fournir uniquement des cœurs de processeur ou de la mémoire supplémentaires.
Foire aux questions sur la correction des alertes Nextcloud
Toutes les alertes de sécurité Nextcloud sont-elles critiques ?
Non. Certains avertissements indiquent des problèmes de sécurité spécifiques, tandis que d’autres concernent simplement des configurations supplémentaires ou des optimisations recommandées.
Néanmoins, vous devez vérifier chaque message au moins une fois et en comprendre la cause.
Les avertissements Nextcloud peuvent-ils disparaître après une mise à jour ?
Oui. Certains messages proviennent de migrations incomplètement terminées ou de configurations obsolètes.
Cependant, d’autres avertissements ne peuvent être résolus que par des ajustements manuels d’Apache2, PHP, de la base de données ou du proxy inverse.
Que signifie Aucune mise à niveau requise chez Nextcloud ?
Ce message signifie qu’aucune autre mise à niveau de la base de données n’est nécessaire pour les exécutables Nextcloud actuellement installés.
Cela ne signifie pas automatiquement que la dernière version disponible de Nextcloud a déjà été installée.
La version actuelle peut être vérifiée avec occ status.
Devez-vous réparer Nextcloud après chaque mise à jour ?
Non. Normalement, Nextcloud effectue lui-même les migrations standards requises.
Toutefois, certaines tâches complexes ne sont volontairement pas toujours exécutées automatiquement.
Si des avertissements appropriés s’affichent, des commandes OCC supplémentaires peuvent être nécessaires.
Nextcloud a-t-il absolument besoin de Redis ?
Non. Les petites installations Nextcloud peuvent également être exploitées sans Redis.
Cependant, Redis peut améliorer la fiabilité et les performances, en particulier avec des accès fréquents aux fichiers et plusieurs utilisateurs.
Pouvez-vous exécuter Nextcloud sans Docker ?
Oui. Nextcloud peut être entièrement installé sur un serveur Linux sans avoir besoin de Docker.
Cela nécessite, entre autres, un serveur web compatible, PHP et une base de données supportée.
L’installation peut être effectuée sur un serveur Ubuntu classique, une machine virtuelle ou dans un conteneur LXC.
Devez-vous redémarrer Apache2 après avoir apporté des modifications au config.php ?
Pas fondamentalement. Le fichier de configuration Nextcloud est traité par PHP, donc de nombreuses modifications prennent effet sans redémarrer le serveur Web.
Cependant, si les modules Apache, les VirtualHosts ou les paramètres PHP sont modifiés, un rechargement ou un redémarrage peut être nécessaire.
Cet article a été traduit à l’aide de l’IA.


