Get up-to-date with the new Nextcloud updater

Originally published at: Get up-to-date with the new Nextcloud updater - Nextcloud

As you might know the Nextcloud 9.0.54 and 10.0.1 releases came with a new updater. This new updater allows reliable upgrading to new Nextcloud versions via the web and in the upcoming 11 release even via the command line interface.

However, as they lack the new updater, versions before 9.0.54 currently receive no update notifications. Neither do the have an easy way to update via the built-in updater. As there are still a significant number of users on Nextcloud 9.0.53 and these users are potentially at risk of security breaches and missing stability bugs, we devised an easy way to upgrade to a newer release. Users of 9.0.53 and older will receive a notification pointing to this blog so they can follow the steps and get to a new Nextcloud, easily and safely.

2016-12-08_14-44-22

Seven steps

To upgrade an older Nextcloud system without manually having to extract and replace the files, follow these instructions:
  1. Log into your server with SSH or FTP and go to the folder where Nextcloud is installed, for example /srv/www/htdocs/nextcloud
  2. Delete the file updater/index.php. The folder updater/ can be found in the subfolder of the folder where you installed your Nextcloud.
  3. Create a new file updater/index.php. Copy-paste this content into it and save it.
  4. Add the following at the end of your /config/config.php file, right before the line consisting of );:
    ā€˜updater.server.urlā€™ => ā€˜https://updates.nextcloud.com/updater_server/ā€™,
  5. Log into Nextcloud. In your admin panel go to the updater section and switch to the channel ā€œproductionā€ and then to ā€œstableā€. This ensures that your update cache is cleaned.
  6. Reload the admin page with F5. You should now see an update notification to the Nextcloud 10 release. Scroll down to the ā€œUpdaterā€ section and follow the instructions in the updater app.
  7. When upgraded, remove the updater.server.url line that youā€™ve added to /config/config.php

Congratulations! Now you are on an up-to-date version with a properly working updater including update notifications for the admin account.

Those who prefer to do the entire process from the command line can grab this file, put it in the updater subfolder of Nextcloud and run it with php updater.phar
If you run the command but get no output whatsoever, check if you have the php-phar module is installed on your system. You can check by running php -m | grep -i Phar and looking at the output. If you get nothing, phar is not installed. You have to install it, running zypper in php7-phar or the equivalent for your distribution. Once you get notified that there is a new version, follow the instructions to install it.

We apologize for the inconveniences caused by the broken updater and are constantly working on improving the updater experience. And your help is welcome! If you manage to discover a bug in our new updater while upgrading to Nextcloud 11 Release Candidate you can earn a free T-Shirt.

One question, why should I remove the line again?!

Cheers,
Andreas

Because we may change the update servers in the future and then youā€™re stuck with an old update server. Donā€™t do any changes to config.php that are not really necessary.

1 Like

Thanks for the explanation.

I know I am repeating myself, but why not proposing a git repository containing all released files, along with developers repositories?
The big advantage for me, as an administrator, is that I am able to quickly see changes, to have a reliable and secure upgrade (I donā€™t have the time to review your updater) and to use the very same tool I use for every other web application not in my distribution.

ok so I followed the guide but I got stuck on the stage "check permissions"
that I donā€™t have permission to /updater/index.php

Parsing response failed. <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"> <html><head> <title>403 
Forbidden</title> </head><body> <h1>Forbidden</h1> <p>You don't have permission to access /updater/index.php on this 
server.<br /> </p> <hr> <address>Apache/2.4.18 (Ubuntu) Server

but when I ssh in and go to the nextcloud updater folder and run ls -l I get

-rwxrwxr-- 1 www-data www-data 57356 Dec 10 21:27 index.php

I got the file by wgeting it from the url in the post, Iā€™m not sure what is wrong

Made successful Update from 10.0.1 to 10.0.2 without facing issues via the Web-Updater.

:grinning: nice flow :smiley:

I guess I should remove also the updater.secret line.

When i do those 7 steps it got stuck on this:

Initializing
Current version is 9.0.53.

It doesnt move further.
Can anyone help me?

Hi!

I am trying to update from 10.0.1 to 10.0.2.
I get stuck on ā€œcheck for write permissionsā€

:heavy_check_mark:] Check for expected files
[āœ˜] Check for write permissions failed
The following places can not be written to:
/var/www/nextcloud/updater/ā€¦/version.php
/var/www/nextcloud/updater/ā€¦/ocs/v1.php
/var/www/nextcloud/updater/ā€¦/ocs/providers.php
/var/www/nextcloud/updater/ā€¦/ocs/routes.php
/var/www/nextcloud/updater/ā€¦/ocs/.
/var/www/nextcloud/updater/ā€¦/ocs/v2.php
/var/www/nextcloud/updater/ā€¦/db_structure.xml
/var/www/nextcloud/updater/ā€¦/console.php
/var/www/nextcloud/updater/ā€¦/COPYING-AGPL
/var/www/nextcloud/updater/ā€¦/remote.php
/var/www/nextcloud/updater/ā€¦/AUTHORS
/var/www/nextcloud/updater/ā€¦/index.php
/var/www/nextcloud/updater/ā€¦/.htaccess
/var/www/nextcloud/updater/ā€¦/occ
/var/www/nextcloud/updater/ā€¦/ocs-provider/index.php
/var/www/nextcloud/updater/ā€¦/ocs-provider/.
/var/www/nextcloud/updater/ā€¦/public.php
/var/www/nextcloud/updater/ā€¦/.user.ini
/var/www/nextcloud/updater/ā€¦/status.php
/var/www/nextcloud/updater/ā€¦/robots.txt
/var/www/nextcloud/updater/ā€¦/index.html
/var/www/nextcloud/updater/ā€¦/cron.php

Update failed. To resume or retry just execute the updater again.

All these files are
-rw-r----- 1 root www-data

I could probably change to www-data:www-data on all but .htaccess
Setting www-data:www-data on .htaccess is not recommended by the Nextcloud documentation.
What shall I do?

/Martin

Yep :slight_smile: for the sake of the upgrade you could temporarily change htaccess too, then back once the upgrade finishes.

sudo chown -R www-data:www-data /var/www/nextcloud/

Then later:

sudo chown root:www-data /var/www/nextcloud/.htaccess

I got as far as step 5 and when I try to login all I get is a blank white page
https://pcloscloud.,com
The service had been working fine till this upgrade. Anyone have any ideas on what might be causing this snafu

Thanks in advance

The updater worked great for me from version 9.0! Just wanted to post to say thanks.

3 posts were split to a new topic: Internal server error on update NC 9 -> 10 and 10->11

Iā€™m in the same position. Were you able to resolve this?

All 7 steps worked fine for me, everything looked pretty good. But since the upgrade to vers. 10 I canā€™t login anymore. The installation doesnā€™t accept my login/PW combination (though I doublechecked it). When I try to reset my PW, I only get a message that the reset e-mail cannot be sent.

How can I resolve this?

Thanks for any help.

A post was split to a new topic: Header error when using the updater

Folks this is an announcement rather than a support topic. Please create a new topic in the support category providing as much info as you can in the provided support template.

Thanks.