0

Nextcloud: in iframe einbinden

Bindet man Nextcloud auf einer anderen Webseite in einen iframe ein, so verhindern moderne Browser die Anzeige (Stichwort Same-origin policy). Es sei denn, die einzubindende Seite lÀsst dies explizit zu.

Bei Nextcloud 25 gibt es dazu leider keine Konfigurationsmöglichkeit, man muss also selber manuell tÀtig werden.
Hinweis: Die Dateien, die man anpassen muss, können beim nĂ€chsten Update wieder ĂŒberschrieben werden, so dass man die Anpassung manuell wiederholen muss.


Als erstes muss man im HTTP-Header erlauben, dass sich Nextcloud einbinden lÀsst. Dazu in der Datei

nextcloud/lib/private/legacy/OC_Response.php
in der Funktion addSecurityHeaders() die Zeile 100 auskommentieren:
// header('X-Frame-Options: SAMEORIGIN');  // Disallow iFraming from other domains


Außerdem muss die Domain/ IP-Adresse der anderen Webseite in Nextcloud noch erlaubt werden.
Dazu in Datei

nextcloud/lib/public/AppFramework/Http/ContentSecurityPolicy.php
die zu erlaubende Domain in Zeile 92 in das Array $allowedFrameAncestors eintragen:
/** @var array Domains which can embed this Nextcloud instance */
protected $allowedFrameAncestors = [
    '\'self\'',
    '192.168.1.2:8080',
];
Wichtig war bei mir, dass ich den Port meiner IP-Adresse noch mit eingetragen hab.

0

Docker: Nextcloud occ Befehle ausfĂŒhren

Nach dem letzten Nextcloud-Update habe ich im Administrations-Portal zwei Warnungen bekommen:

Some indices are missing in the database
Some columns in the database are missing a conversion to big int

Die dazugehörigen Befehle um die Probleme zu beheben, waren auch mit angegeben:

occ db:add-missing-indices
occ db:convert-filecache-bigint --no-interaction

Problem war nur, dass Nextcloud bei mir in einem Docker-Container lĂ€uft und man die Befehle nicht einfach so ausfĂŒhren kann.
Lösung ist, im Host-System die Befehle folgendermaßen auszufĂŒhren:

sudo docker exec --user www-data nextcloud php occ db:add-missing-indices
sudo docker exec --user www-data nextcloud php occ db:convert-filecache-bigint --no-interaction