Apps lassen sich nicht aktivieren

Moin,

ich habe gerade nextcloud latest unter Debian Trixie mit Apache2, Mariadb 11.8.6 und PHP 8.4 installiert.

Leider kann ich keine Apps aktivieren.

Wenn ich auf den Button drĂŒcke, kommt die Passwortabfrage, aber nach der Eingabe passiert nichts, die Apps bleiben weiterhin deaktiviert. Auch das Herunterladen und Aktivieren funktioniert nicht.

Es gibt auch keine Ausgaben in den Logfiles (nextcloud.log oder Apache2 error.log).

Getestet mit aktuellem Chrome und Firefox unter Windows 11 und Ubuntu 24.04.

Woran könnte das liegen?

Hi @ncneuling,

Hast du das nextcloud Verzeichnis dem User www-data ĂŒberschrieben?

sudo chown -R www-data: /var/www/nextcloud

h.t.h.


ernolf

Hallo @ernolf ,

ja, das habe ich getan. Und mit occ app:enable in der Konsole lassen sich die Apps auch wunderbar aktivieren. Nur in der WeboberflÀche nicht.

Interessant — occ funktioniert, also ist das Backend in Ordnung. Das Problem liegt irgendwo zwischen Browser und Server. Wir schauen am besten gleichzeitig von beiden Seiten rein.

Serverseitig — zuerst das Log-Level auf Info (1) oder Debug (0) setzen damit wir alles sehen:

sudo -u www-data php /var/www/nextcloud/occ log:manage --level=1

Dann jq installieren falls noch nicht vorhanden:

sudo apt-get install jq

Und zwei Terminals offen lassen wÀhrend du in der WeboberflÀche versuchst eine App zu aktivieren:

sudo tail -f /var/www/nextcloud/data/nextcloud.log | jq .
sudo tail -f /var/log/apache2/error.log

Nach dem Test bitte das Log-Level wieder zurĂŒcksetzen:

sudo -u www-data php /var/www/nextcloud/occ log:manage --level=2

Falls du den Nextcloud-Datenpfad angepasst hast, liegt nextcloud.log dort.

Im Browser — öffne die Entwicklertools (Rechtsklick irgendwo auf der Seite → Element untersuchen), und schaue gleichzeitig in zwei Reitern nach:

  • Netzwerk: versuche eine App zu aktivieren — uns interessieren der Statuscode (Abschnitt Allgemein) und der Reiter Antwort
  • Konsole: erscheinen dort JavaScript-Fehler?

Wichtig: Bitte teile niemals die Anfrage-Header aus dem Netzwerk-Tab öffentlich — diese enthalten dein Passwort und Session-Tokens. Nur die Antwortheader und der Antwort-Body sind unbedenklich.

ernolf

Danke fĂŒr den Hinweis mit der Browser-Konsole, die hatte ich mal wieder vollkommen vergessen. Hier sehe ich nun auch einen Fehler, der mir aber weder im error.log noch im nextcloud.log (level=1) angezeigt wird:

api.js:56  POST https://servername/index.php/settings/apps/enable 403 (Forbidden)

und die Response in Network Tab ist:

{"message":"Required authorization header missing"}

P.S. die beiden Logs geben absolut gar nichts aus.

Der Fehler ist eindeutig: Apache strippt den Authorization-Header bevor er PHP erreicht — Nextcloud schickt ihn korrekt, aber Apache gibt ihn nicht weiter. Deshalb erscheint der Fehler nur in der Browser-Konsole und nicht in den Server-Logs: aus Sicht des Servers lĂ€uft alles normal, nur der Header fehlt.

Die hĂ€ufigste Ursache ist ein fehlendes AllowOverride All in der Apache-VirtualHost-Konfiguration. Ohne das wird die .htaccess von Nextcloud nicht vollstĂ€ndig ausgewertet — und genau dort steht die Regel die den Authorization-Header an PHP weiterreicht.

Bitte prĂŒfe deine Apache-Konfiguration:

grep -rn "AllowOverride" /etc/apache2/sites-available/

Der Block fĂŒr das Nextcloud-Verzeichnis sollte so aussehen:

<Directory /var/www/nextcloud/>
    AllowOverride All
    ...
</Directory>

Falls dort AllowOverride None steht oder der Eintrag ganz fehlt, auf AllowOverride All Ă€ndern. Und falls es bereits korrekt gesetzt ist — bitte trotzdem Apache neu laden, das wird nach einer frischen Installation gerne vergessen:

sudo systemctl reload apache2

ernolf

Ja, das passt, das habe ich aus der Anleitung so auch ĂŒbernommen.

AHH! Ich habe die Lösung
 ich hatte das Apache Modul rewrite vergessen
 sorry!

:grinning_face_with_smiling_eyes: Layer-8-Problem — die hĂ€ufigste Fehlerquelle ĂŒberhaupt!

mod_rewrite stand tatsĂ€chlich ganz oben auf meiner nĂ€chsten VerdĂ€chtigenliste — du warst schneller als meine Antwort.

Danke fĂŒr die RĂŒckmeldung, das hilft anderen die denselben Fehler machen.


ernolf

Kommando zurĂŒck, das war leider nicht die Lösung. Heute funktioniert es schon wieder nicht mehr, obwohl ich keinerlei Änderungen an der Serverkonfiguration gemacht habe.

Ich habe mir nun mal die MĂŒhe gemacht, eine Ubuntu 24.04 VM aufzusetzen mit exakt gleichem Setup und Vorgehen nach der offiziellen Installationsanleitung, und hier habe ich das exakt gleiche Fehlerbild.

Die einzige Gemeinsamkeit der Systeme ist, dass sie beide auf einer Proxmox-Instanz laufen.