Accueil
» Comment faire
»
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
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.
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 :
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;
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é.
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.