Configurer la mise en cache Redis de Nextcloud sur Ubuntu 24.04

Nextcloud 34.0.2 intègre un backend compatible Redis KeyValueCache, permettant ainsi aux versions actuelles de Nextcloud d'utiliser Redis sans installer l'extension Redis de PHP. Sur un serveur Ubuntu 24.04 unique, utilisez APCu pour un cache local rapide et Redis pour la mise en cache distribuée et le verrouillage transactionnel des fichiers, connectés via un socket Unix. Cette configuration permet de maintenir Redis hors réseau et offre à Nextcloud un cache partagé fonctionnant avec toutes les requêtes PHP.

Choisissez d'abord le bon backend Redis

Le manuel d'administration de Nextcloud 35 mentionne deux chemins d'accès à Redis. Pour Nextcloud 34.0.2 et versions ultérieures, il est recommandé KeyValueCached'utiliser Predis, fourni avec Nextcloud ; vous installez le serveur Redis et configurez-le memcache.kvstore, mais vous n'avez pas besoin de configurer php-redis`redis`. Les versions antérieures de Nextcloud utilisent l'extension PhpRedis et un config.phpbloc `redis` différent. Vérifiez votre version avec `redis sudo -u www-data php /var/www/nextcloud/occ status--version`, en remplaçant le chemin d'accès si votre installation se trouve ailleurs.

Ce guide suppose que Nextcloud et Redis sont installés sur la même machine Ubuntu, que le serveur web est exécuté en tant que `sudo` www-dataet que vous gérez PHP et Redis directement. Si vous avez installé Nextcloud via Snap, AIO, Docker ou une autre appliance, suivez les conventions de service et de système de fichiers de ce paquet au lieu d'appliquer aveuglément les commandes au niveau de l'hôte. APCu est plus rapide que Redis pour la mise en cache locale, tandis que Redis est adapté à la mise en cache distribuée et aux verrous de fichiers. Consultez la documentation sur la mise en cache en mémoire de Nextcloud .

Installez Redis et APCu

Mettez à jour l'index des paquets d'Ubuntu, installez le serveur Redis et le module PHP APCu, puis activez Redis au démarrage :

sudo apt update
sudo apt install redis-server php-apcu
sudo systemctl enable --now redis-server
Terminal Ubuntu affichant la mise à jour et l'installation de redis-server et php-apcu via apt.
Installez le serveur Redis et les packages APCu avant de modifier l'un ou l'autre fichier de configuration.

Sur Ubuntu 24.04, la version PHP par défaut est 8.3 et php-apcucorrespond au nom du paquet de la distribution. Redis est un service distinct ; APCu est chargé par PHP. Après l'installation d'APCu, redémarrez le gestionnaire PHP afin que le processus PHP exposé au Web charge le module. Si vous utilisez PHP-FPM, il s'agit généralement de `php-FPM- php8.3-fpm8.3` ; si Apache utilise mod_php, redémarrez `php-FPM-8.3` apache2. Vérifiez les noms de vos services actifs avant de redémarrer.

Configurer Redis en local sur le serveur

Pour cette configuration à hôte unique, utilisez un socket Unix et désactivez l'écouteur TCP de Redis. /etc/redis/redis.confModifiez les directives actives existantes au lieu de laisser plusieurs copies conflictuelles, puis configurez :

port 0
unixsocket /run/redis/redis-server.sock
unixsocketperm 770
L'éditeur de configuration Redis affiche TCP désactivé et un chemin de socket Unix avec le mode 770.
Utilisez le même chemin de socket dans Redis et Nextcloud, et limitez l'accès au groupe Redis.

port 0Désactive le port TCP ; Redis écoute alors via le chemin du socket. Ce mode d'autorisation 770permet au propriétaire et au groupe Redis d'accéder au socket, tout en interdisant l'accès aux autres utilisateurs locaux. Ajoutez le compte du serveur web au groupe Redis :

sudo usermod -aG redis www-data
sudo systemctl restart redis-server

Redémarrez le service PHP-FPM ou Apache après avoir modifié l'appartenance aux groupes, car les processus en cours d'exécution conservent leur ancienne liste de groupes. Utilisez le service qui exécute le PHP de Nextcloud. La documentation Redis recommande de limiter l'accès aux clients de confiance ; un socket local évite d'exposer un port de cache sur une interface accessible depuis Internet. Consultez les recommandations de sécurité de Redis .

Pointez Nextcloud vers le socket

Sauvegardez le fichier config/config.php, puis ajoutez ces entrées au tableau de configuration PHP existant. Ne modifiez pas le reste du fichier. Utilisez le chemin d'accès à votre installation Nextcloud.

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\KeyValueCache',
'memcache.locking' => '\OC\Memcache\KeyValueCache',
'memcache.kvstore' => [
    'server' => [
        'host' => '/run/redis/redis-server.sock',
    ],
],
L'éditeur de configuration Nextcloud config.php affiche les entrées du cache local APCu et KeyValueCache utilisant le socket Redis.
Conservez APCu en local et configurez à la fois le backend de cache Redis et l'hôte du socket dans config.php.

La barre oblique initiale dans le chemin d'accès à l'hôte indique à KeyValueCache de Nextcloud d'utiliser un socket Unix ; aucun paramètre de port ou de protocole TCP n'est donc nécessaire. Redis fournit les deux memcache.distributedoptionsmemcache.locking ; cette dernière permet de déporter les verrous de fichiers transactionnels hors de la base de données. Conservez memcache.localAPCu pour un accès au cache local à faible latence. Les entrées et options de socket exactes sont décrites dans la documentation de Nextcloud relative à KeyValueCache et aux sockets Unix, ainsi que dans son guide sur le verrouillage transactionnel des fichiers .

Vérifiez la connexion et résolvez les problèmes d'autorisation.

Vérifiez d'abord que le service Redis est actif et que le socket répond :

sudo systemctl status redis-server
redis-cli -s /run/redis/redis-server.sock ping
Terminal Ubuntu exécutant redis-cli sur le socket Redis de Nextcloud et affichant PONG.
Une réponse PONG confirme que Redis accepte une connexion locale via le socket configuré.

La réponse attendue à la deuxième commande est « None » PONG. Connectez-vous ensuite à Nextcloud et ouvrez la vue d'ensemble des paramètres d'administration. Vérifiez que l'avertissement relatif au cache local a disparu et consultez le journal de Nextcloud si un avertissement concernant Redis ou le cache persiste. Vous pouvez également exécuter la commande suivante sudo -u www-data php /var/www/nextcloud/occ statuspour confirmer que l'instance se charge toujours ; cette commande vérifie la disponibilité de Nextcloud, et non le cache lui-même.

Si Redis renvoie une erreur « Permission refusée » ou si Nextcloud ne parvient pas à se connecter, vérifiez que le socket existe, qu'il www-dataappartient au redisgroupe approprié et que son groupe et son mode autorisent l'accès. Redémarrez Redis et le gestionnaire PHP après avoir modifié l'appartenance au groupe. Si Redis ne parvient pas à créer le socket, vérifiez l'orthographe du chemin configuré et examinez la configuration sudo journalctl -u redis-server -n 50. Ne résolvez pas un problème de permissions de socket en exposant Redis au réseau public.

Anciennes versions de Nextcloud : utilisez plutôt PhpRedis.

Si votre version de Nextcloud est antérieure à la version 34.0.2, installez l'extension PHP Redis correspondant à la version de PHP utilisée par Nextcloud. Sur une installation standard Ubuntu 24.04 avec PHP 8.3, le paquet estphp-redis ; Ubuntu le répertorie comme l'extension PHP 8.3 Redis. Redémarrez le gestionnaire PHP actif après l'installation. Dans config.php, utilisez les classes Redis classiques et le bloc de connexion au lieu des entrées KeyValueCache mentionnées ci-dessus :

'memcache.local' => '\OC\Memcache\APCu',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => [
    'host' => '/run/redis/redis-server.sock',
    'port' => 0,
],

La liste des paquets Noble php-redis d'Ubuntu confirme la correspondance des paquets. Ne configurez pas les deux backends simultanément. Après avoir enregistré la configuration correspondante, répétez le test de connexion au socket et la vérification de l'interface d'administration de Nextcloud.

Laisser un commentaire

Configurez l'URL publique de Nextcloud pour qu'il puisse s'accéder à lui-même.

Corrigez l'avertissement concernant l'adresse sortante manquante de Nextcloud en définissant son URL canonique et en vérifiant le DNS, le HTTPS et le routage du proxy inverse depuis le serveur lui-même.

Configurer la mise en cache Redis de Nextcloud sur Ubuntu 24.04

Configurer la mise en cache Redis de Nextcloud sur Ubuntu 24.04

Configurez APCu et Redis via un socket Unix local pour la mise en cache et le verrouillage des fichiers Nextcloud, avec les étapes pour les versions actuelles et antérieures de Nextcloud.

Configurez l'exécution automatique de Nextcloud Cron avec un minuteur Systemd

Vérifiez le mode cron de Nextcloud, réparez son service systemd et son minuteur, et assurez-vous que les tâches en arrière-plan s'exécutent après le démarrage et toutes les cinq minutes.

Éliminer l'avertissement de verrouillage de fichiers de Nextcloud avec Redis

Activez le verrouillage fiable des fichiers Nextcloud, choisissez le bon backend Redis ou Valkey et vérifiez que l'avertissement disparaît sans risque de modifications simultanées des fichiers.

Comment obtenir la note A+ en matière de sécurité pour Nextcloud ?

Comment obtenir la note A+ en matière de sécurité pour Nextcloud ?

Corrigez les problèmes courants d'analyse de Nextcloud grâce aux mises à jour actuelles, HTTPS et HSTS, à une confiance précise du proxy inverse et à des vérifications auprès du serveur public.

Activez le chiffrement côté serveur Nextcloud avec Measured Impact

Configurez Nextcloud SSE pour le stockage qui en a besoin, protégez les clés de chiffrement et mesurez l'impact sur les transferts et le processeur avant de chiffrer les fichiers existants.

Ajouter la recherche plein texte Elasticsearch à Nextcloud

Connectez la recherche de fichiers de Nextcloud à Elasticsearch, indexez le contenu des documents et choisissez une configuration adaptée à votre serveur et à vos besoins de sécurité.

Définir une politique d'expiration fiable pour les fichiers supprimés de Nextcloud

Définir une politique d'expiration fiable pour les fichiers supprimés de Nextcloud

Configurez Nextcloud pour supprimer les fichiers supprimés après une période de rétention définie, planifiez les tâches en arrière-plan de manière fiable et évitez les commandes qui vident la corbeille de tous les utilisateurs.

Effacer l'avertissement concernant les index de base de données manquants de Nextcloud

Effacer l'avertissement concernant les index de base de données manquants de Nextcloud

Exécutez la réparation OCC de Nextcloud en toute sécurité, prévisualisez les modifications de la base de données et vérifiez pourquoi l'avertissement peut persister.

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.