Upgrading from 15 to 22 using downloaded zip file -- stuck

Nextcloud version (eg, 20.0.5): to be 22.0.0
Operating system and version (eg, Ubuntu 20.04): Ubuntu 18.04 LTS
Apache or nginx version (eg, Apache 2.4.25): Apache 2.4.48
PHP version (eg, 7.4): 8.0

The issue you are facing:

I downloaded the current zip file, nextcloud-22.0.0.zip, and followed the procedure described in “Manual Upgrade” ( https://docs.nextcloud.com/server/latest/admin_manual/maintenance/manual_upgrade.html ).

I moved the existing server directory sideways and created a new directory for the new installation.

I unzipped the zip file into the new location and renamed it to match the old directory ( the working directory ) name.

I made sure that all files had the correct owner and permissions.

I then compared the old and new Apps directories, and copied everything that was in the old but not the new, into the new.

I then ran the OCC command ( sudo -u www-data php occ upgrade ) and got the following:

Nextcloud or one of the apps require upgrade - only a limited number of commands are available
You may use your browser or the occ upgrade command to do the upgrade
Setting log level to debug
Exception: Updates between multiple major versions and downgrades are unsupported.
Update failed
Maintenance mode is kept active
Resetting log level

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

The output of your Nextcloud log in Admin > Logging: Can’t get there.

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

<?php
$CONFIG = array (
  'instanceid' => 'stuff',
  'passwordsalt' => 'passwordsalt',
  'secret' => 'secret value',
  'trusted_domains' => 
  array (
    0 => 'dom.ain',
  ),
  'datadirectory' => '/var/www/html/owncloud/data',
  'overwrite.cli.url' => 'https://dom.ain/owncloud',
  'dbtype' => 'mysql',
  'version' => '15.0.14.1',
  'dbname' => 'owncloud',
  'dbhost' => 'localhost',
  'dbtableprefix' => 'oc_',
  'dbuser' => 'somebody',
  'dbpassword' => 'stuff',
  'logtimezone' => 'UTC',
  'installed' => true,
  'theme' => '',
  'loglevel' => 0,
  'maintenance' => true,
  'htaccess.RewriteBase' => '/owncloud',
  'updater.secret' => 'stuff',
);

The output of your Apache/nginx/system log in /var/log/____: Not applicable for command line PHP.

However, I then tried opening a browser and going to the web site, and received a message saying:

Internal Server Error
The server was unable to complete your request.

If this happens again, please send the technical details below to the server administrator.

More details can be found in the server log.

Technical details
Remote Address: 111.222.333.444
Request ID: fLObqGLFpWojG1k3wVK9

I don’t know what server log is being discussed here. If it is the Apache log, here is what it says:

111.222.333.444 - - [06/Jul/2021:22:00:52 +0000] "GET /owncloud/ HTTP/1.1" 500 3734 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"
111.222.333.444 - - [06/Jul/2021:22:00:53 +0000] "GET /owncloud/status.php HTTP/1.1" 200 1738 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"
111.222.333.444 - - [06/Jul/2021:22:00:53 +0000] "GET /owncloud/core/img/favicon.ico HTTP/1.1" 200 3862 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36"

I see the 500 error on that first call, but I have no idea where the php_errors.log file is, because the Apache error.log does not contain any messages regarding this transaction.

Hi!

I can see in the log:

Exception: Updates between multiple major versions and downgrades are unsupported. Update failed

Try to upgrade one version at a time, as there are probably many individual database upgrades, scripts and actions to be done for every new version, that needs to follow until the end.

Start with 16, then go 17… Until you’re at 21.

Good luck!

@denNorske

Thank you for the “hint.” Yes, I should have thought of that myself, instead of trying to take the big leap.

However, after downloading and installing 16 by hand, I was able to use “the system” to step forwards, and have reached 20, where I am, apparently stuck again.

First, it says that 20 is the last version that supports PHP 7.2, and that 21 requires at least 7.3. However, running 20 and trying to upgrade PHP to 7.3 causes a 500 error.

It also says that I need to upgrade my MySQL, so that is what I am working on now.

Brian

Awesome!

If you face any issues you can post the webserver log here so we can see if there’s any clues to follow, I’m case you get stuck.