NC 21 update problems

Support intro

Sorry to hear you’re facing problems :slightly_frowning_face:

help.nextcloud.com is for home/non-enterprise users. If you’re running a business, paid support can be accessed via portal.nextcloud.com where we can ensure your business keeps running smoothly.

In order to help you as quickly as possible, before clicking Create Topic please provide as much of the below as you can. Feel free to use a pastebin service for logs, otherwise either indent short log examples with four spaces:

example

Or for longer, use three backticks above and below the code snippet:

longer
example
here

Some or all of the below information will be requested if it isn’t supplied; for fastest response please provide as much as you can :heart:

Nextcloud version (eg, 20.0.5): 21.0.0.18
Operating system and version (eg, Ubuntu 20.04): CENT OS 8
Apache or nginx version (eg, Apache 2.4.25): recent
PHP version (eg, 7.4): 7.4.15

The issue you are facing:

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

Steps to replicate it:

  1. Update from 20.0.8 to 21.0.0

Multiple things go wrong after the update:

  • Wrong PHP version 7.2 is reported by cron job, but it runs already for months on 7.4 (on one instance). But this could be a DirectAdmin problem that was not a problem before. The default link to /usr/local/bin/php seems to envoke the oldest PHP version available.
    I replaced it with: /usr/local/php74/bin/php
    And that seems to work for 20.0.0, but not for 21.
    i get an memory error:
    PHP Fatal error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 20480 bytes) in … /home/…/cloud/lib/private/AppFramework/Utility/SimpleContainer.php on line 133
  • “Er is een achtergrondtaak in bezig die controleert op door de gebruiker geïmporteerde SSL-certificaten. Kom later terug.” (orange color)
    I’ve never imported an SSL ceritificate, and this messaage is new to me.
  • Je webserver is niet goed ingesteld om “/.well-known/webfinger” te vinden …
    Unclear why this is now a problem. Tried several options, but with no results.
  • Je webserver is niet goed ingesteld om “/.well-known/nodeinfo” te vinden …
    Unclear why this is now a problem. Tried several options, but with no results.
  • Je installatie heeft geen standaard telefoonregio. (that would be new to NC 21)
    And this should be an option in the settings. I added manualy:
    ‘default_language’ => ‘NL’,
    ‘default_phone_region’ => ‘NL’,
  • Security scan (https://scan.nextcloud.com/) reports:
    Running Nextcloud 21.0.0.18
    NOT on latest patch level
    Major version still supported
    … and that seems wrong, since this is the latest update now.

If you have installed php72 and php74 in parallel, you must be 100% sure to run the right version. And for the new php, make sure all required modules are installed and configured.

Regarding your php error, this is probably related of the apcu not enabled in cli mode:

Yes. We use DirectAdmin. We have 7.2, 7.3, 7.4 and 8.0 active.
But the problem seems with DirectAdmin. the cron to /usr/local/bin/php is not correct. This link points to the oldest version, and not the one that is activated for the domain.
I repaired it with this: /usr/local/php74/bin/php
But changing the php version for the domain also needs correcting the con jobs. That should not be the case.

I will check apcu and cli on our servers. Strange that this becomes an issue now. But thanks for this suggestion!

The SSL cert warning should disappeared at my inscances after approx. 15 minutes. You should always use nextcloud via TLS (and I’m pretty sure you are). Just let the script finish – and open an issue if it does not disappear.

Concerning the .well-known-URLs, please consider to re-create your host/site definition for Apache/NGINX according to the manual. This NGINX config solved it for me. Maybe the warning should mention that it might be necessary to use the new template!?

Concerning the scanner, I also reported that focussing on where it should be reported (unclear to me).

Problems seem to be specific for DirectAdmin.
When a cron job is not exectuted, the SSL warning stays.
In DirectAdmin, the /usr/local/bin/php always refers to the oldest available PHP version, not to the one that is actually activated for the domain! So when I changed this to:
/usr/local/php74/bin/php
Both the cron warning and the SSL warning disappeared.

Now the only two warnings that stay are:

  • Je webserver is niet goed ingesteld om “/.well-known/webfinger” te vinden. Meer informatie is te vinden in onze documentatie.
  • Je webserver is niet goed ingesteld om “/.well-known/nodeinfo” te vinden. Meer informatie is te vinden in onze documentatie.
    And these are new with NC21.
    It seems (linux technicians datacenter) that the .well-known/ directive is used for the Letsencrypt certificate renewal.
    None of the instructions in the docs resolved the issue.
    As far as I can understand for now, resolving the webfinger service with public.php does not work (public.php?service=webfinger)
    Nextcloud is in a subdir as subdomain (cloud.mydomain.nl in DNS) . In the root is a Wordpress site.

for warning “/.well-known/webfinger” and “/.well-known/nodeinfo”

just write into nextcloud.conf (/etc/nginx/conf.d/nextcloud.conf)

location = /.well-known/webfinger {
return 301 $scheme://$host/index.php/.well-known/webfinger;
}

location = /.well-known/nodeinfo {
return 301 $scheme://$host/index.php/.well-known/nodeinfo;
}

br.
Manfred

We use Apache server, most recent on CENTOS8.
I’ve set things up in HTTPD for the cloud.domainname.nl.

But none of the suggestions seem to work.
Also changing the .htaccess in the root (domainname.nl) did not work.

Could you tell me how these lines should be with Apache?

I’m running Nextcloud in a subdirectory of my domain, like: www.domein.nl/nextcloud
In /etc/apache2/sites-available/domein.nl-le-ssl.conf
I have set:

Redirect 301 /.well-known/carddav “/nextcloud/remote.php/dav”
Redirect 301 /.well-known/caldav “/nextcloud/remote.php/dav”
Redirect 301 /.well-known/webfinger “/nextcloud/index.php/.well-known/webfinger”
Redirect 301 /.well-known/nodeinfo “/nextcloud/index.php/.well-known/nodeinfo”

This is working wel for me. But I’m on Ubuntu.

On another Nextcloud setup I’m using nextcloud.domein.nl
There .htaccess convers the wellknown links.
Have you set:

   AllowOverride All
    Require all granted

In the apache conf file?

I have:
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
Options +Includes
Require all granted

and

|*if SUB=“cloud”|
Redirect 301 /.well-known/carddav https://cloud.xxxx.eu/remote.php/dav
Redirect 301 /.well-known/caldav https://cloud.xxxx.eu/remote.php/dav
Redirect 301 /.well-known/webfinger https://cloud.xxxx.eu/public.php?service=webfinger
Redirect 301 /.well-known/nodeinfo https://cloud.xxxx.eu/public.php?service=nodeinfo
|*endif|

for my httpd in DirectAdmin