Introduction
- Le système de cache permet de stocker en mémoire RAM (ou en SWAP si trop de RAM utilisée) certaines informations régulièrement sollicitées, évitant ainsi de passer par la base de données (MySQL, PostGreSQL, SQLITE, etc) et augmentant les performances. Si vous utilisez un cache Redis sur une autre machine que le serveur web (par exemple en cluster), utilisez php-apcu pour stocker localement les scripts php précompilés et redis pour les informations qui doivent être partagées entre les serveurs.
Note : ce tuto devrait aussi fonctionner avec owncloud (à vérifier)
Mise en place
- Sur la machine qui va servir de serveur de cache, installez redis-server.
sudo apt-get install redis-server
- Sur votre serveur web, si ce n'est déjà fait, installez php-redis.
sudo apt install php-redis
- Sur votre serveur web, éditez le fichier de configuration de nextcloud/owncloud.
sudo nano /var/www/html/cloud/config/config.php
- Ajoutez les lignes suivantes avant ); qui se situe à la fin du fichier.
- Si Redis est sur la même machine que Nextcloud :
'memcache.local' => '\OC\Memcache\Redis', /* contient les scripts php précompilés */
'filelocking.enabled' => 'true',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.locking' => '\OC\Memcache\Redis',
'redis' =>
array (
'host' => 'localhost',
'port' => 6379,
'timeout' => 0,
'dbindex' => 0,
),
- Si Redis est sur une autre machine :
/* GESTION CACHE */
'filelocking.enabled' => 'true',
'memcache.local' => '\OC\Memcache\APCu', /* contient les scripts php précompilés */
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' => array(
'host' => '10.8.66.42', /* l'adresse ip de votre serveur redis */
'port' => 6379,
'dbindex' => 0,
'password' => 'tape_un_mot_de_passe_super_solide_si_non_on_va_te_pirater',
'timeout' => 1.5,
),
- Dans ce dernier cas de figure, sur vos serveurs web pensez à avoir déjà installé php-apcu (déjà fait si vous avez suivis mes tutos).
sudo apt-get install php-acpu
- Connectez-vous en tant qu'administrateur sur l'interface web de votre nextcloud/owncloud et rendez-vous dans l'espace d'administration. Si le message suivant n’apparaît pas, c'est que vous avez bien bossé :)
- Aucun cache mémoire n'est configuré. Si possible, configurez un "memcache" pour améliorer les performances.
Informations supplémentaires
Si vous devez éditer le fichier de configuration de Redis
sudo nano /etc/redis/redis.conf
Afficher le PID de redis-server
sudo cat /var/run/redis/redis-server.pid
Foire Aux Questions
En utilisation mono-serveur de Redis, que se passe-t-il pour Nextcloud si le serveur Redis n'est pas joignable ?
- Réponse : Nextcloud va retourner l'erreur suivante :
Internal Server Error
The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.
Les communications entre les clients et le serveur Redis sont-elles chiffrées ?
- Réponse : non (source)
Farm Link
- [Tuto/HowTo] [GNU/Linux] Nextcloud activer système de cache (memcache) avec redis (tuto d'origine)
- [Tuto/HowTo] [GNU/Linux] installer Nextcloud avec apache2, mariadb et PHP7
- Tuto - chiffrer côté serveur les fichiers hébergés par Nextcloud
- Tuto - Comment synchroniser des dossiers-fichiers sur Nextcloud ou Owncloud
- [Tuto/HowTo] [Ubuntu/Debian] Configurer Redis pour connexion exterieur
# php-redis
Posté par fxeon . Évalué à 1 (+0/-0).
Bonjour sur Debian 9, il faut installer php-redis pour que ça marche.
De plus il y a pas un problème d'escape ici par exemple? :
'memcache.local' => '\\OC\\Memcache\\Redis', /* contient les scripts php précompilés */
[^] # Re: php-redis
Posté par voxdemonix . Évalué à 1 (+0/-0). Dernière modification le 02 juin 2018 à 17:16.
Ajouté. Merci du retour @fxeon.
Je viens de tester
et
Les deux fonctionnent. Néanmoins, utiliser un seul \ permet d'économiser quelques bits :)
# Merci pour le fichier config.php
Posté par Axelos (site web personnel) . Évalué à 1 (+0/-0). Dernière modification le 21 août 2021 à 11:22.
Bonjour,
Merci pour le fichier config.php, car je ne trouvais pas comment le configurer pour connecter Nextcloud à Redis sur le même serveur.
En réalité je ne sais pas si c'est bien configuré, cependant Nextcloud n'indique plus d'erreur. C'est déjà bien positif !
Axel.
# Commentaire supprimé
Posté par Cramaboule . Évalué à -1 (+0/-1). Dernière modification le 10 octobre 2024 à 07:53.
Ce commentaire a été supprimé par l’équipe de modération.
Envoyer un commentaire
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.