Unterabschnitte

Das Nextcloud-Paket

Die Einleitung

Die Nextcloud-Software stellt einen ortsunabhängigen Speicherbereich für Daten zur Verfügung. Im Gegensatz zu kommerziellen Speicherdiensten läuft Nextcloud auf einem privaten Server. Somit können Bedenken gegen eine Weitergabe von sensiblen, persönlichen Daten und der damit verbundenen Abgabe der Kontrolle über die selbigen entkräftet werden.

Die Funktionen

Das Nextcloud-Paket besteht aus folgenden Komponenten:

Die Lizenzen

Die Dateien des Nextcloud-Programmpaketes sind unter der Affero General Public License v3 (AGPL), deren Text in der Datei COPYING-AGPL im Nextcloud-Webverzeichnis nachgelesen werden kann, oder neueren Versionen der AGPL lizenziert, solange keine anderslautenden Aussagen getroffen wurden.

Einzelne Komponenten sind wie folgt lizenziert:

Alle unmodifizierten Dateien aus diesen oder anderen Quellen unterliegen den ursprünglichen Copyright- und Lizenzangaben, die in den einzelnen Dateien vermerkt wurden.

Die Voraussetzungen

Dieses Paket benötigt einen laufenden Apache2-Webserver mit einem installiertem Apache2_php7- oder PHP7-FPM-Paket, sowie auf Wunsch ein optional installiertes und laufendes MySQL- oder PostgreSQL-Paket, um funktionieren zu können. Standardmäßig wird SQLite als Datenbank verwendet.

Die Installation

Das Nextcloud-Paket wird über das Setup-Menü installiert. Wird eine ältere Paketversion vorgefunden, so wird diese deinstalliert bevor die neuen Programmdateien installiert werden. Nach dem Installieren der Programmdateien wird direkt der Konfigurations-Editor gestartet um die Konfiguration anzupassen.
Nach Beendigung dieses Schrittes werden die Konfigurationsdateien generiert und alle benötigten Programme gestartet. Danach kann standardmäßig über einen Webbrowser, durch Eingabe von `http://<Name des eisfair-Servers>/nextcloud/`, ein abweichendes Verzeichnis kann in der Konfiguration über den Parameter NEXTCLOUD_DOCUMENT_ROOT gesetzt werden, auf die Anwendung zugegriffen werden.

Das Menü im Setup-Programm

Das Menü im Setup-Programm ist wie folgt aufgebaut:

Die Menüpunkte dürften selbsterklärend sein, da sie keinerlei weitere Eingaben erwarten. Aus diesem Grund wird auf deren Funktion nicht weiter eingegangen.

Die Änderung der Konfiguration

Die Konfiguration kann über den Menüpunkt `Edit configuration' geändert werden. Standardmäßig wird der Editor aufgerufen, der in der Environment-Konfiguration über die Variable 'EDITOR' festgelegt wurde. Nachdem der Editor beendet wurde wird abgefragt, ob die Konfiguration aktiviert werden soll. Wird dies bestätigt, werden über ein Skript die Anpassungen umgehend wirksam gemacht.

Die Konfigurationsdatei

In der Konfigurationsdatei, die über das Menü zugänglich ist, sind folgende Parameter vorhanden; wer sie von Hand editieren will findet sie unter /etc/config.d/nextcloud.

Die Parameter

START_NEXTCLOUD

Für die Aktivierung des Nextcloud-Programms muss dieser Parameter lediglich auf den Wert `yes' gestellt werden, die Einstellung `no' deaktiviert das Nextcloud-Programm.

Gültige Werte: yes, no

Standardeinstellung: START_NEXTCLOUD='no'

NEXTCLOUD_ADMIN_USER

Über diesen Parameter wird der Name des Nextcloud-Administrators festgelegt.

Gültige Werte: Name des Nextcloud-Administrators

Standardeinstellung: NEXTCLOUD_ADMIN_USER='admin'

NEXTCLOUD_ADMIN_PASS

Über diesen Parameter wird das Kennwort des Nextcloud-Administrators festgelegt.

Gültige Werte: Kennwort des Nextcloud-Administrators

Beispiel: NEXTCLOUD_ADMIN_PASS='pass'

NEXTCLOUD_DOCUMENT_ROOT (Optionaler Parameter)

Über diesen Parameter kann ein vom Standard abweichendes Dokumentenstammverzeichnis festgelegt werden. Wird dieser Parameter nicht gesetzt, so wird der folgende Verzeichnispfad verwendet: /var/www/htdocs/nextcloud .

Gültige Werte: absolute Pfadangabe

Beispiel: NEXTCLOUD_DOCUMENT_ROOT='/var/www/htdocs/nextcloud'

NEXTCLOUD_WEB_ROOT (Optionaler Parameter)

Falls über den Parameter NEXTCLOUD_DOCUMENT_ROOT ein vom Standard abweichendes Dokumentenstammverzeichnis festgelegt wurde, kann auf Wunsch über diesen Parameter auch ein vom Standard abweichendes Web-Stammverzeichnis festgelegt werden. Wird dieser Parameter nicht gesetzt, so wird der folgende Pfad verwendet: /nextcloud

Gültige Werte: absolute Pfadangabe

Beispiel: NEXTCLOUD_WEB_ROOT='/nextcloud'

NEXTCLOUD_DATA_DIR (Optionaler Parameter)

Über diesen Parameter kann ein vom Standard abweichendes Datenverzeichnis festgelegt werden in welchem Nextcloud seine Dateien ablegt. Wird dieser Parameter nicht gesetzt, so werden standardmäßig die folgenden Verzeichnispfade verwendet:

eisfair-1: /var/nextcloud

Gültige Werte: absolute Pfadangabe

Beispiel: NEXTCLOUD_DATA_DIR='/var/nextcloud'

NEXTCLOUD_HPB_ENABLED (Optionaler Parameter)

Über diesen Parameter kann auf Wunsch der Nextcloud High Performance Backend für den Dateizugriff aktiviert werden.

Gültige Werte: yes, no

Beispiel: NEXTCLOUD_HPB_ENABLED='yes'

NEXTCLOUD_TRUSTED_DOMAIN

Über diesen Parameter werden einer oder mehrere FQDN (Fully Qualified Domain Name) oder IP-Adressen, getrennt durch ein Pipe-Zeichen, angegeben von welchen ein Zugriff auf Nextcloud zugelassen wird. Auf Wunsch kann einem FQDN oder einer IP-Adresse eine durch einen Doppelpunkt getrennte Portnummer folgen. Ein Login wird nur dann zugelassen, wenn der angegeben Domain Name mit dem in der URL angegebenen Domain Namen übereinstimmt.

Gültige Werte: FQDN oder IP-Adresse, optional gefolgt von einer Portnummer

Standardeinstellung: NEXTCLOUD_TRUSTED_DOMAIN=

NEXTCLOUD_OVERWRITE_HOSTURL (Optionaler Parameter)

Über diesen Parameter kann bei Bedarf der FQDN (Fully Qualified Domain Name) festgelegt werden, über welche der Server von extern erreicht werden kann. Falls erforderlich kann das zu verwendende Protokoll, z.B. `https://' dem Domain Namen vorangestellt und ein zu verwendender TCP-Port, getrennt durch einen Doppelpunkt, angehängt werden.

Gültige Werte: FQDN, optional mit vorangestelltem Protokoll und/oder gefolgt von einer Portnummer

Beispiel:

NEXTCLOUD_OVERWRITE_HOSTURL='trusted.domain.de'
NEXTCLOUD_OVERWRITE_HOSTURL='https://trusted.domain.de'
NEXTCLOUD_OVERWRITE_HOSTURL='trusted.domain.de:1234'

NEXTCLOUD_DB_TYPE

Über diesen Parameter kann auf Wunsch, ein vom Standard 'sqlite' abweichender Datenbanktyp angegeben werden. Folgende Datenbanken werden unterstützt:

Gültige Werte: gültiger Datenbanktyp

Standardeinstellung: NEXTCLOUD_DB_TYPE=

NEXTCLOUD_DB_HOST (Optionaler Parameter)

Über diesen Parameter kann bei Bedarf der FQDN-Name des Servers festgelegt werden, auf sich die Nextcloud-Datenbank befindet. Falls erforderlich kann der zu verwendende TCP-Port, getrennt durch einen Doppelpunkt angehängt werden. Wird kein Port angegeben, so wird standardmäßig der Port `3306' verwendet. Standardmäßig wird die Datenbank auf dem gleichen Server erstellt, auf welchem auch Nextcloud betrieben wird.

Gültige Werte: FQDN-Name eines Servers, zzgl. des TCP-Port

Beispiel: NEXTCLOUD_DB_HOST= 'db - server.privat.lan : 3306'

NEXTCLOUD_DB_USER

Über diesen Parameter kann bei Bedarf ein Datenbankanwender festgelegt werden, welcher für den Zugriff auf die interne Nextcloud-Datenbank verwendet werden soll. Dies ist üblicherweise der Fall, wenn MySQL oder PostgreSQL als zu verwendende Datenbank ausgewählt wurde.

Gültige Werte: Name eines Datenbankanwenders

Standardeinstellung: NEXTCLOUD_DB_USER=

NEXTCLOUD_DB_PASS

Über diesen Parameter kann bei Bedarf ein Datenbankkennwort festgelegt werden, welches für den Zugriff auf die interne Nextcloud-Datenbank verwendet werden soll. Dies ist üblicherweise der Fall, wenn MySQL als zu verwendende Datenbank ausgewählt wurde.

Gültige Werte: Kennwort

Standardeinstellung: NEXTCLOUD_DB_PASS=

NEXTCLOUD_REDIS_HOST (Optionaler Parameter)

Über diesen Parameter kann bei Bedarf der FQDN-Name des Servers festgelegt werden, auf sich die Redis-Cache-Datenbank befindet. Falls erforderlich kann der zu verwendende TCP-Port, getrennt durch einen Doppelpunkt angehängt werden. Wird kein Port angegeben, so wird standardmäßig der Port `6379' verwendet. Standardmäßig wird die Datenbank auf dem gleichen Server erstellt, auf welchem auch Nextcloud betrieben wird.

Gültige Werte: FQDN-Name eines Servers

Beispiel: NEXTCLOUD_REDIS_HOST='db-server.privat.lan'

NEXTCLOUD_REDIS_PASS (Optionaler Parameter)

Über diesen Parameter kann bei Bedarf ein Datenbankkennwort festgelegt werden, welches für den Zugriff auf die Redis-Cache- Datenbank verwendet werden soll.

Gültige Werte: Kennwort

Standardeinstellung: NEXTCLOUD_REDIS_PASS=

NEXTCLOUD_PREVIEW_SETTINGS (Optionaler Parameter)

Über diesen Parameter können bei Bedarf die Grenzwerte für das Erzeugen von Vorschaubildern angepasst werden oder die Erzeugung von Vorschaubildern gäenzlich abgeschaltet werden. Wird dieser Parameter nicht gesetzt, so werden folgende Werte verwendet:

Maximale Breite in Pixel: 1024 ('nolimit' oder gerade Zahl)
Maximale Höhe in Pixel: 1024 ('nolimit' oder gerade Zahl)
Maximaler Skalierungsfaktor: 10 ('disabled' oder 1-10)
Maximale Bilddateigröeße: 50MB ('nolimit' oder gerade Zahl)

Gültige Werte: 'no' oder vier durch ein Semikolon getrennte Werte

Beispiel: NEXTCLOUD_PREVIEW_SETTINGS='1024:1024:10:50'

NEXTCLOUD_SHARE_FOLDER (Optionaler Parameter)

Über diesen Parameter kann auf Wunsch ein Verzeichnis angegeben werden, in welchem geteilte Inhalte abgelegt werden. Wird dieser Parameter nicht gesetzt, so wird standardmäßig dass Stammverzeichnis (/) verwendet.

Gültige Werte: absolute Pfadangabe

Beispiel: NEXTCLOUD_SHARE_FOLDER='/GeteiltesZeug'

NEXTCLOUD_REWRITE_BASEURL (Optionaler Parameter)

Über diesen Parameter kann auf Wunsch das Umschreiben der Basis-URL aktiviert werden, um diese zu kürzen und von dem index.php-Anteil zu befreien. Da eine korrekte Funktion von Nextcloud von vielen Dingen abhängt, sollte dieser Parameter mit Bedacht gesetzt werden um Fehlfunktionen zu vermeiden.

Gültige Werte: yes, no

Beispiel: NEXTCLOUD_REWRITE_BASEURL='yes'

NEXTCLOUD_SECURITY_LOWERING

Über diesen Parameter können auf Wunsch die Systemsicherheit reduzierende Einstellungen aktiviert werden. Standardmäßig werden im Paket die Nextcloud-spezifischen Vorgaben zur Härtung des Systems berücksichtigt. Durch Aktivierung der folgenden Parameter wird die Systemsicherheit zu Gunsten der Funktionalität herab gesetzt.

Gültige Werte: yes, no

Standardeinstellung: NEXTCLOUD_SECURITY_LOWERING='no'

NEXTCLOUD_SECURITY_HTACCESS_RW

Über diesen Parameter kann auf Wunsch die .htaccess-Datei im Dokumentenstammverzeichnis für den Account unter dem der Webserver betrieben wird, beschreibbar gemacht werden. Dies erlaubt die Anpassung von PHP-spezifischen Einstellungen über die Nextcloud-Oberfläche.

Gültige Werte: yes, no

Standardeinstellung: NEXTCLOUD_SECURITY_HTACCESS_RW='no'

NEXTCLOUD_SMTP_MANUAL_CONFIGURATION

Über diesen Parameter wird festgelegt, ob die Konfiguration des zu verwendenden SMTP-Servers, welcher für den Versand von Nachrichten verwendet wird, manuell erfolgen soll oder nicht. Standardmäßig werden Nachrichten automatisch über einen lokale installierten SMTP-Server versandt, wenn ein installierte mail-, msmtp- oder ssmtp-Paket gefunden wird.

Gültige Werte: yes, no

Standardeinstellung: NEXTCLOUD_SMTP_MANUAL_CONFIGURATION='no'

NEXTCLOUD_SMTP_HOST

Über diesen Parameter wird der Hostname des SMTP-Servers angegeben über den ausgehende Nachrichten Versand werden sollen.

Gültige Werte: Hostname oder IP-Adresse

Standardeinstellung: NEXTCLOUD_SMTP_HOST='127.0.0.1'

NEXTCLOUD_SMTP_AUTH

Über diesen Parameter wird festgelegt, ob eine Authentifizierung am SMTP-Server erfolgen und falls ja, welche Authentifizierungsmethode dafür verwendet werden soll.

Gültige Werte: none, login

Standardeinstellung: NEXTCLOUD_SMTP_AUTH='none'

NEXTCLOUD_SMTP_AUTH_USER

Wurde der Wert des Parameters NEXTCLOUD_SMTP_AUTH nicht auf 'none' gesetzt, so kann über diesen Parameter bei Bedarf ein Login festgelegt werden, welcher für die Anmeldung am SMTP-Server verwendet werden soll.

Gültige Werte: Login

Standardeinstellung: NEXTCLOUD_SMTP_AUTH_USER=

NEXTCLOUD_SMTP_AUTH_PASS

Wurde der Wert des Parameters NEXTCLOUD_SMTP_AUTH nicht auf 'none' gesetzt, so kann über diesen Parameter bei Bedarf ein Kennwort festgelegt werden, welches für die Anmeldung am SMTP-Server verwendet werden soll.

Gültige Werte: Kennwort

Standardeinstellung: NEXTCLOUD_SMTP_AUTH_PASS=

NEXTCLOUD_SMTP_TRANSPORT

Über diesen Parameter wird festgelegt, ob als Transportprotokoll das unverschlüsselte SMTP (default) oder eines der verschlüsselten Protokolle SMTPS (ssl) oder SMTP über TLS (tls) verwendet werden soll.

Gültige Werte: default, ssl, tls

Standardeinstellung: NEXTCLOUD_SMTP_TRANSPORT='default'

NEXTCLOUD_APPSTORE_ENABLED

Über diesen Parameter wird festgelegt, ob Anwender eigene Apps installieren dürfen oder nicht. Wenn dieser Parameter auf den Wert 'yes' gesetzt wird, so muss mindestens ein Apps-Verzeichnis beschreibbar sein, d.h. einmal NEXTCLOUD_APPS_x_WRITEABLE='yes' gesetzt sein.

Gültige Werte: yes, no

Standardeinstellung: NEXTCLOUD_APPSTORE_ENABLED='no'

NEXTCLOUD_APPS_N (Optionaler Parameter)

Über diesen Parameter wird die Anzahl der zusätzlich zu konfigurierenden Apps-Verzeichnisse festgelegt.

Wird dieser Parameter nicht gesetzt, so werden die folgenden Verzeichnispfade verwendet:

/var/www/htdocs/nextcloud/apps - Lesezugriff
/var/www/htdocs/nextcloud/apps2 - Schreib-/Lesezugriff

Gültige Werte: Zahl

Standardeinstellung: NEXTCLOUD_APPS_N='1'

NEXTCLOUD_APPS_x_DIR (Optionaler Parameter)

Über diesen Parameter wird ein zusätzliches Apps-Verzeichnis festgelegt in welchem Nextcloud seine Apps, d.h. optionale Programme, ablegt.
Hinweis
Standardmäßig wird neben dem eigentlichen Verzeichnis '/apps' (Lesezugriff) noch ein weiteres Verzeichnis '/apps2' (Schreib-/Lesezugriff) angelegt, in welchem alle von Anwendern herunter geladenen Apps abgelegt werden.


Wird dieser Parameter nicht gesetzt, so werden die folgenden Verzeichnispfade verwendet:

/var/www/htdocs/nextcloud/apps - Lesezugriff
/var/www/htdocs/nextcloud/apps2 - Schreib-/Lesezugriff

Gültige Werte: absolute Pfadangabe

Beispiel: NEXTCLOUD_APPS_1_DIR='/var/www/htdocs/nextcloud/apps2'

NEXTCLOUD_APPS_x_URL (Optionaler Parameter)

Über diesen Parameter wird der HTTP-Pfad zum zusätzlichen Apps-Verzeichnis festgelegt in welchem Nextcloud seine Apps, d.h. optionale Programme, ablegt.

Wird dieser Parameter nicht gesetzt, so wird standardmäßig der folgende HTTP-Pfad verwendet:

/apps
/apps2

Gültige Werte: absolute Pfadangabe

Beispiel: NEXTCLOUD_APPS_1_URL='/apps2'

NEXTCLOUD_APPS_x_WRITEABLE (Optionaler Parameter)

Über diesen Parameter wird festgelegt, ob das über den Parameter NEXTCLOUD_APPS_x_DIR festgelegte, zusätzliche Verzeichnis beschreibbar ist oder nicht, d.h. ob es von Anwendern zum Abspeichern eigener Apps verwendet werden kann.
Nur wenn mindestens ein Verzeichnis beschreibbar ist, kann über den Parameter NEXTCLOUD_APPSTORE_ENABLED der Zugriff auf den Nextcloud App-Store freigeschaltet werden.

Wird dieser Parameter nicht gesetzt, so werden die folgenden Zugriffe verwendet:

/var/www/htdocs/nextcloud/apps - Lesezugriff
/var/www/htdocs/nextcloud/apps2 - Schreib-/Lesezugriff

Gültige Werte: yes, no

Standardeinstellung: NEXTCLOUD_APPS_1_WRITEABLE='no'

NEXTCLOUD_DEFAULT_THEME (Optionaler Parameter)

Über diesen Parameter wird das standardmäßig zu verwendende Thema für Nextcloud festgelegt. Bei der Eingabe wird geprüft, ob sich ein Ordner gleichen Namens im Unterverzeichnis ./themes befindet bevor die Einstellung übernommen wird. Wird dieser Parameter nicht gesetzt, so wird das Nextcloud-Standardthema verwendet.

Gültige Werte: existierendes Nextcloud-Thema

Standardeinstellung: NEXTCLOUD_DEFAULT_THEME=

NEXTCLOUD_SESSION_LIFETIME (Optionaler Parameter)

Über diesen Parameter wird die maximale Lebensdauer einer Anmeldesitzung festgelegt. Wird der gesetzte Zeitrahmen überschritten, so wird eine Anmeldesitzung automatisch beendet. Wird dieser Parameter nicht gesetzt, so bleibt eine Sitzungsabmeldung unbefristet gültig.

Gültige Werte: Zeit in Sekunden

Beispiel: NEXTCLOUD_SESSION_LIFETIME='86400'

NEXTCLOUD_LOG_TYPE (Optionaler Parameter)

Über diesen Parameter wird eingestellt, wie Logmeldungen gespeichert werden sollen. Wird 'file' gewählt, so werden alle Meldungen in eine separate Logdatei mit Namen 'nextcloud.log' gespeichert. Durch Auswahl von 'syslog' wird hingegen der Standard-Syslog-Mechanismus genutzt.

Gültige Werte: file, syslog

Standardeinstellung: NEXTCLOUD_LOG_TYPE='file'

NEXTCLOUD_LOG_COUNT

Über diesen Parameter wird eingestellt, wie viele Logdateien vorgehalten werden sollen. Wird dieser Wert überschritten, so wird die älteste Logdatei gelöscht.

Gültige Werte: Zahl

Standardeinstellung: NEXTCLOUD_LOG_COUNT='10'

NEXTCLOUD_LOG_INTERVAL

Dieser Parameter bestimmt in welchen Intervallen die Logdateien archiviert werden sollen. Zur Auswahl stehen die Schlüsselwörter `daily' - täglich, `weekly' - wöchentlich und `monthly - monatlich.

Gültige Werte: daily, weekly, monthly

Standardeinstellung: NEXTCLOUD_LOG_INTERVAL='weekly'

NEXTCLOUD_CRON_SCHEDULE (Optionaler Parameter)

Über diesen Parameter wird festgelegt zu welchem Zeitpunkt bzw. in welchem Intervall automatisch Hintergrundarbeiten durchgeführt werden sollen. Die fünf Teilparameter haben dabei folgende Bedeutung:
1 - Minuten, 2 - Stunden, 3 - Tag des Monats, 4 - Monat, 5 - Wochentag.

D.h. bei Verwendung der Standardeinstellung werden alle 14min Hintergrundarbeiten durchgeführt. Wer Näheres über die verwendete Befehlssyntax erfahren möchte, sollte über eine Internet-Suchmaschine nach `man' und `crontab' suchen.

Gültige Werte: Crontab-spezifischer Parametereintrag

Standardeinstellung: NEXTCLOUD_CRON_SCHEDULE='*/14 * * * *'

Die Apps

Über Nextcloud-Apps können zusätzliche Funktionen in das Nextcloud-Paket eingebunden werden. Hierbei obliegt es jedem Einzelnen zu entscheiden, ob er eine App, trotz eventueller Sicherheitsrisiken, aktivieren möchte oder nicht. Abhängig von der jeweiligen App kann es notwendig sein, dass zuvor andere Programme installiert werden müssen, die über das Nextcloud-Paket bzw. den eisfair-Server nicht zur Verfügung gestellt werden.
Es wird empfohlen, vor der Aktivierung einer App, die im jeweiligen App-Verzeichnis vorhandene Dokumentation zu lesen und sich über die Nextcloud-Webseite (https://apps.nextcloud.com/) weiter zu informieren.

Verschiedenes

PHP-Fehlermeldungen

Werden z.B. in der Ordner-Funktion Meldungen über nicht initialisierte Variablen angezeigt, so sollte man prüfen, ob in der Datei `/etc/php.ini' der folgende Parameter gesetzt wurde:

;error_reporting  =  E_ALL                               # alt
error_reporting  =  E_ALL & ~E_NOTICE & ~E_USER_NOTICE   # neu