Wiki Tuto/HowTo - Nextcloud activer système de cache (memcache) avec redis

2
29
mar.
2017

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

  1. Sur la machine qui va servir de serveur de cache, installez redis-server
sudo apt-get install redis-server
  1. Sur votre serveur web, éditez le fichier de configuration de nextcloud/owncloud
sudo nano /var/www/html/cloud/config/config.php
  1. 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).
apt-get install php-acpu
  1. 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 ?

Envoyer un commentaire

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.