Nextcloud Office/Collabora Online documents won't load

Support intro

Nextcloud version (eg, 20.0.5): Nextcloud Hub 3 (25.0.3)
Operating system and version : Linux 4.19.150-76.ELK.el7.x86_64 x86_64 (bluehost.com-server)
Apache or nginx version: ???
PHP version: 8.0

The issue you are facing:
I am hosting Nextcloud on a dotcom-domain that I own via the web hosting company Bluehost.

I can create new Nextcloud-documents, such as spreadsheets, but when I click to open them it just loads without ever opening.

Is there a fix for this? And if it can’t work on Bluehost, how do I know on which server providers it does work with? I am not a programmer so if it’s possible to keep it simple, I appreciate it.

Is this the first time you’ve seen this error? (N):

Steps to replicate it:
Try to open a Nextcloud Office/Collabora Office file.

The output of your Nextcloud log in Admin > Logging:

There is no output under Logging for when I log in successfully. There is also no output for when the file keeps loading.

The output of your config.php file in /path/to/nextcloud (make sure you remove any identifiable information!):

<?php
$CONFIG = array (
  'instanceid' => 'ocbeyjwqkuuy',
  'passwordsalt' => '[CENSORED]',
  'secret' => '[CENSORED]',
  'trusted_domains' => 
  array (
    0 => '[CENSORED DOMAIN]',
  ),
  'datadirectory' => '/home2/[DOMAIN]/public_html/nextcloud/data',
  'dbtype' => 'sqlite3',
  'version' => '25.0.3.2',
  'overwrite.cli.url' => 'DOMAIN',
  'installed' => true,
);

The output of your Apache/n ginx/system log in /var/log/____:

There is no folder called "var" or "log" nor a file called "system log" or "apache log" etc. but here is the contents of Apache.php if that is what is being asked for:


<?php

namespace Safe;

use Safe\Exceptions\ApacheException;

/**
 * Fetch the Apache version.
 *
 * @return string Returns the Apache version on success.
 * @throws ApacheException
 *
 */
function apache_get_version(): string
{
    error_clear_last();
    $result = \apache_get_version();
    if ($result === false) {
        throw ApacheException::createFromPhpError();
    }
    return $result;
}


/**
 * Retrieve an Apache environment variable specified by
 * variable.
 *
 * This function requires Apache 2 otherwise it's undefined.
 *
 * @param string $variable The Apache environment variable
 * @param bool $walk_to_top Whether to get the top-level variable available to all Apache layers.
 * @return string The value of the Apache environment variable on success
 * @throws ApacheException
 *
 */
function apache_getenv(string $variable, bool $walk_to_top = false): string
{
    error_clear_last();
    $result = \apache_getenv($variable, $walk_to_top);
    if ($result === false) {
        throw ApacheException::createFromPhpError();
    }
    return $result;
}


/**
 * Fetches all HTTP request headers from the current request. Works in the
 * Apache, FastCGI, CLI, FPM and NSAPI server module
 * in Netscape/iPlanet/SunONE webservers.
 *
 * @return array An associative array of all the HTTP headers in the current request.
 * @throws ApacheException
 *
 */
function apache_request_headers(): array
{
    error_clear_last();
    $result = \apache_request_headers();
    if ($result === false) {
        throw ApacheException::createFromPhpError();
    }
    return $result;
}


/**
 * apache_reset_timeout resets the Apache write timer,
 * which defaults to 300 seconds. With set_time_limit(0);
 * ignore_user_abort(true) and periodic
 * apache_reset_timeout calls, Apache can theoretically
 * run forever.
 *
 * This function requires Apache 1.
 *
 * @throws ApacheException
 *
 */
function apache_reset_timeout(): void
{
    error_clear_last();
    $result = \apache_reset_timeout();
    if ($result === false) {
        throw ApacheException::createFromPhpError();
    }
}


/**
 * Fetch all HTTP response headers.  Works in the
 * Apache, FastCGI, CLI, FPM and NSAPI server module
 * in Netscape/iPlanet/SunONE webservers.
 *
 * @return array An array of all Apache response headers on success.
 * @throws ApacheException
 *
 */
function apache_response_headers(): array
{
    error_clear_last();
    $result = \apache_response_headers();
    if ($result === false) {
        throw ApacheException::createFromPhpError();
    }
    return $result;
}


/**
 * apache_setenv sets the value of the Apache
 * environment variable specified by
 * variable.
 *
 * @param string $variable The environment variable that's being set.
 * @param string $value The new variable value.
 * @param bool $walk_to_top Whether to set the top-level variable available to all Apache layers.
 * @throws ApacheException
 *
 */
function apache_setenv(string $variable, string $value, bool $walk_to_top = false): void
{
    error_clear_last();
    $result = \apache_setenv($variable, $value, $walk_to_top);
    if ($result === false) {
        throw ApacheException::createFromPhpError();
    }
}


/**
 * Fetches all HTTP headers from the current request.
 *
 * This function is an alias for apache_request_headers.
 * Please read the apache_request_headers
 * documentation for more information on how this function works.
 *
 * @return array An associative array of all the HTTP headers in the current request.
 * @throws ApacheException
 *
 */
function getallheaders(): array
{
    error_clear_last();
    $result = \getallheaders();
    if ($result === false) {
        throw ApacheException::createFromPhpError();
    }
    return $result;
}


/**
 * virtual is an Apache-specific function which
 * is similar to &lt;!--#include virtual...--&gt; in
 * mod_include.
 * It performs an Apache sub-request.  It is useful for including
 * CGI scripts or .shtml files, or anything else that you would
 * parse through Apache. Note that for a CGI script, the script
 * must generate valid CGI headers.  At the minimum that means it
 * must generate a Content-Type header.
 *
 * To run the sub-request, all buffers are terminated and flushed to the
 * browser, pending headers are sent too.
 *
 * @param string $filename The file that the virtual command will be performed on.
 * @throws ApacheException
 *
 */
function virtual(string $filename): void
{
    error_clear_last();
    $result = \virtual($filename);
    if ($result === false) {
        throw ApacheException::createFromPhpError();
    }
}

Output errors in nextcloud.log in /var/www/ or as admin user in top right menu, filtering for errors. Use a pastebin service if necessary.

[richdocuments] Error: GuzzleHttp\Exception\ServerException: Server error: GET https://offgridscale.com/nextcloud/apps/richdocumentscode/proxy.php?req=/hosting/capabilities resulted in a 504 Gateway Time-out response:

504 Gateway Time-out

504 Gateway Time-out


<c (truncated...) at <>
  1. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Middleware.php line 69
    GuzzleHttp\Exception\RequestException::create(GuzzleHttp\Psr7\Request {}, “*** sensitive parameters replaced ***”, null, , null)
  2. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 204
    GuzzleHttp\Middleware::GuzzleHttp{closure}(“*** sensitive parameters replaced ***”)
  3. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 153
    GuzzleHttp\Promise\Promise::callHandler(1, “*** sensitive parameters replaced ***”, null)
  4. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/promises/src/TaskQueue.php line 48
    GuzzleHttp\Promise\Promise::GuzzleHttp\Promise{closure}(“*** sensitive parameters replaced ***”)
  5. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 248
    GuzzleHttp\Promise\TaskQueue->run(true)
  6. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 224
    GuzzleHttp\Promise\Promise->invokeWaitFn()
  7. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 269
    GuzzleHttp\Promise\Promise->waitIfPending()
  8. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 226
    GuzzleHttp\Promise\Promise->invokeWaitList()
  9. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/promises/src/Promise.php line 62
    GuzzleHttp\Promise\Promise->waitIfPending()
  10. /home2/offgrih9/public_html/nextcloud/3rdparty/guzzlehttp/guzzle/src/Client.php line 187
    GuzzleHttp\Promise\Promise->wait()
  11. /home2/offgrih9/public_html/nextcloud/lib/private/Http/Client/Client.php line 218
    GuzzleHttp\Client->request(“get”, “https://offgrid … s”, [false,45,[true] … e])
  12. /home2/offgrih9/public_html/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php line 136
    OC\Http\Client\Client->get(“https://offgrid … s”, [45,[true],false])
  13. /home2/offgrih9/public_html/nextcloud/apps/richdocuments/lib/Service/CapabilitiesService.php line 74
    OCA\Richdocuments\Service\CapabilitiesService->refetch()
  14. /home2/offgrih9/public_html/nextcloud/apps/richdocuments/lib/AppInfo/Application.php line 80
    OCA\Richdocuments\Service\CapabilitiesService->getCapabilities()
  15. /home2/offgrih9/public_html/nextcloud/lib/private/AppFramework/Bootstrap/FunctionInjector.php line 67
    OCA\Richdocuments\AppInfo\Application->OCA\Richdocuments\AppInfo{closure}(“*** sensitive parameters replaced ***”)
  16. /home2/offgrih9/public_html/nextcloud/lib/private/AppFramework/Bootstrap/BootContext.php line 51
    OC\AppFramework\Bootstrap\FunctionInjector->injectFn(Closure {})
  17. /home2/offgrih9/public_html/nextcloud/apps/richdocuments/lib/AppInfo/Application.php line 135
    OC\AppFramework\Bootstrap\BootContext->injectFn(Closure {})
  18. /home2/offgrih9/public_html/nextcloud/lib/private/AppFramework/Bootstrap/Coordinator.php line 190
    OCA\Richdocuments\AppInfo\Application->boot(OC\AppFramework\Bootstrap\BootContext {})
  19. /home2/offgrih9/public_html/nextcloud/lib/private/legacy/OC_App.php line 208
    OC\AppFramework\Bootstrap\Coordinator->bootApp(“richdocuments”)
  20. /home2/offgrih9/public_html/nextcloud/lib/private/legacy/OC_App.php line 141
    OC_App::loadApp(“richdocuments”)
  21. /home2/offgrih9/public_html/nextcloud/ocs/v1.php line 57
    OC_App::loadApps()
  22. /home2/offgrih9/public_html/nextcloud/ocs/v2.php line 23
    require_once(“/home2/offgrih9 … p”)

PUT /nextcloud/ocs/v2.php/apps/user_status/api/v1/heartbeat?format=json
from 5.150.252.213 by Offgridscale at 2023-02-14T09:29:48+00:00

hello @op welcome to the forum :handshake:

you are missing the required support template. Please fill this form out and edit into your post.

This will give us the technical info and logs needed to help you in case the machine in question in spitting out errors! Since you’ve provided zero technical details it is impossible to help you as-is. Thanks.

Please use the search - lot of issues have been discussed already.

Thank you. I added the template and filled it out to the best of limited software my abilities. I couldn’t find anything for this one " The output of your Apache/n ginx/system log in /var/log/____:" but added the contents of the Apache.php file if that is what is being asked for. There is no folder called “var” or “log” nor a file called “system log” or “apache log” etc.

because of this error message I think your server can’t connect with Collabora Online hosted on https://offgridscale.com/nextcloud please review you system settings. good starting point is:

Nextcloud Collabora integration

Thank you. Is this something that I can fix myself or do I need to be a SW engineer working for the web-hosting company (Bluehost) and access their code?

I read the Wiki (and several other webpages.) SW is not my field but I was able to follow some of the instructions but it didn’t resolve anything. If you can’t explain it more clearly I hope you can at least answer the question above.

nobody know the config of your system. nobody knows if it is root server, how many access do you have? how many resources. It looks you are trying to enable built-in CODE server… shortly somebody reported a hosted (actively) blocked it due to resource requirements.

maybe in such case it’s better to look for managed Nextcloud available from many hosters.

Hosting such a complex application like Nextcloud, requires lot of knowledge and effort from the admin (at least willingness to learn all the stuff around web applications, databases, Linux, security, operations etc…). Common web hosting packages may be not suited best for many reasons…

This topic was automatically closed after 92 days. New replies are no longer allowed.