Nextcloud
Zur Navigation springen
Zur Suche springen
Nextcloud ist ein Fork von ownCloud und dient vorrangig als Cloud-Speicherdienst für den eigenen Server.
Nextcloud Infos
Migration von Owncloud:
- http://blog.jospoortvliet.com/2016/06/migrating-to-nextcloud-9.html
- https://help.nextcloud.com/t/migrating-from-owncloud-to-nextcloud/551/23
- https://help.nextcloud.com/t/howto-change-the-folder-owncloud-to-nextcloud-after-upgrading/695
- https://help.nextcloud.com/t/what-is-the-recommended-installation-method/585
Homepage und Support:
- https://nextcloud.com
- https://docs.nextcloud.org
- https://help.nextcloud.com
- Version scannen: https://scan.nextcloud.com
Apps:
Artikel:
- Nextcloud 13
- Nextcloud 17
- Nextcloud Schwerpunkt (Funktionen, Hoster, managed Nextcloud, Einrichtung, Apps und Client): c't 14/24 S.16 ff, ct:yj5h ct:ypxe ct:yvc6 ct:ynby
- Nextcloud mit Docker auf NAS: siehe c't 10/18 S.142
- Nextcloud erfolgreich einführen: Checklisten für Ihre Organisation (pro-linux.de)
- Einsatz mit Kubernetes / k3s , siehe c't 09/20 S.26, ct:yq1e
- Nextcloud-Instanz per Docker der c't: https://github.com/psct/ctnextcloud
- Nextcloud stellt High-Performance Back-End unter Open-Source-Lizenz
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.
- https://nextcloud.com/collaboraonline/
- https://www.collaboraoffice.com/collabora-online/
- CODE
- https://hub.docker.com/r/collabora/code/
- https://help.nextcloud.com/t/nextcloud-collabora-integration/151879
- siehe iX 02/17 S.54
- https://nextcloud.com/blog/how-to-install-collabora-online-in-nextcloud-hub/
- https://collabora-online-for-nextcloud.readthedocs.io/en/latest/install/
- https://sdk.collaboraonline.com/docs/installation/CODE_Docker_image.html
Tipps:
- Nach Update muss man manchmal die Einstellung der URL in "Collabora Online Server" erneut speichern.
Release Notes:
- https://www.collaboraoffice.com/code-22-05-release-notes/ (CODE)
- https://www.collaboraoffice.com/collabora-online-22-05-release-notes/
Only Office
- How to install ONLYOFFICE in Nextcloud Hub and new integration feature
- Konnektoren
- siehe c't 11/20 S.128
- 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
- speichert nicht zuverlässig; Änderungen aus verschiedenen Sessions gehen verloren, https://github.com/nextcloud/documentserver_community/issues/100
Talk
- Praxis-Bericht siehe c't 14/20 S.154, http://ct.de/yz7k
- How federated chat works in Nextcloud Talk
Andere Erweiterungen
- Introducing cloud storage in the blockchain with Sia and Nextcloud
- Kurztipp: Nextcloud mit Solr-Volltextsuche ausstatten (pro-linux.de)
- Nextcloud Text
- https://cloud.nextcloud.com/s/4Bi8CMtKLDe2otY
- https://www.linux-magazin.de/news/nextcloud-text-schlanker-editor-fuer-notizen-und-mehr/
- https://www.pro-linux.de/news/1/27197/nextcloud-stellt-kollaborativen-texteditor-vor.html
- https://www.pro-linux.de/artikel/2/1978/nextcloud-text-ein-etherpad-ersatz-f%C3%83%C2%BCr-alle.html
- Deck
- Group Folders: Für gemeinsame Verzeichnisstruktur, siehe c't 11/20 S.129
- Umfragen mit Nextcloud Forms: https://www.heise.de/news/Wie-Google-Forms-aber-mit-Privatsphaere-Nextcloud-veroeffentlicht-Umfrage-Tool-4855836.html
- Authentifizierung mit dem elektronischen Personalausweis
- Collectives (Wiki mit Markdown)
- Mattermost Integration App: Files in Mattermost Channel senden
- Whiteboard
Tipps und Tricks
- 5 features in Nextcloud Talk you didn’t know about
- FAQ: Nextcloud in der Praxis (Heise), c't 16/24 S.158
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>/
- Nextcloud-Kalender in ein Android-Widget integrieren | heise online - Anzeige der Termine mittels jCal, c't 24/23 S.134, ct:yued
Benutzung
- Nextcloud Teams: essential hacks for better team sharing and management
- How to set up a meeting effectively in Nextcloud
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
- https://docs.nextcloud.com/server/22/admin_manual/configuration_server/caching_configuration.html
- https://docs.nextcloud.com/server/22/admin_manual/installation/server_tuning.html
PHP-FPM
Werte weit über Default setzen: https://spot13.com/pmcalculator/
- 27. April 2024 -> php-fpm startet nicht mehr mit "pcre"-Fehler. Abhilfe: Paket libpcre2-8-0-x86-64-v3 deinstallieren
Konfiguration Tool: 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
- Infos zu Cheching in Nextcloud mit redis
- https://docs.nextcloud.com/server/28/admin_manual/configuration_files/files_locking_transactional.html
- https://docs.nextcloud.com/server/28/admin_manual/configuration_server/caching_configuration.html
- Filelocking Cache: Für Locking von Dateien bei Operationen mit Dateien im Filestore von Nextcloud
- Distributed Server Cache: Für Webserver-Dateien wie SVGs der Weboberfläche
- Local cache: Für Objekte wie Dateien im Benutzer-Filestore von Nextcloud
- Redis installieren
zypper in redis php8-redis systemctl enable redis@default
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
- php-fpm neu starten (ggf. auch Webserver)
systemctl restart php-fpm
- 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
Valkey als redis-Fork
- https://valkey.io/
- https://fedoramagazine.org/how-to-move-from-redis-to-valkey/
- https://fstln.de/posts/nextcloud/valkey/
- 7.2.x Version soll kompatibel zu Redis 7.2.x bleiben, neue Features gehen in 8.x. API soll (dauerhaft?) kompatibel bleiben.
Installation und Konfiguration mit Nextcloud:
- Valkey installieren
zypper in valkey php8-redis systemctl enable valkey@default
vi /etc/valkey/default.conf unixsocket /run/valkey/valkey.sock unixsocketperm 770
- Webserver-User in Gruppe "valkey" aufnehmen
vi /etc/group valkey:x:453:wwwrun
- php-fpm neu starten (ggf. auch Webserver)
systemctl restart php-fpm
- Valkey starten
systemctl start valkey@default
- Valkey prüfen
systemctl status valkey@default
- Logdatei prüfen
less /var/log/valkey/default.log
- Nextcloud konfigurieren (nur Filelocking)
'filelocking.enabled' => true, 'memcache.locking' => '\OC\Memcache\Redis', 'redis' => array( 'host' => '/var/run/valkey/valkey.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/valkey/valkey.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/valkey/valkey.sock', 'port' => 0, 'timeout' => 0.0, ),