ownCloud: Redis Cache und Transactional File Locking bei uberspace

Nach der Installation werden im Administrationsbereich von ownCloud auf dem eigenen uberspace folgende Hinweise angezeigt:

Transactional file locking is using the database as locking backend, for best performance it’s advised to configure a memcache for locking. See the documentation ↗ for more information.
Es wurde kein PHP Memory Cache konfiguriert. Konfiguriere zur Erhöhung der Leistungsfähigkeit, soweit verfügbar, einen Memory Cache. Weitere Informationen finden Sie in unserer Dokumentation.

Beides lässt sich mit einigen kurzen Eingaben erledigen. Zunächst mit Putty (oder vergleichbaren Client) den eigenen uberspace kontaktieren. Im Beispiel wird davon ausgegangen, dass die ownCloud-Installation im Ordner /var/www/virtual/username/html/owncloud liegt. username und hostname sind im Zweifelsfall im Datenblatt zu finden. Zuerst wird die Cache-Datenbank Redis installiert:

test -d ~/service || uberspace-setup-svscan
uberspace-setup-redis
svc -du ~/service/redis
uberspace-install-pecl redis

Im Anschluss wird die config.php im Verzeichnis /var/www/virtual/username/html/owncloud/config/ bearbeitet.

<?php
$CONFIG = array (
 // Weitere Konfigurationsparameter sind hier ausgespart, jedoch nicht löschen!
 // Achtung: username ersetzen nicht übersehen!
  'filelocking.enabled' => 'true',
  'memcache.locking' => '\OC\Memcache\Redis',
  'memcache.local' => '\OC\Memcache\Redis',
  'redis' => array(
        'host'      => '/home/username/.redis/sock',
        'port'      => 0,
        'timeout'   => 0.0 
    ),
);

15 Reaktionen auf „ownCloud: Redis Cache und Transactional File Locking bei uberspace“

  1. Ist nach dem Installieren von redis und anpassen der Config noch etwas einzustellen oder neu zu starten? Wenn ich obige Anleitung befolge, erhalte ich beim Aufruf von ownlcoud den Fehler:

    Memcache \OC\Memcache\Redis not available for local cache Is the matching PHP module installed and enabled?

    1. Vielen Dank für den Hinweis. Momentan kann ich die Fehlermeldung nicht reproduzieren. Verwendest du ownCloud 8.2.x?

      1. Hallo,
        ich habe das gleiche Problem und verwende die aktuelle Version 8.2.2. Ich denke, dass irgendwo oben oder in unserer config.php ein kleiner formaler Fehler ist.

        Meine config.php:
        ‚true‘,
        ‚memcache.locking‘ => ‚\OC\Memcache\Redis‘,
        ‚memcache.local‘ => ‚\OC\Memcache\Redis‘,
        ‚redis‘ => array(
        ‚host‘ => ‚/home/eurus/.redis/sock‘,
        ‚port‘ => 0,
        ‚timeout‘ => 0.0
        ),

        //Standardangaben der Owncloud-Config.php
        // von ‚insanceid‘ bis ‚loglevel‘

        );

        Ich hoffe du kannst mir/uns weiterhelfen.

      1. Entsprechend der Fehlermeldung empfehle ich, den ersten Teil der Anleitung noch einmal zu versuchen und genau zu überprüfen, ob das auch funktioniert hat.

        Ich verwende owncloud 8.2.2 und konnte den Fehler nicht replizieren. Danke für diese Anleitung!

      2. Der Fehler tritt auf wenn eine PHP-Version < 5.6 eingestellt ist. Hatte das gleiche Problem :)

  2. Ich habe „die Jungs“ kontaktiert, und Moritz hat mir weitergeholfen, sodass es bei meinem Uberspace jetzt ohne Probleme klappt.

    In meiner ~/etc/php.ini wurden Module von PHP 5.5 geladen, obwohl ich PHP 5.6 nutze. Daran lag es.

    1. weißt du welche Module das sein könnten? habe glaub ich das selbe Problem.. ;)

  3. Hi,
    also, ich habe die php-version auf 5.6 in ~/etc/phpversion eingestellt.
    PHPVERSION=5.6
    killall php-cgi
    und da diese Scripten im ersten Teil auf Shell-Ebene laufen, vom Terminal abmelden und wieder anmelden.
    Unter Umständen muß halt etwas gewartet werden und gegebenenfalls wiederholt werden bis es läuft. Nicht vergessen, um den Interpreter zu starten eine php-seite im Browser aufrufen.

  4. Liegt definitiv an einer PHP-Version größer als 5.6 bei mir.

    Hat jemand schon eine Lösung das Ganze mit PHP7 zu realisieren? Danke

  5. Funktioniert einwandfrei mit bei mir mit PHP 5.6 und der ownCloud 9.0.1.

    Vielen Dank für die Anleitung

  6. Hier eine kleine Ergänzung für die Installation von Redis unter PHP 5.6:

    „Die neueste Version des redis-Moduls 3.0.0 unterstützt nur noch PHP 7. Wenn du also mit PHP 5.6 uberspace-install-pecl redis ausführst, schlägt die Installation fehl. Zur Lösung des Problems musst du entweder auf PHP 7 umsteigen oder explizit die Version redis-2.2.8 installieren.“ (https://wiki.uberspace.de/development:php)

Anmerkung oder Frage schreiben

Jeder Beitrag wird von Hand freigeschaltet. Mit dem Absenden Ihres Kommentars willigen Sie ein, dass der angegebene Name im Zusammenhang mit Ihrem Kommentar und ggf. Ihrer Website gespeichert wird.