07 Februar 2019

Warnung nach Update bei Nextcloud ohne sudo beheben

Der Updatevorgang, den Nextcloud anbietet, ist sehr praktisch. Nur hin und wieder kommt es zu Warnungen nach dem Update. Im Netz gibt es natürlich viele Anleitungen, wie diese zu beheben sind. Dummerweise und das wurde auch in der Facebook-Anwendergruppe schon beschrieben, können nicht alle mittels Konsole die notwendigen sudo Befehle ausführen.



Fehlender Index “owner_index” in der Tabelle “oc_share”
und
Fehlender Index “initiator_index” in der Tabelle “oc_share”

Dank Unterstützung vom Support von all-inkl.com bei dem unsere Webseiten und Services gehostet werden, habe ich eine Lösung gefunden und möchte die gern veröffentlichen.

Index Fehler in oc_share ohne sudo beheben

Den notwendige Befehl occ db:add-missing-indices kann ich nirgends eingeben, da wir keinen SSH Zugang haben. Auch ein Aufruf über die Url scheitert natürlich.

Lösung: Ich habe im Basisverzeichnis eine php-Datei mit folgendem Inhalt erstellt.

<?php
exec("/usr/bin/php /www/htdocs/<user>/cloud/occ db:add-missing-indices 2>&1", $out, $result);
echo "Returncode: " .$result ."<br>";
if ($result != 0)
{
echo "Ausgabe des Scripts: " ."<br>";
echo "<pre>"; print_r($out);
}
else
{
echo "done";
}
?>

Diese Datei lässt sich nun problemlos im Browser öffnen. Und siehe da - die Warnung ist verschwunden.

filecache Warnung lässt sich ohne sudo beheben

Filecache Warnung der Nextcloud

Auch hier einfach eine php Datei mit der Änderung des occ Befehles anlegen. Und vergessen dabei nicht den Wartungsmodus.

<?php
exec("/usr/bin/php /www/htdocs/<user>/cloud/occ maintenance:mode --on 2>&1", $out, $result);
echo "Returncode: " .$result ."<br>";
if ($result != 0)
{
echo "Ausgabe des Scripts: " ."<br>";
echo "<pre>"; print_r($out);
}
else
{
echo "Wartungsmodus gestartet";
}
exec("/usr/bin/php /www/htdocs/<user>/cloud/occ db:convert-filecache-bigint 2>&1", $out, $result);
echo "Returncode: " .$result ."<br>";
if ($result != 0)
{
echo "Ausgabe des Scripts: " ."<br>";
echo "<pre>"; print_r($out);
}
else
{
echo "Bigint ausgeführt";
}
exec("/usr/bin/php /www/htdocs/<user>/cloud/occ maintenance:mode --off 2>&1", $out, $result);
echo "Returncode: " .$result ."<br>";
if ($result != 0)
{
echo "Ausgabe des Scripts: " ."<br>";
echo "<pre>"; print_r($out);
}
else
{
echo "Wartungsmodus beendet";
}
?>

Und auch hier ist die Warnung nun behoben und das ganz ohne SSH & sudo-Zauber ;-)

Sicherheits- & Einrichtungswarnungen ohne BigInt und Filecache Fehler



1 Kommentar:

Anonym hat gesagt…

Oder die OCCWeb-App in NC installieren und dort die Skripte ausführen.

Beliebte Posts