Inhaltsverzeichnis

Nextcloud

Quellen

Installation

Installation auf eigenem Server.
Minimal-Variante: Daten, Kalender, Kontakte.

sudo nano /etc/crontab
*/5 * * * *     www-data php -f /var/www/nextcloud/cron.php

Pfad anpassen!!

Hintergrundaufgaben über Cronjob einrichten
Administratoreinstellungen → Grundeinstellungen → Cron )Empfohlen) auswählen

Konfiguration

sudo nano config/config.php

Datenpfad.

'datadirectory' => '/var/www/data/bluegnu.de_cloud',

Sicherheit: Hier liegt der Pfad außerhalb des Webseitenbereichs, wordurch dieser nur über Serverscripte oder SSH-Zugriffe erreichbar ist.
Region

'default_phone_region' => 'DE',

Zeitfenster für Hintergrund-Wartungen begrenzen (ab Uhrzeit max 4 h)

'maintenance_window_start' => 3,

zusätzliche PHP-Module installieren (je nach Version)

sudo apt install php8.2-gmp php8.2-bcmath php8.2-imagick php8.2-intl php8.2-apcu

Optimierungen

Abarbeitung entsprechend Infos auf Nextcloud-Adminseite.
Es müssen ggf. PHP- und/oder Apache-Module nachinstalliert werden oder Anpassungen in der PHP.INI erfolgen - die für die Seite zuständige. Welche genutzt wird, hängt von den Einstellungen im Webserver ab.
Bei Apache und der in diesem System genutzten Variante mit fpm, siehe Apache Web-Server, befindet sie sich - für die Version 8.2 - hier:

sudo nano /etc/php/8.2/fpm/php.ini

zum Beispiel memory_limit erhöhen

memory_limit = 512M

Datenbank-Indexe aufräumen - als root auf Konsole ausführen - im Verzeichnis der Webseite

sudo -u www-data php occ db:add-missing-indices

Anpassungen in der Domain-Config (in der Version für Lets-Encrypt)

sudo nano /etc/apache2/sites-available/bluegnu.de_cloud-le-ssl.conf 

Abschnitt der Cloud

<IfModule mod_headers.c>  
  Header always set Strict-Transport-Security "max-age=15552000; includeSubDomains"  
</IfModule>

dafür erforderlich Installation der Apache-Erweiterung mod_headers

sudo a2enmod headers

Zum Ende Apache und PHP neu starten/laden

sudo systemctl reload php8.2-fpm.service
sudo systemctl restart apache2

Update-Probleme

Infos zum OCC-Kommando

Sollte das Update nicht bis zum Ende durchlaufen, hilft dieser Befehl - ausgeführt auf der Shell im Mainverzeichnis der HTML-Dateien.

sudo -u www-data php occ upgrade

-u www-data = Im Namen von User www-data1) ausführen
php OCC = das PHP-Script OCC ausführen
upgrade = Parameter für das PHP-Script

Papierkorb

Ein sehr voller Papierkorb kann zu erheblichen Performance-Problemen führen.
Dateien, die durch eine Client-Sync-Nutzung, z.B. auf einem Windows-System, verschoben werden, landen zusätzlich im Papierkorb. Werden so große Veränderungen an der Struktur vorgenommen, kann der Papierkorb extrem voll werden.
Es empfiehlt sich diesen regelmäßg zu leeren - z.B. über das Frontend auf der Webseite.

Daten Synchronisation

Thunderbird Kalender- und Kontakte

Add-ons installieren:

TbSync starten und Login-Daten einpflegen.
Zu synchronisierende Elemente auswählen.

Es gab eine Problem mit der Netzwerk-Synchronisation der Kalender, da Termine jeweils (laut Meldung) kurz zuvor geändert wurden.
Lösung: TbSync bietet je Konto drei Reiter (Synchronisationsstatus, Kontoeinstellungen und Optionen).
Unter Optionen das Feld „Offline-Unterstützung“ deaktivieren.
Sollte das nicht bearbeitbar sein: im Reiter Synchronisationsstatus, das Konto deaktivieren, dann die Offline-Unterstützung auch deaktivieren, anschließend das Konto wieder aktivieren.

Windows Daten

Desktop-Software downloaden und installieren.

Während der Kontoeinrichtung wird man auf die Internetseite der Cloud-Installation geleitet - dort muss man den Daten-Zugriff für das Gerät freigeben.

Android Fotos

Hierfür wird die Nextcloud-App auf dem Smartphone benötigt.

Einstellungen → Automatisches Hochladen → Konfigurationsseite öffnet sich

Lokaler Ordner → Ordner, in dem das Smatphone die Fotos speichert.
Typisch / Beispiel: Hauptspeicher → DCIM → Camera
Remote-Ordner → Ordner auf dem Nextcloud-Server, in den die Fotos geladen werden sollen.
Zugriffe entsprechend benötigter Vorgaben einstellen.

Ressourcen anlegen

Installation der App calendar_resource_management in der Nextcloud-Instanz.

Einrichtung aktuell2) nur über die Shell, nicht übers Frontend.
Terminkoordination von:

Die benannten Räume oder Ressoucen sollten nach folgenden Eingaben im Kalender auf dem Frontend zur Verfügung stehen.

Beispiele (Befehle jeweils auf der Shell im Hauptverzeichnis der Cloud abgeben)
Details siehe: Calendar Resource Management

Adresse anlegen (erforderlich für Etage)

sudo -u www-data php occ calendar-resource:building:create --address="Domstr. 1, 50000 Cologne, Germany" "Office Cologne"

Etage anlegen (erforderlich für Raum)

sudo -u www-data php occ calendar-resource:story:create 1 "5. Floor"

Raum anlegen (Angabe der E-Mail ist Pflicht, kann aber eine Fake-E-Mail sein)

sudo -u www-data php occ calendar-resource:room:create 1 "myhomeoffice" "koeln_home_office" "homeoffice.koeln@bluegnu.de" "home office"

Allgemeine Ressource anlegen

sudo -u www-data php occ calendar-resource:resource:create "projetor1" 1 "Projektor 1" "projektor1.homeoffice.koeln@kspi.de" "Projektor"

Ressourcen anzeigen

sudo -u www-data php occ calendar-resource:resources:list

Raum löschen

sudo -u www-data php occ calendar-resource:resource:delete "room" 1

Nutzung über die Kalender-App:
Möglicherweise muss der erste Buchstabe der Ressource (display-name) bei Anlage eines Termins angegeben werden, um diesen zu finden. Ohne Eingabe bleibt die Auswahl möglicherweise komplett leer.

1)
User für Apache-Webbrowser
2)
August 2024