NextCloud und das Inotify-Plugin

2017-10-27 // Tags:

NextCloud hat eine unschöne Eigenheit. Wenn man auf dem Server direkt über das Dateisystem eine Datei erstellt, löscht oder verschiebt, bekommt das NextCloud nicht mit. Damit wieder alles synchron läuft, muss man auf der Kommandozeile ein occ files:scan ausführen. Oder man greift auf das Plugin “INotify file watcher” zurück, das Änderungen direkt im Dateisystem überwacht und er NextCloud mitteilt.

Leider konnte ich die App erstmal nicht installiern:

“The library inotify is not available.”

Und war damit nicht der einzige.

Zunächst klingt die Fehlermeldung recht trivial; auf Betriebssystem-Ebene (Ubuntu 12.04 als Server) schlicht inotify-tools nachinstalliert - doch weiterhin der gleiche Fehler beim Versuch, “INotify file watcher” zu installieren.

Die Lösung schlussendlich: Es fehlte die php-Library für Inotify! Und diese findet man im PECL. Damit ich die Library auf meinem VPS mit Plesk installierne konnte, waren ein paar manuelle Schritte notwendig:

Zunächst musste ich herausfinden, welche php-Pakete ich von Plesk verfügbar habe:

apt search plesk-php devel

Anschließend habe ich für meine verwendete php-Version die php-Entwicklungstools installiert:

apt install plesk-php70-dev

Nun konnte ich das Inotify-Modul installieren:

cd /opt/plesk/php/7.0/
./pecl install inotify

Und in meiner php-Konfiguration registrieren:

echo "extension=inotify.so" > /opt/plesk/php/7.0/etc/php.d/inotify.ini

Damit ich das Modul über Plesk auch aktivieren kann, musste ich Plesk noch über die Änderungen informieren:

plesk bin php_handler --reread

Nun konnte ich auch die NextCloud-App installieren - allerdings nicht starten. Der nächste Fehler:

ehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. (sic!)