Nextcloud – Timeout(s) im App Store verhindern / beheben

Geschrieben von: Sven
Veröffentlicht am: 27.01.2020, 11:58 Uhr

Unter Umständen kann es passieren, dass Sie im App-Store Ihrer Nextcloud-Instanz eine Anwendung installieren möchten, aber dieses Vorhaben durch einem Timeout unterbrochen wird. Dieser Beitrag zeigt, wie Sie das Limit für den Timeout erhöhen, damit Sie die App doch noch installieren können.

Timeout bei App Installation:

Wenn es bei der Installation einer App zu einem Timeout kommt, kann es helfen, es einfach erneut zu versuchen. Doch gerade bei sehr großen Apps wird dies nicht ausreichen. Besonders wenn Sie Ihren Server zuhause aufgestellt haben, ist es nicht außergewöhnlich, wenn es mal zu einem Timeout kommt. Immerhin darf der Downloadprozess standardmäßig nicht länger als 30 Sekunden in Anspruch nehmen.

Beispiel:

Wer dann eine Anwendung wie den Community Document Server für OnlyOffice installieren möchte, muss in dieser Zeit etwa 300 MB Daten durch die Leitung schicken. Das entspricht einer verfügbaren Download-Geschwindigkeit von mindestens ca. 80 Mbit/s, damit es nicht zu einem Timeout kommt.

Timeout im App Store in Nextcloud

Wenn 30 Sekunden Downloadzeit überschritten werden, gibt Nextcloud eine Warnung aus:

cURL error 28: Operation timed out after 30000 milliseconds with xxxx out of xxxxxxxx bytes received (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

Diese wird dann, wie oben im Screenshot zu sehen, zusätzlich auch im Bereich der betroffenen Anwendung angezeigt.

Limit bis zum Timeout erhöhen (bis Nextcloud 18)

Um ein größeres Limit festzulegen, müssen Sie zuerst die entsprechende Datei mit Ihrem FTP Programm herunterladen. Loggen Sie sich also auf Ihrem Webspace ein und navigieren Sie zu dem folgenden Ort:

/ihre-nextcloud-instanz/lib/private/Http/Client

Client.php in File Zilla (FTP)

Laden Sie sich jetzt die Datei „Client.php“ auf Ihren Computer herunter und öffnen Sie diese mit einem einfachen Texteditor, wie Notepad++. Ändern Sie den folgenden Wert (30) bei „RequestOptions::TIMEOUT=> 30,“ (Aktuell Zeile 71) auf einen ausreichend großen Wert. Dieser Wert gibt die Zeit in Sekunden wieder, die vergehen müssen, bis es zu einem Timeout im App-Store kommt.

Inhalt der Client.php-Datei

Im Anschluss müssen Sie die Datei speichern und auf dem Server an der ursprünglichen Stelle überschreiben.

Bedenken Sie aber, dass nach einem Nextcloud Update bzw. Upgrade die Datei wieder überschrieben wird.

Limit erhöhen (ab Nextcloud 19)

Seit Nextcloud 19 beträgt das Standardlimit nun 120 statt 30 Sekunden. Das Limit lässt sich ab jetzt nicht mehr in der Datei, wie oben gezeigt ändern, sondern es ist eine Änderung in einer anderen Datei notwendig. Diese finden Sie an dem folgenden Ort:

/ihre-nextcloud-instanz/lib/private/

Suchen Sie dort die Datei mit dem Namen „Installer.php“ und gehen Sie darin zur folgenden Zeile (Aktuell 279):

$timeout = $this->isCLI ? 0 : 120;

Ändern Sie darin nun den Wert „120“ auf einen in Ihrem Fall ausreichenden Wert (in Sekunden).

Bedenken Sie aber auch hier, dass nach einem Nextcloud Update bzw. Upgrade die Datei wieder überschrieben wird.

Kommentare: (0)

Kommentar schreiben:

5000 Zeichen übrig
Hinweise zur Verarbeitung Ihrer Angaben und Widerspruchsrechte finden Sie in unserer Datenschutzerklärung.