Zum Inhalt

Nextcloud - Fehler und Lösungen

Während des Update / Upgrade-Vorgangs tauchen immer mal wieder Fehler 🤦 auf. Diese unvollständige Liste enthält mögliche Lösungen 💡.

Step 6 is currently in process. Please reload this page later

Dieser Fehler besagt, dass während des Schritts Extracting ein Fehler aufgetreten ist. Das kann dann passieren, wenn die Verbindung zwischen Webbrowser und Nextcloud-Server unterbrochen wurde.

Log Files

Die Log Files für das Update sind im Datenverzeichnis der Nextcloud zu finden. Ganz am Ende der Datei wird der Fehler aufgelistet.

less /mnt/data/nc-data/updater.log

...

2021-11-16T21:34:21+0100 UPdI0Mztnq [info] storage location: /mnt/data/nc-data/updater-och
af6s7o0ue/downloads/
2021-11-16T21:34:34+0100 UPdI0Mztnq [info] end of verifyIntegrity()
2021-11-16T21:34:34+0100 UPdI0Mztnq [info] endStep("5")
2021-11-16T21:34:34+0100 i9WUjhpuBE [info] request to updater
2021-11-16T21:34:34+0100 i9WUjhpuBE [info] currentStep()
2021-11-16T21:34:34+0100 i9WUjhpuBE [info] Step 5 is in state "end".
2021-11-16T21:34:34+0100 i9WUjhpuBE [info] POST request for step "6"
2021-11-16T21:34:34+0100 i9WUjhpuBE [info] startStep("6")
2021-11-16T21:34:34+0100 i9WUjhpuBE [info] extractDownload()
2021-11-16T21:34:34+0100 i9WUjhpuBE [info] storage location: /mnt/data/nc-data/updater-och
af6s7o0ue/downloads/
2021-11-16T21:50:51+0100 VnJxUY1br7 [info] request to updater
2021-11-16T21:50:52+0100 VnJxUY1br7 [info] currentStep()
2021-11-16T21:50:52+0100 VnJxUY1br7 [info] Step 6 is in state "start".
2021-11-16T21:51:03+0100 kMhDfeopQ6 [info] request to updater
2021-11-16T21:51:03+0100 kMhDfeopQ6 [info] currentStep()
2021-11-16T21:51:03+0100 kMhDfeopQ6 [info] Step 6 is in state "start".
2021-11-16T21:51:46+0100 n6icXqzA3e [info] request to updater
2021-11-16T21:51:46+0100 n6icXqzA3e [info] currentStep()
2021-11-16T21:51:46+0100 n6icXqzA3e [info] Step 6 is in state "start".
2021-11-16T21:54:23+0100 vjKUkuAOIN [info] request to updater
2021-11-16T21:54:23+0100 vjKUkuAOIN [info] currentStep()
2021-11-16T21:54:24+0100 vjKUkuAOIN [info] Step 6 is in state "start".
2021-11-16T21:56:07+0100 sE8w6ZSDJr [info] request to updater
2021-11-16T21:56:07+0100 sE8w6ZSDJr [info] currentStep()
2021-11-16T21:56:07+0100 sE8w6ZSDJr [info] Step 6 is in state "start".
2021-11-16T21:56:30+0100 tQr6sk9Cvf [info] request to updater

Das Verzeichnis, das für das Update verwendet wird, also um die neueste Version der Nextcloud auf dem Server zwischenzuspeichern und das Backup anzulegen, sind in diesem Beispiel im Ordner /mnt/data/nc-data/updater-ochaf6s7o0ue abgelegt.

sudo ls /mnt/data/nc-data/updater-ochaf6s7o0ue

Troubleshooting - Step 6 is currently in process

Die Lösung ist relativ einfach. Es werden die Dateien aus dem Unterverzeichnis nextcloud entfernt und dann der gesamte Ordner gelöscht. Im Anschluss kann das Update wieder über die Weboberfläche gestartet werden.

sudo rm -rf /mnt/data/nc-data/updater-ochaf6s7o0ue/downloads/nextcloud
sudo rm -rf /mnt/data/nc-data/updater-ochaf6s7o0ue/downloads

Datenbank - Missing Indices

In der Datenbank fehlen einige Indizes. Aufgrund der Tatsache, dass das Hinzufügen von Indizes in großen Tabellen einige Zeit in Anspruch nehmen kann, wurden diese nicht automatisch erzeugt. Durch das Ausführen von occ db:add-missing-indices können die fehlenden Indizes manuell hinzugefügt werden, während die Instanz weiter läuft. Nachdem die Indizes hinzugefügt wurden, sind Anfragen auf die Tabellen normalerweise schneller.

  • Fehlender Index "fs_id_storage_size" in der Tabelle "oc_filecache".
  • Fehlender Index "fs_storage_path_prefix" in der Tabelle "oc_filecache".
  • Fehlender Index "systag_by_tagid" in der Tabelle "oc_systemtag_object_mapping".
  • Fehlender Index "textstep_session" in der Tabelle "text_steps".

Troubleshooting - Missing Indices

sudo -u www-data php /var/www/html/nextcloud/occ db:add-missing-indices

Check indices of the share table.
Check indices of the filecache table.
Adding additional size index to the filecache table, this can take some time...
Filecache table updated successfully.
Adding additional path index to the filecache table, this can take some time...
Filecache table updated successfully.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Check indices of the schedulingobjects table.
Check indices of the oc_properties table.

Dateien sind nicht mehr verfügbar

Dieser Fehler kann nach einem Update auf die Version 25 auftauchen.

Die Dateien werden über die Weboberfläche nicht mehr angezeigt und der Nextcloud-Client für PC/Laptop synchronisiert keine Dateien mehr.

This directory is unavailable, please check the logs or contact the administrator.

Die Lösung:

sudo cp /var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/FilesPlugin.php /var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/FilesPlugin.php-bak

sudo nano /var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/FilesPlugin.php

In der Datei ist an einer Stelle ein Eintrag zu ändern, ?int wird zu ?float

$propFind->handle(self::SIZE_PROPERTYNAME, function () use ($node): ?int {
                                return $node->getSize();

wird zu

$propFind->handle(self::SIZE_PROPERTYNAME, function () use ($node): ?float {
                                return $node->getSize();

Dieser Fehler führt auch dazu, dass der Sync mit dem Nextcloud-Client stoppt.

Nach der oben aufgezeigten Anpassung startet auch die Synchronisation mit dem Nextcloud-Client wieder.

Quelle:


Update stoppt bei Schritt 3 Create backup

Update stoppt bei Schritt 3 Create backup

Der Updateprozess lässt sich ganz normal über die Weboberfläche starten. Jedoch stoppt der Vorgang im Schritt 3 mit der Meldung Create backup.

Es gibt irgendwo ein Berechtigungsproblem mit einer Datei / oder Ordner. Eine tiefergehende Fehleranalyse ist über die Weboberfläche nicht möglich, dafür muss auf die CLI gewechselt werden.

Die Lösung:

Im Ordner sudo ls -lah /var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/ befindet sich die Backup-Datei FilesPlugin.php-bak mit den falschen Rechten.

sudo ls -lah /var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/
total 292K
...
-rwxrwx--- 1 www-data www-data  21K Oct 21 21:06 FilesPlugin.php
-rwxr-x--- 1 root     root      21K Oct 21 21:06 FilesPlugin.php-bak
...

Löschen lässt sich die Datei FilesPlugin.php-bak mit dem Befehl:

sudo rm /var/www/html/nextcloud/apps/dav/lib/Connector/Sabre/FilesPlugin.php-bak

Die genaue Fehleranalyse ist über die Weboberfläche nicht möglich. Es ist ein Blick in die Log-Datei zu werfen, um aussagekräftige Informationen zu bekommen.

Die Log-Datei befindet sich im Datenverzeichnis der Nextcloud. In meinem Fall ist das im Verzeichnis /mnt/data/

sudo cat /mnt/data/updater.log

To login you need to provide the unhashed value of updater.secret in your config file

Fehlermeldung

To login you need to provide the unhashed value of "updater.secret" in your config file.

If you don't know that value, you can access this updater directly via the Nextcloud admin screen or generate your own secret:

php -r '$password = trim(shell_exec("openssl rand -base64 48")); if (strlen($password) === 64) {$hash = password_hash($password, PASSWORD_DEFAULT) . "\n"; echo "Insert as \"updater.secret\": ".$hash; echo "The plaintext value is: ".$password."\n";} else {echo "Could not execute OpenSSL.\n";};'

Lösung

Es wird das "Secret" benötigt, um zurück zur Admin-Seite von Nextcloud zu gelangen.

Dazu muss das Secret in der Datei /var/www/html/nextcloud/config/config.php mit der Eingabe über die Weboberfläche übereinstimmen.

  1. Login via CLI auf dem Nextcloud Server
  2. Den angezeigten Befehl auf dem Nextcloud-Server in der CLI ausführen
php -r '$password = trim(shell_exec("openssl rand -base64 48")); if (strlen($password) === 64) {$hash = password_hash($password, PASSWORD_DEFAULT) . "\n"; echo "Insert as \"updater.secret\": ".$hash; echo "The plaintext value is: ".$password."\n";} else {echo "Could not execute OpenSSL.\n";};'
  1. Den Wert The plaintext value is: ist in der Datei /var/www/html/nextcloud/config/config.php einzutragen. Der Wert in der Zeile updater.secret ist zu ersetzen.
  2. Der Wert ist in der Weboberfläche einzutragen und auf den Button Login zu drücken.
  3. Das Webinterface kann neu geladen werden. Nextcloud befindet sich jedoch im Wartungsmodus.
  4. Wartungsmodus über die CLI beenden:

bash sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --off

  1. Nextcloud über die CLI updaten

./occ upgrade

sudo -u www-data php /var/www/html/nextcloud/occ upgrade

Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Turned on maintenance mode
Updating database schema
Updated database
Updating <photos> ...
Updated <photos> to 2.0.1
Starting code integrity check...
Finished code integrity check
Update successful
Turned off maintenance mode
Resetting log level
  1. Nextcloud Webinterface erneut laden. Die Anmeldung sollte wieder wie gewohnt funktionieren.

Gib mir gerne einen Kaffee ☕ aus 😀

Gib mir gerne einen Kaffee ☕ aus !

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Postfix - E-Mail-Versand funktioniert nicht

Fehlermeldung

Host or domain name not found. Name service error for name=smtp.strato.de type=MX: Host not found, try again

Ein nslookup smtp.strato.de funktioniert.

Lösung

Postfix zieht den Nameserver zum Auflösen der DNS-Einträge nicht aus /etc/resolv.conf, sondern aus einer Postfix-eigenen resolv.conf-Datei. In beiden Dateien sollte der gleiche Nameserver eingetragen werden. Im Anschluss daran funktioniert auch der Versand der E-Mails wieder.

sudo nano /var/spool/postfix/etc/resolv.conf

sudo systemctl restart postfix

Nextcloud und PHP

Die PHP-Version lässt sich bei einem Raspberry Pi nicht einfach aus den Repositories installieren oder auf die aktuellste Version aktualisieren. Dafür muss auf einen Drittanbieter, wie sury.org, ausgewichen werden.

Welche PHP-Version von Nextcloud unterstütz wird, ist in der offiziellen Dokumentation nachzulesen.

Die Anleitung kann an jede andere PHP-Version angepasst werden. Es ist die Versionsnummer zu ersetzen, die Paketbezeichnungen bleiben gleich.

Das Upgrade von PHP-Version 7.4 auf 8.0/8.⅛.3 funktioniert wie folgt.

sudo apt update && sudo apt dist-upgrade && sudo apt autoremove

sudo -s

# Neues sury.org Repository hinzufügen
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list
apt update

Wieder zum normalen Benutzer zurück mit der Tastenkombination Strg + d

PHP lässt sich im Anschluss installieren

sudo apt install php8.3

Nach der Installation von php8.3 sollte diese auch als aktive Version angezeigt werden:

php -version

Liste aller auf dem Server installierten PHP-Module:

sudo apt list --installed | grep php8.3

Nun können alle php8.3-Module mit sudo apt install ...installiert werden:

sudo apt update && sudo apt install -y php-common php8.3 php-apcu php-pear php-imagick libapache2-mod-php8.3 php8.3-{apcu,bcmath,bz2,cli,common,curl,fpm,gd,gmp,igbinary,imagick,intl,mbstring,memcache,mysql,opcache,readline,redis,smbclient,xml,zip,ctype,dom,posix,exif}

Nach der Installation einer neuen php-Version nicht vergessen die Anpassungen in den Konfigurationsdateien zu prüfen

Mögliche Fehler

Nach dem Upgrade auf die PHP-Version 8.1 kam dieser Fehler beim Aufrufen der Nextcloud-Weboberfläche:

Internal Server Error

The server encountered an internal error and was unable to complete your request.
Please contact the server administrator if this error reappears multiple times, please include the technical details below in your report.
More details can be found in the server log.

Beim Aufruf des Wartungsmodus kommt dies Fehlermeldung.

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on

und siehe da, es kam diese Meldung

This version of Nextcloud is not compatible with > PHP 8.0.
You are currently running 8.2.0

Die Nextcloud kann anscheinend nicht mit der Version 8.2 umgehen und verlangt die Version 8.0 oder 8.1.

Zwischen den PHP-Versionen kann einfach umgeschaltet werden.

sudo a2dismod php8.2
sudo a2enmod php8.1

Danach noch den Apache neu starten und schon wieder funktioniert die Nextcloud:

sudo systemctl restart apache2

Wenn es noch immer Probleme geben sollte, dann kann auch manuell die PHP-Version ausgewählt werden. Es werden alle auf dem Server vorhandenen PHP-Versionen aufgelistet und können mit der Eingabe der Zeilenzahl ausgewählt werden.

sudo update-alternatives --config php
There are 2 choices for the alternative php (providing /usr/bin/php).

  Selection    Path             Priority   Status
------------------------------------------------------------
* 0            /usr/bin/php8.2   82        auto mode
  1            /usr/bin/php8.1   81        manual mode
  2            /usr/bin/php8.2   82        manual mode

Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/php8.1 to provide /usr/bin/php (php) in manual mode

Nachdem nun alle PHP-Module auf dem Server installiert wurden, sind in der php.ini noch einige Anpassungen vorzunehmen. Die Einstellungen bleiben gleich wie bei der vorherigen PHP-Version und können einfach aus dieser Anleitung übertragen werden.

sudo nano /etc/php/8.1/apache2/php.ini

Der Webserver Apache2 ist neu zu starten

sudo systemctl restart apache2

Nach dem Entpacken des Archivs ist die Nextcloud-Seite nicht erreichbar. Beim Aktivieren von PHP8.1 wird der folgende Fehler ausgegeben.

Fehlermeldung

sudo a2enmod php8.1
Considering dependency mpm_prefork for php8.1:
Considering conflict mpm_event for mpm_prefork:
ERROR: Module mpm_event is enabled - cannot proceed due to conflicts. It needs to be disabled first!
Considering conflict mpm_worker for mpm_prefork:
ERROR: Could not enable dependency mpm_prefork for php8.1, aborting
:% sudo apt install libapache2-mod-php8.1

Im Webbrowser wird u.a. angezeigt

nextcloud php OC_Template::printExceptionErrorPage($ex, 500);

Lösung

sudo a2dismod mpm_event
sudo a2enmod php8.1
sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod env
sudo a2enmod dir
sudo a2enmod mime
sudo systemctl status apache2

Apache auf Werkseinstellung zurücksetzen

Bevor weitergemacht wird, solle von allen wichtigen Dateien und der Datenbank ein Backup erstellt werden. Wird der Webserver Apache2 auf Werkseinstellungen zurückgesetzt ist ggf. die Nextcloud nicht mehr erreichbar.

Nach einer kompletten Neuinstallation ist die Nextcloud zu hoher Wahrscheinlichkeit über die IP-Adresse des Servers erreichbar.

Alle Zertifikate und alle Anpassungen (php, apache2, etc.) sind wie im Manual erneut vorzunehmen.

Apache auf Werkseinstellungen zurücksetzen

sudo apt-get purge apache2

Die Verzeichnisse mit den Konfigurationsdateien sind ggf. manuell zu löschen

sudo rm -R /etc/apache2

Nach der Deinstallation des Webservers kann der Server neu gestartet werden.

sudo reboot

Nach dem Neustart ist Apache erneut auf dem Server zu installieren, samt allen dazugehörigen Modulen.

Es kann auch vorkommen, dass es nach der Neuinstallation von Apache Problem mit PHP gibt. Sollte das der Fall sein, ist ein komplette Neuinstallation der PHP-Version zu empfehlen


Gib mir gerne einen Kaffee ☕ aus 😀

Gib mir gerne einen Kaffee ☕ aus !

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


SVG-Unterstützung fehlt

Fehlermeldung

Dem Modul php-imagick fehlt die SVG-Unterstützung. Für eine bessere Kompatibilität wird empfohlen, es zu installieren.

Lösung

sudo apt install libmagickcore-6.q16-6-extra

Benutzer deaktiviert

Fehlermeldung:

Benutzer deaktiviert

Lösung:

sudo -u www-data php /var/www/html/nextcloud/occ user:enable username

Es wurden mehrere ungültige Anmeldeversuche von Ihrer IP-Adresse festgestellt. Daher wird die nächste Anmeldung um 30 Sekunden verzögert

# MariaDB aufrufen
sudo mariadb

# Alle Datenbanken auflisten
MariaDB [(none)]> SHOW DATABASES;

# Datenbank nextcloud verwenden
MariaDB [(none)]> USE nextcloud;

# Alle Tabellen anzeigen
MariaDB [nextcloud]> SHOW TABLES;

# Inhalt der Tabelle oc_bruteforce_attempts anzeigen
MariaDB [nextcloud]> SELECT * FROM oc_bruteforce_attempts;

# IP-Adresse aus Tabelle löschen
MariaDB [nextcloud]> DELETE FROM oc_bruteforce_attempts WHERE IP="192.168.2.10";

# Die gesperrte IP-Adresse sollte aus der Tabelle entfernt worden sein
MariaDB [nextcloud]> SELECT * FROM oc_bruteforce_attempts;

# MariaDB abmelden
MariaDB [nextcloud]> quit;

Die Anmeldung sollte nun wieder funktionieren.

Erfolgt die Anmeldung nur von einem Client oder aus einem abgesicherten Netzwerksegment kann die IP-Adresse auch auf die Whitelist gesetzt werden. Die Einstellung kann mit einem Sicherheitsrisiko einhergehen und sollte genau überlegt werden❗

Die Einstellung für die Whitelist ist zu finden unter

Verwaltungs-Einstellungen --> Sicherheit --> Brute-Force IP-Whitelist

Dort kann die IP-Adresse eingetragen werden 192.168.2.10.


ClamAV Probleme bei einem anderen Modus

Verwendet man den Standardmodus Ausführbahre ClamAV-Datei und nicht ClamAV-Deamon (Socket), dann kommt es zu einigen Problemen. Im nachfolgenden habe ich versucht eine Lösung dafür zu finden, jedoch ohne Erfolg.

Der ClamAV Scan kann Modus im Ausführbahre ClamAV-Datei die CPU-Last und auch den SWAP zu 100% auslasten. Wenn das passiert, friert 🥶 der Raspberry Pi ein und keine Dienste sind mehr erreichbar.

Pings können an den Pi noch gesendet werden, eine Einwahl per SSH funktioniert aber schon nicht mehr.

Um das Problem der hohen CPU-Last zu lösen, gibt es mehrere unterschiedliche Lösungsansätze. Ich habe den Ansatz mit cpulimit versucht umzusetzen, jedoch erfolglos.

In der Prozessübersicht, z.B. top, htop, oder bpytop, wird das Scanprogramm mit /usr/bin/clamscan angezeigt.

ClamAV CPU-Verbrauch limitieren im Modus "Ausführbare ClamAV-Datei"

Die ClamAV-Dienste lassen sich alle beenden, damit ist der Server wieder erreichbar und kann ganz normal verwendet werden.

sudo systemctl stop clamav-freshclam
sudo systemctl stop clamav-daemon

Mit dem Tool cpulimit ist es möglich ClamAV den Zugriff auf die CPU zu limitieren.

sudo apt install cpulimit

Nach der Installation von cpulimit wird ClamAV nur die Verwendung von 15% der CPU erlaubt. Der cpulimit-Befehl muss bei jedem Scan, also beim Aufruf von /usr/bin/clamscan mitgegeben werden.

Der Befehl sieht dann so aus:

cpulimit -z --exe clamscan -l 15
  • -z = exit if there is no suitable target process, or if it dies
  • -e = name of the executable program file
  • l = percentage of CPU allowed from 1 up. Usually 1 - 100, but can be higher on multi-core CPUs. (mandatory)

Gibt man den Befehl einfach mal in der CLI ein, dann kommt die folgende Meldung

cpulimit Warning: no target process found. Waiting for it...

Auf diesem Wege funktioniert also die CPU-Limitierung von ClamAV nicht.
Der Scan wird über die App Antivirus for files angestoßen und muss deshalb bei jeder Ausführung mitgegeben werden.

# Ohne E-Mail-Versand
/usr/bin/cpulimit -z --exe clamscan -l 15 & /usr/bin/clamscan -ir /

# Mit E-Mail-Versand
/usr/bin/cpulimit -z --exe clamscan -l 15 & /usr/bin/clamscan -ir / | mail -s "ClamAV Scan Results for date +%D" benutzer@email.de

Der Befehl ist in das entsprechende Feld einzutragen.

/usr/bin/cpulimit -z

Die CPU-Last von clamscan bleibt nach der Anpassung beim Upload einer Datei im 🟩 Bereich.

clamscan CPU Last

Werden mehrere Dateien hochgeladen, friert der Raspberry Pi trotzdem wieder ein und alle Dienste, inkl. der Nextcloud, sind nicht mehr erreichbar.

Eine weitere Lösungsmöglichkeit habe ich nicht mehr ausprobiert.

Weitere Lösungen, um die hohe CPU-Last zu umgehen sind in hier beschrieben:

/nextcloud/ocm-provider/ Fehler

Es gibt einige Warnungen bei deiner Systemkonfiguration.

    Dein Webserver ist nicht ordnungsgemäß für die Auflösung von "/nextcloud/ocm-provider/" eingerichtet. Dies hängt höchstwahrscheinlich mit einer Webserver-Konfiguration zusammen, die nicht aktualisiert wurde, um diesen Ordner direkt zu liefern. Bitte vergleiche deine Konfiguration mit den mitgelieferten Rewrite-Regeln in ".htaccess" für Apache oder den in der Nginx-Dokumentation bereitgestellten auf dessen Dokumentationsseite ↗. Auf Nginx sind das typischerweise die Zeilen, die mit "location ~" beginnen und ein Update benötigen.

Eine Lösung gibt es in meinem Blog

Die zweite Lösung funktionier auch für den Fehler

Einige Header sind in deiner Instanz nicht richtig eingestellt - Der HTTP-Header `X-Content-Type-Options` ist nicht auf `nosniff` gesetzt. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern. - Der HTTP-Header `X-Robots-Tag` ist nicht auf `noindex,nofollow` gesetzt. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern. - Der HTTP-Header `X-Frame-Options` ist nicht auf `sameorigin` gesetzt. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern. - Der HTTP-Header `X-Permitted-Cross-Domain-Policies` ist nicht auf `none` gesetzt. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern. - Der HTTP-Header `X-XSS-Protection` enthält nicht `1; mode=block`. Dies stellt ein potenzielles Sicherheits- oder Datenschutzrisiko dar und es wird empfohlen, diese Einstellung zu ändern. - Der HTTP-Header `Referrer-Policy` ist nicht auf "no-referrer", "no-referrer-when-downgrade", "strict-origin", "strict-origin-when-cross-origin" oder "same-origin" gesetzt. Dadurch können Verweisinformationen preisgegeben werden. Siehe die W3C Recommendation. Weitere Informationen findest du in der Dokumentation ↗.

In den Einstellungen von Apache2 ist das Verzeichnis von Nextcloud hinzuzufügen.

Bei mir befindet sich die Nextcloud-Installation im Verzeichnis /var/www/html/nextcloud.

Tip

Nextcloud kann auch in einem anderen Verzeichnis zu finden sein, dann ist der Dateipfand entsprechend anzupassen.

sudo nano /etc/apache2/apache2.conf

Bis zum Abschnitt scrollen und dort die folgenden Zeilen einfügen

# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.

...

<Directory /var/www/html/nextcloud>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>

Die Änderung speichern und Apache2 neu starten:

sudo systemctl restart apache2

Gib mir gerne einen Kaffee ☕ aus 😀

Gib mir gerne einen Kaffee ☕ aus !

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


LocalServerException No DNS record found for next.meinedomain.de error while discovering ocm provider

Fehlermeldung:

In den Logs taucht der Eintrag auf:

LocalServerException No DNS record found for next.meinedomain.de error while discovering ocm provider

Lösung:

Es ist ein Eintrag in der Datenbank vorhanden, der diese Warnung in die Logs schreibt.

Der Eintrag muss direkt aus der Datenbank gelöscht werden.

sudo mariadb
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 817
Server version: 10.11.6-MariaDB-0+deb12u1 Debian 12

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| nextcloud          |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.002 sec)

MariaDB [(none)]> use nextcloud;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MariaDB [nextcloud]> SELECT * FROM oc_share_external;
+----+--------+------------+------------------------------------------------+-----------+-----------------+----------+------------+---------+---------+---------------------------+----------------------------------+----------+
| id | parent | share_type | remote                                         | remote_id | share_token     | password | name       | owner   | user    | mountpoint                | mountpoint_hash                  | accepted |
+----+--------+------------+------------------------------------------------+-----------+-----------------+----------+------------+---------+---------+---------------------------+----------------------------------+----------+
|  1 |     -1 |          0 | https://next.meinedomain.de/nextcloud/ | 1         | ScdanSYTHgEVOPa |          | /Documents | Eigentuemer | Benutzer | /Shared with me/Documents | daedda620b734adcf46dabf1985420f3 |        1 |
+----+--------+------------+------------------------------------------------+-----------+-----------------+----------+------------+---------+---------+---------------------------+----------------------------------+----------+
1 row in set (0.001 sec)

MariaDB [nextcloud]> Delete FROM oc_share_external where owner='Eigentuemer';
Query OK, 1 row affected (0.002 sec)

MariaDB [nextcloud]> SELECT * FROM oc_share_external;
Empty set (0.001 sec)

Memories - Dateiunterstützung - Vorschau für Videos

Die Erweiterung Memories erfordert einige kleinere Anpassungen und das Paket ffmpeg.

Fehlermeldung:

ffmpeg preview-Binärdatei nicht gefunden. Die Erstellung von Miniaturansichten funktioniert möglicherweise nicht für Videos.

Lösung:

# ffmpeg installieren
sudo apt install ffmpeg

# ffmpeg Version anzeigen
ffmpeg -version

In der Nextcloud Verwaltungseinstellungen sind die Anpassungen für Erinnerungen - Dateiuntersützung einzustellen.

# Vorschauen erstellen
sudo -u www-data php /var/www/html/nextcloud/occ preview:pre-generate

Update in process

Beim Update auf eine neue Nextcloud-Version bleibt das Update im Webbrowser hängen und es kommt die Meldung:

Update in process.

Es funktionieren auch keine occ-Befehle mehr, um irgendetwas auf der CLI zu administrieren.

Could not open input file: /var/www/html/nextcloud/occ

Ein Blick in das Nextcloud-Verzeichnis:

sudo ls -lah /var/www/html/nextcloud/
insgesamt 88K
drwxr-x--- 10 www-data www-data 4,0K 27. Nov 09:19 .
drwxr-xr-x  3 root     root     4,0K 22. Okt 20:28 ..
drwxr-x--- 12 www-data www-data 4,0K 27. Nov 09:19 apps
-rwxrwx---  1 www-data www-data 1,3K  4. Nov 10:21 composer.json
drwxr-x---  2 www-data www-data 4,0K 27. Nov 09:19 config
-rwxrwx---  1 www-data www-data 4,0K  4. Nov 10:21 console.php
-rwxrwx---  1 www-data www-data 6,2K  4. Nov 10:22 cron.php
drwxr-x---  4 www-data www-data 4,0K 27. Jun 21:33 data
drwxr-xr-x  2 www-data www-data  12K  4. Nov 10:22 dist
-rwxrwx---  1 www-data www-data 3,3K  7. Nov 18:41 .htaccess
-rwxrwx---  1 www-data www-data   57 27. Nov 09:19 index.php
drwxr-xr-x  2 root     root     4,0K  8. Nov 08:41 ocm-provider
-rwxrwx---  1 www-data www-data   57 27. Nov 09:19 public.php
-rwxrwx---  1 www-data www-data   57 27. Nov 09:19 remote.php
drwxr-xr-x  4 www-data www-data 4,0K  4. Nov 10:22 resources
-rwxrwx---  1 www-data www-data   57 27. Nov 09:19 status.php
drwxr-x---  2 www-data www-data 4,0K 27. Nov 09:19 themes
drwxr-x---  2 www-data www-data 4,0K 12. Jun 16:56 updater
-rwxrwx---  1 www-data www-data  101  4. Nov 10:18 .user.ini

Nextcloud lädt die aktuelle Nextcloud-Version in einen Unterordner im Datenverzeichnisse (../updater-oc4al4917nm3/downloads/nextcloud). Bei meiner Nextcloud Installation ist das Datenverzeichnis auf einem externen USB-Speicher ausgelagert und über den Mount Point /mnt/data/ eingehängt.

Ein Blick in das Download-Verzeichnis für die Updates:

sudo ls -lah /mnt/data/updater-oc4al4917nm3/downloads/nextcloud
insgesamt 2,0M
drwxrwx--- 1 www-data www-data 4,0K 27. Nov 09:41 .
drwxrwx--- 1 www-data www-data    0 27. Nov 09:41 ..
drwxrwx--- 1 www-data www-data 8,0K 27. Nov 09:41 3rdparty
drwxrwx--- 1 www-data www-data 8,0K 27. Nov 09:40 apps
-rwxrwx--- 1 www-data www-data  24K 23. Nov 17:51 AUTHORS
-rwxrwx--- 1 www-data www-data 1,3K 23. Nov 17:51 composer.json
-rwxrwx--- 1 www-data www-data 3,1K 23. Nov 17:51 composer.lock
drwxrwx--- 1 www-data www-data    0 27. Nov 09:41 config
-rwxrwx--- 1 www-data www-data 4,0K 23. Nov 17:51 console.php
-rwxrwx--- 1 www-data www-data  34K 23. Nov 17:51 COPYING
drwxrwx--- 1 www-data www-data 4,0K 27. Nov 09:38 core
-rwxrwx--- 1 www-data www-data 6,2K 23. Nov 17:51 cron.php
drwxrwx--- 1 www-data www-data  32K 27. Nov 09:39 dist
-rwxrwx--- 1 www-data www-data 3,2K 23. Nov 17:51 .htaccess
-rwxrwx--- 1 www-data www-data  156 23. Nov 17:51 index.html
-rwxrwx--- 1 www-data www-data 3,4K 23. Nov 17:51 index.php
drwxrwx--- 1 www-data www-data 4,0K 27. Nov 09:38 lib
-rwxrwx--- 1 www-data www-data  283 23. Nov 17:51 occ
drwxrwx--- 1 www-data www-data    0 27. Nov 09:38 ocs
drwxrwx--- 1 www-data www-data    0 27. Nov 09:38 ocs-provider
-rwxrwx--- 1 www-data www-data 6,2K 23. Nov 17:51 package.json
-rwxrwx--- 1 www-data www-data 1,8M 23. Nov 17:51 package-lock.json
-rwxrwx--- 1 www-data www-data 3,2K 23. Nov 17:51 public.php
-rwxrwx--- 1 www-data www-data 5,5K 23. Nov 17:51 remote.php
drwxrwx--- 1 www-data www-data 4,0K 27. Nov 09:38 resources
-rwxrwx--- 1 www-data www-data   26 23. Nov 17:51 robots.txt
-rwxrwx--- 1 www-data www-data 2,4K 23. Nov 17:51 status.php
drwxrwx--- 1 www-data www-data    0 27. Nov 09:38 themes
drwxrwx--- 1 www-data www-data    0 27. Nov 09:38 updater
-rwxrwx--- 1 www-data www-data  101 23. Nov 17:51 .user.ini
-rwxrwx--- 1 www-data www-data  403 23. Nov 17:54 version.php

Der Nextcloud-Ordner enthält wesentlich weniger Ordner und Dateien. Anscheinend wurden während des Update-Prozesses die gelöscht und nicht durch die neuen Ordner ersetzt.

Ein Vergleich der beiden Verzeichnisse ergibt folgendes Bild

Ordner / Datei /var/www/html/nextcloud/ updater-oc4al4917nm3/downloads/nextcloud
3rdparty
apps
AUTHORS
composer.json
composer.lock
config
console.php
COPYING
core
cron.php
data
dist
.htaccess
index.html
index.php
lib
occ
ocm-provider
ocs
ocs-provider
package.json
package-lock.json
public.php
remote.php
resources
robots.txt
status.php
themes
updater
.user.ini
version.php

Die Konfigurationsdatei config.php der Nextcloud im Ordner config ist noch vorhanden.

sudo ls -lah /var/www/html/nextcloud/config
insgesamt 16K
drwxr-x---  2 www-data www-data 4,0K 27. Nov 09:19 .
drwxr-x--- 10 www-data www-data 4,0K 27. Nov 09:19 ..
-rw-r-----  1 www-data www-data 2,3K 27. Nov 09:19 config.php
-rwxrwx---  1 www-data www-data  495  4. Nov 10:21 .htaccess

Die fehlenden Ordner und Dateien im Verzeichnis /var/www/html/nextcloud/ werden einfach aus dem Downloadordner kopiert.

Der Ordner config wird nicht kopiert, da der Inhalt bei jeder Nextcloud-Installation unterschiedlich ist.

Das Kopieren funktioniert am einfachsten auf der CLI

sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/3rdparty /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/apps /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/AUTHORS /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/composer.json /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/composer.lock /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/console.php /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/COPYING /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/core /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/cron.php /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/dist /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/.htaccess /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/index.html /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/index.php /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/lib /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/occ /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/ocs /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/ocs-provider /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/package.json /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/package-lock.json /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/public.php /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/remote.php /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/resources /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/robots.txt /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/status.php /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/themes /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/updater /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/.user.ini /var/www/html/nextcloud/
sudo cp -rf /mnt/data/updater-oc4al4917nm3/downloads/nextcloud/version.php /var/www/html/nextcloud/

Der Ordner ocm-provider fehlt in beiden Verzeichnissen. Er wurde nach dem letzten Upgrade von mir aus einem Backup wieder hergestellt. Die Beschreibung dazu findet sich im Abschnitt 👉 /nextcloud/ocm-provider/ Fehler.

Die Rechte der Ordner sind nach dem Kopieren anzupassen, da die Ordnerberechtigungen nicht korrekt gesetzt sind und der Webserver-Benutzer www-data keinen Schreibzugriff auf die Nextcloud-Verzeichnisse erhält.

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --on
Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Maintenance mode already enabled

Update über die CLI starten

sudo -u www-data php /var/www/html/nextcloud/occ upgrade

Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Updating database schema
Updated database
Update app memories from App Store
Repair warning: ffmpeg binary could not be configured
Starting code integrity check...
Finished code integrity check
Update successful
Maintenance mode is kept active
Resetting log level

Der Warnung wegen dem ffmpeg binary kann ignoriert werden.

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:repair

sudo -u www-data php /var/www/html/nextcloud/occ integrity:check-core

Zum Abschluss ist der Wartungsmodus aufzuheben und dann sollte die Nextcloud wieder über die Weboberfläche erreichbar sein.

sudo -u www-data php /var/www/html/nextcloud/occ maintenance:mode --off
Maintenance mode disabled

Doctrine\DBAL\Exception: Failed to connect to the database

Fehlermeldung:

An unhandled exception has been thrown:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: could not find driver in /var/www/html/nextcloud/lib/private/DB/Connection.php:139
Stack trace:
#0 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1654): OC\DB\Connection->connect()
#1 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1081): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /var/www/html/nextcloud/lib/private/DB/Connection.php(261): Doctrine\DBAL\Connection->executeQuery()
#3 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(337): OC\DB\Connection->executeQuery()
#4 /var/www/html/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(377): Doctrine\DBAL\Query\QueryBuilder->executeQuery()
#5 /var/www/html/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(280): Doctrine\DBAL\Query\QueryBuilder->execute()
#6 /var/www/html/nextcloud/lib/private/AppConfig.php(418): OC\DB\QueryBuilder\QueryBuilder->execute()
#7 /var/www/html/nextcloud/lib/private/AppConfig.php(184): OC\AppConfig->loadConfigValues()
#8 /var/www/html/nextcloud/lib/private/AppConfig.php(374): OC\AppConfig->getApps()
#9 /var/www/html/nextcloud/lib/private/App/AppManager.php(128): OC\AppConfig->getValues()
#10 /var/www/html/nextcloud/lib/private/App/AppManager.php(149): OC\App\AppManager->getInstalledAppsValues()
#11 /var/www/html/nextcloud/lib/private/legacy/OC_App.php(231): OC\App\AppManager->getInstalledApps()
#12 /var/www/html/nextcloud/lib/private/AppFramework/Bootstrap/Coordinator.php(90): OC_App::getEnabledApps()
#13 /var/www/html/nextcloud/lib/base.php(700): OC\AppFramework\Bootstrap\Coordinator->runInitialRegistration()
#14 /var/www/html/nextcloud/lib/base.php(1200): OC::init()
#15 /var/www/html/nextcloud/console.php(48): require_once('...')
#16 /var/www/html/nextcloud/occ(11): require_once('...')
#17 {main}2024-01-13_09-56-45 - Nextcloud maintenance mode OFF

Lösung:

Einige benötigte PHP-Module sind nicht installiert.


Spende

Gib mir gerne einen Kaffee ☕ aus 😀

Gib mir gerne einen Kaffee ☕ aus !

Wenn dir meine Beiträge gefallen und geholfen haben, dann kannst du mir gerne einen Kaffee ☕️ ausgeben.

Donation via PayPalDonation via LiberaPay

Donation via Bitcoin
Bitcoin Address: bc1qfuz93hw2fhdvfuxf6mlxlk8zdadvnktppkzqzj


Follow Me


Changelog

  • 2025-05-04: Umzug von codeberg-Repository