Nextcloud

aus www.kruedewagen.de, Homepage von Ralf und Judith Krüdewagen (Kruedewagen)
Zur Navigation springen Zur Suche springen
Die druckbare Version wird nicht mehr unterstützt und kann Darstellungsfehler aufweisen. Bitte aktualisiere deine Browser-Lesezeichen und verwende stattdessen die Standard-Druckfunktion des Browsers.

Nextcloud ist ein Fork von ownCloud und dient vorrangig als Cloud-Speicherdienst für den eigenen Server.

Nextcloud Infos

Migration von Owncloud:

Homepage und Support:

Apps:

Artikel:

Collabora Online

Mit Collabora kann man sich einen Dienst für die kollaborative Arbeit an Office-Dokumenten einrichten. Es basiert auf LibreOffice und läuft typischerweise als Docker-Container.

Tipps:

  • Nach Update muss man manchmal die Einstellung der URL in "Collabora Online Server" erneut speichern.

Release Notes:

Only Office

  • Nachteile gegenüber Collabora
    • Bei geteilten Links ist der Editor immer "Anonym". Man kann keinen Namen setzen.
    • Chat und Videokonferenz via Nextcloud nicht möglich im Kontext des Dokuments.
    • Muss manuell geflusht werden, damit Änderungen im Cache in Datei geschrieben wird, z.B. per Cron
occ documentserver:flush

Talk

Mail

Andere Erweiterungen

Tipps und Tricks

URL ändern

  • Verzeichnis im DocumentRoot anpassen
  • Pfade in DocumentRoot/.htaccess anpassen
  • Pfade in Apache Config anpassen, z.B. in /etc/apache2/conf.d/nextcloud.conf
  • Nextcloud Config in config.php anpassen
  • Ggf. Pfad zu data in Datenbank-Tabelle oc_storages anpassen
  • Pfad in Collabora Online anpassen (Auth)

PHP Version

  • PHP 7.4 -> Check hier ändern [1]:
lib/versioncheck.php

CalDAV und CardDAV

https://example.com/nextcloud
https://example.com/nextcloud/remote.php/dav/calendars/<username>/<calendarname>/
https://example.com/nextcloud/remote.php/dav/addressbooks/users/<username>/<addressbookname>/

Google Kalender

WebDAV

https://example.com/nextcloud
https://example.com/nextcloud/remote.php/dav/files/<USERNAME>/

Update

sudo -u wwwrun php updater/updater.phar
  • Update Channel in config.php
'updater.release.channel' => 'beta'

Downgrade einer App

Beispiel "Nextcloud Office":

  • Die betreffende App in Nextcloud UI deaktivieren
  • Bestehende App entfernen
cd apps/
rm -rf richdocuments
  • App herunterladen
wget https://github.com/nextcloud-releases/richdocuments/releases/download/v5.0.1/richdocuments-v5.0.1.tar.gz
  • App entpacken, Owner setzen und Download-Paket entfernen
tar zxvf richdocuments-v5.0.1.tar.gz
chown -R wwwrun:www richdocuments
rm richdocuments-v5.0.1.tar.gz
  • Die betreffende App in Nextcloud UI aktivieren

PHP Performance

PHP-FPM

Werte weit über Default setzen: https://spot13.com/pmcalculator/

Caching

  • Opcache mit PHP-FPM
/etc/php7/fpm/php.ini


  • APCu
zypper in php7-APCu
/etc/php7/conf.d/apcu.ini

Prüfen:

phpinfo();

Chaching mit redis

  • Redis installieren
zypper in redis php8-redis
systemctl enable redis@default
  • Redis konfigurieren (Unix Socket statt TCP [2],[3])
vi /etc/redis/default.conf
unixsocket /run/redis/redis.sock
unixsocketperm 770
  • Socket Verzeichnis erstellen
mkdir /run/redis
chown redis:redis /run/redis
  • Webserver-User in Gruppe "redis" aufnehmen
vi /etc/group
redis:x:453:wwwrun
  • Redis starten
systemctl start redis@default
  • Redis prüfen
systemctl status redis@default
  • Logdatei prüfen
less /var/log/redis/default.log
  • Nextcloud konfigurieren (nur Filelocking)
'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => '/var/run/redis/redis.sock',
     'port' => 0,
     'timeout' => 0.0,
      ),
  • Nextcloud konfigurieren (Filelocking + distributed server cache)
'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.distributed' => '\OC\Memcache\Redis',
'redis' => array(
     'host' => '/var/run/redis/redis.sock',
     'port' => 0,
     'timeout' => 0.0,
      ),
  • Nextcloud konfigurieren (Filelocking + distributed server cache + local cache)
'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'memcache.distributed' => '\OC\Memcache\Redis',
'memcache.local' =>'\OC\Memcache\Redis',
'redis' => array(
     'host' => '/var/run/redis/redis.sock',
     'port' => 0,
     'timeout' => 0.0,
      ),
  • Nextcloud Systemlog prüfen
  • Redis Aktivitäten prüfen (bei Dateiaktivitäten) [4]
redis-cli -s /run/redis/redis.sock MONITOR
redis-cli -s /run/redis/redis.sock KEYS "*"
  • Regelmäßige Dumps bzw. Snapshots im Filesystem [5]:
/var/lib/redis/default/dump.rdb
  • Laden der Snapshots nach Restart prüfen im Log (hier 326 Keys mit 1,59 MByte):
28151:C 03 Apr 2024 10:46:40.982 * Configuration loaded
28151:M 03 Apr 2024 10:46:40.982 * monotonic clock: POSIX clock_gettime
28151:M 03 Apr 2024 10:46:40.982 * Running mode=standalone, port=0.
28151:M 03 Apr 2024 10:46:40.983 * Server initialized
28151:M 03 Apr 2024 10:46:40.983 * Loading RDB produced by version 7.2.4
28151:M 03 Apr 2024 10:46:40.983 * RDB age 0 seconds
28151:M 03 Apr 2024 10:46:40.983 * RDB memory usage when created 1.59 Mb
28151:M 03 Apr 2024 10:46:40.983 * Done loading RDB, keys loaded: 326, keys expired: 0.
28151:M 03 Apr 2024 10:46:40.983 * DB loaded from disk: 0.001 seconds
28151:M 03 Apr 2024 10:46:40.983 * Ready to accept connections unix

Sicherheit

Siehe auch