Augmenter la limite de chargement web de Nextcloud au-delà de 2 Go

Si le chargement d'un fichier Nextcloud via navigateur s'arrête à 2 Go, augmentez la limite à chaque niveau traitant la requête : PHP, le serveur web ou le proxy inverse, et tout espace de stockage temporaire utilisé. Pour une cible de 5 Go, une configuration PHP-FPM et Nginx classique nécessite les limites suivantes : [insérer les limites ici], [insérer les limites ici] upload_max_filesize = 5Get post_max_size = 6G[ insérer les limites client_max_body_size 5Gici], ainsi que suffisamment d'espace disque et de temps pour le transfert.

Il n'existe pas de limite universelle de 2 Go pour Nextcloud. Le manuel d'administration actuel indique que la taille maximale de chargement par défaut est de 512 Mo, tandis qu'une limite inférieure à 2 Go constitue un plafond strict sur les systèmes 32 bits. Un serveur qui s'arrête précisément à 2 Go atteint probablement une limite configurée ou une limite intermédiaire. Les étapes ci-dessous utilisent 5 Go comme exemple ; remplacez cette valeur par la taille maximale de fichier dont vous avez réellement besoin.

La limite de 2 Go provient-elle de Nextcloud ?

La limite visible est souvent définie par PHP ou le serveur web plutôt que par un paramètre de Nextcloud. La taille maximale prise en charge par Nextcloud dépend également du système d'exploitation, du système de fichiers, du quota du compte et de l'espace disque temporaire disponible. Son client de synchronisation de bureau fonctionne différemment : il transfère les fichiers par petits fragments et n'est pas soumis aux mêmes limites de téléchargement par requête décrites ici.

Commencez par identifier le chemin de la requête. Vérifiez si les utilisateurs effectuent le chargement via un navigateur, WebDAV ou un client de bureau, et si le site transite par Nginx, Apache, un répartiteur de charge ou le proxy de votre hébergeur. Si vous n'administrez pas le serveur, transmettez à l'administrateur la taille du fichier concerné, la méthode de chargement, l'heure de l'échec et tout code d'erreur ; lui seul peut modifier les limites côté serveur.

Quels paramètres PHP devez-vous modifier ?

Pour PHP-FPM, modifiez la configuration utilisée par le service PHP-FPM qui héberge Nextcloud, et non la configuration PHP en ligne de commande. Sous Debian ou Ubuntu, le chemin d'accès courant est/etc/php/8.2/fpm/php.ini ; remplacez 8.2par la version de PHP installée. Votre distribution ou conteneur peut utiliser un chemin différent. La documentation PHP indique que la taille de la variable d'environnement `php-FPM` post_max_sizedoit être supérieure à `<chemin_vers_php>` upload_max_filesize, prévoyez donc une marge pour la surcharge liée aux requêtes.

Un fichier de configuration PHP-FPM ouvert dans un éditeur de code, avec le chemin /etc/php/8.2/fpm/php.ini visible.
Exemple de chemin de configuration PHP-FPM. Utilisez la version de PHP et le chemin d'accès aux fichiers actifs dans votre service Nextcloud.

Définissez les valeurs appropriées à votre serveur. Pour l'exemple de 5 Go :

upload_max_filesize = 5G
post_max_size = 6G
max_input_time = 3600
max_execution_time = 3600
Paramètres PHP indiquant upload_max_filesize défini sur 5G, post_max_size défini sur 6G et les délais d'expiration d'entrée et d'exécution définis sur 3600 secondes.
Exemple de valeurs PHP-FPM pour une cible de téléchargement de 5 Go ; post_max_size est défini à une valeur supérieure à upload_max_filesize.

Les valeurs de délai d'attente indiquées sont des exemples et non des exigences absolues. Les connexions lentes, les serveurs surchargés et les chargements nécessitant un assemblage final peuvent exiger un délai plus long. Les paramètres de mémoire PHP et les limites de ressources par processus restent importants : il est déconseillé de définir automatiquement la limite de mémoire de chaque processus PHP-FPM à plusieurs gigaoctets. Les recommandations de Nextcloud concernant PHP préconisent au moins 512 Mo de mémoire par processus ; il est donc essentiel de surveiller l'hôte et son pool PHP-FPM avant d'augmenter les limites de ressources.

Enregistrez le fichier et redémarrez le service PHP-FPM concerné afin qu'il prenne en compte les nouveaux paramètres. Par exemple, sur un système utilisant PHP 8.2, le service peut êtrephp8.2-fpm :

sudo systemctl restart php8.2-fpm

Les noms des services varient. Dans les conteneurs, mettez à jour la configuration ou l'image montée et recréez le conteneur PHP conformément au processus de déploiement.

Comment augmenter la limite du serveur web ?

Pour Nginx, placez la directive body-size dans le serverbloc actif pour Nextcloud, ou dans un bloc applicable plus spécifiquelocation :

client_max_body_size 5G;
Une configuration de serveur Nginx dans un éditeur avec la directive client_max_body_size 5G ; visible à l'intérieur d'un bloc serveur.
Placez la limite de taille du corps Nginx dans le bloc serveur actif qui gère les requêtes Nextcloud.

Validez ensuite la configuration et rechargez Nginx :

sudo nginx -t
sudo systemctl reload nginx

Si Nginx signale une erreur de syntaxe, corrigez-la avant de recharger. Si un autre proxy, contrôleur d'entrée ou passerelle d'hébergement est présent en amont, il peut imposer sa propre limite de taille pour le corps des requêtes ; augmentez également cette limite. Une limite imposée par un proxy en amont peut bloquer le chargement même si l'hôte Nextcloud est correctement configuré.

Pour Apache, consultez LimitRequestBodyla configuration de l'hôte virtuel ou du répertoire concerné. La documentation Nextcloud actuelle indique que le serveur HTTP Apache 2.4.54 et versions ultérieures imposent par défaut une limite de 1 Gio pour cette directive ; cela peut bloquer l'envoi d'une requête unique dépassant cette taille. Définissez une limite en octets adaptée à l'hôte, ou utilisez cette option 0uniquement si vous souhaitez désactiver la limite de taille du corps des requêtes Apache. Apache peut également nécessiter des délais d'attente plus longs, notamment si mod_reqtimeoutl'option est activée.

Le stockage ou les délais d'attente peuvent-ils encore empêcher le téléchargement ?

Oui. Les répertoires temporaires de PHP, de Nextcloud et de Nginx client_body_temp_pathdoivent disposer d'un espace libre suffisant et être accessibles en écriture. Prévoyez de l'espace pour les chargements simultanés et, dans certaines configurations de stockage, pour l'assemblage des fragments chargés. Vérifiez le système de fichiers concerné df -het assurez-vous que le compte de service dispose des droits d'écriture sur le répertoire temporaire configuré. N'utilisez pas un volume plein ou en lecture seule comme répertoire temporaire.

Vérifiez également le quota Nextcloud de l'utilisateur et l'espace de stockage disponible sur le serveur. Augmenter la limite de taille des requêtes n'augmente pas le quota de l'utilisateur ni ne libère d'espace disque. N'augmentez un quota que si le compte est conçu pour avoir suffisamment d'espace pour le fichier. Si l'erreur survient vers la fin d'un chargement ou signale un délai d'attente dépassé ou une erreur de passerelle, consultez les journaux PHP, du serveur web, du proxy et de Nextcloud avant d'augmenter davantage les limites. Le manuel de Nextcloud mentionne spécifiquement les délais d'attente PHP et Nginx fastcgi_read_timeoutcomme causes possibles, notamment lors des dernières requêtes MOVE.

Attention : le comportement de PHP upload_max_filesizepeut post_max_sizedifférer lors de l’envoi d’un fichier unique via WebDAV ou lors du chargement par blocs de Nextcloud ; dans ces cas, les délais d’attente de PHP et du serveur web peuvent constituer le facteur limitant. Il est donc essentiel de diagnostiquer la méthode de chargement avant de modifier des valeurs qui ne lui sont pas applicables.

Comment pouvez-vous confirmer que la correction a fonctionné ?

Commencez par un fichier de test dont la taille dépasse largement l'ancienne limite, puis testez un fichier proche de la nouvelle limite cible. Téléversez-le via le même navigateur ou client qui avait initialement échoué. Vérifiez que le transfert se termine correctement, que le fichier apparaît avec la taille attendue et qu'il peut être téléchargé ou ouvert. Un indicateur vert de fin de téléversement dans la vue Fichiers constitue une première vérification utile, mais comparez également la taille du fichier enregistré.

La vue Fichiers de Nextcloud affiche le fichier archive-3gb.zip avec une taille affichée de 3 Go et une coche verte indiquant la fin de l'opération.
Après la modification, vérifiez qu'un fichier de test plus volumineux que la limite précédente s'affiche à sa taille attendue et apparaît comme complet.

Si le test échoue toujours, utilisez l'erreur pour identifier le prochain facteur limitant : une erreur HTTP 413 indique une limite de taille du corps de la requête, une erreur 504 ou un échec en fin de requête suggère un délai d'attente dépassé, et un message relatif à un quota ou à l'espace disque indique un problème de capacité de stockage. Consultez les journaux pour le même horodatage, puis modifiez uniquement le paramètre concerné. Maintenez la limite proche de la taille maximale de chargement prévue et conservez suffisamment d'espace temporaire pour les opérations simultanées.

Documentation officielle

Laisser un commentaire

Augmenter la limite de chargement web de Nextcloud au-delà de 2 Go

Augmenter la limite de chargement web de Nextcloud au-delà de 2 Go

Autorisez les chargements de fichiers plus volumineux via le navigateur Nextcloud en alignant les paramètres PHP, Nginx ou Apache, le stockage temporaire et les délais d'expiration, et vérifiez quelle limite bloque le fichier.

Effacer l'avertissement de mémoire PHP de Nextcloud sur le serveur web

Définissez la limite de mémoire PHP réellement utilisée par Nextcloud, redémarrez le service concerné et confirmez le paramètre de 512 Mo dans la vue d'ensemble de l'administration.

Connectez un compartiment compatible S3 au stockage externe Nextcloud

Montez un compartiment de stockage d'objets compatible dans Nextcloud en utilisant son backend S3, avec le point de terminaison, les informations d'identification, le périmètre d'accès et les étapes de vérification appropriés.

Transférez vos données Nextcloud vers un disque externe sans interruption de stockage.

Transférez vos données Nextcloud vers un disque externe sans interruption de stockage.

Déplacez en toute sécurité un répertoire de données Nextcloud Linux vers un disque externe en utilisant un montage UUID persistant, le mode maintenance, une copie vérifiée et le lien symbolique du chemin d'origine.

Erreur de base de données Nextcloud après une mise à jour : que vérifier en premier ?

Rétablissez l'accès à Nextcloud après une mise à jour en diagnostiquant les erreurs SQL, en vérifiant la connectivité de la base de données et en terminant en toute sécurité les migrations interrompues.

Réinitialisez un mot de passe d'administrateur Nextcloud perdu avec OCC

Utilisez la commande OCC de Nextcloud pour réinitialiser un mot de passe administrateur depuis l'interface de ligne de commande du serveur, avec des instructions concernant les noms d'utilisateur, les permissions et les fournisseurs d'authentification externes.

Ajoutez l'en-tête HSTS au point de terminaison HTTPS qui héberge Nextcloud.

Éliminez l'avertissement HSTS de Nextcloud en configurant l'en-tête au niveau d'Apache, de NGINX ou de votre proxy TLS, puis vérifiez la réponse HTTPS publique en toute sécurité.

Résolution des problèmes d'installation de l'application Nextcloud signalant une absence de connexion Internet

Résolution des problèmes d'installation de l'application Nextcloud signalant une absence de connexion Internet

Identifiez les échecs d'installation de l'App Store comme étant liés à des problèmes de DNS, HTTPS, de proxy, TLS ou de configuration du serveur Nextcloud lui-même.

Maîtrisez les pics d'utilisation du processeur lors de la prévisualisation de Nextcloud grâce à une file d'attente planifiée

Déplacez le traitement des vignettes vers une planification en arrière-plan contrôlée, réduisez les tailles d'aperçu inutilisées et vérifiez la file d'attente sans surcharger votre serveur Nextcloud.

Obtenez Nextcloud Desktop Sync : passez à l’étape suivante, celle du « traitement des fichiers ».

Trouvez le fichier, la règle d'exclusion, le problème de connexion ou l'état de la base de données client qui bloque la synchronisation Nextcloud, puis vérifiez les chargements et les téléchargements en toute sécurité.