Test our new work-in-progress upgrader script

Is it necessary for the install to be in a root folder called “owncloud”? For security reasons I never use default folder / usernames, and my current ownCloud installation is no exception.

If it does need to be in a folder called ownCloud, can I change this, and the path in the config file, upgrade and then change both back?

No. Absolutely not required, in my case it’s simply called www or server or whatsoever. It should also work quite fine with that: If not, that’s a bug and more details would be appreciated.

As long as the file lives in updater/index.php it should automatically use the correct folder name.

Hello!
First post here, but using Nextcloud from the very beginning (what was that, a month yet? :stuck_out_tongue: )

I’ve tried the updater, but it didn’t work for me. I uploaded the script, changed the config file but when launching the updater I get the following error:

Check for write permissions

The following places can not be written to

  • :/var/www/html/nube/updater/…/…
    The following places can not be written to
    *:/var/www/html/nube/updater/…/…

(nube=cloud in Spanish, it’s the directory where I installed Owncloud and now Nextcloud). As far as I know, file ownership is correct.

Ok, I’m at a loss for now: I can call /$NC/updater manually and provide updater secret from config, but this obviously does not trigger the update process either.

That seems like we very a little bit too strictly checking the file permissions. Checking the permissions on the html folder is unrequired. I have adjusted that with https://github.com/nextcloud/updater/commit/fbd3e5ac5d92f114ac4dbd5c826139d0beda2d6b

Can you download the newest version (same link as before) and try again, @polkillas? That would be greatly appreciated :smile:

More information would be appreciated to make it a little bit easier to debug, as in:

  1. Which steps did you exactly do? And from what version to what?
  2. Do you see anything in your web browser network log? if so: What requests are sent when you click the “Start Update” button?
  3. What browser do you use?

I’m not actually seeing the dropdown with the option to change the update channel.

.

Did you by any chance disable the app “Update notification” or disabled it via your config file? Check your apps screen for this please as well as your config file :wink:

OFC, sorry.

I run NC 9.0.50 on shared hosting.
I downloaded the update/index.php and placed it in /$NC/updater
I added the updater server line to config.php
NC setup is /$www/NC for the binaries and /$www/nc_data for NC data directory (I got a feeling, that might proof important)
I went do admin page, changed channel to “daily” and reloaded page
I clicked “Start Updaer” button
Prerequisite checks claimed an (old and obsolete) “data_old” directory being present and stalled.
I deleted said directory
I reloaded the updater and all checks went fine
Updater displayed “about to upgrade to 9.0.51” page and showed a button
Clicking this button is to no avail: no loading, no redirecting no nothing

  • Browser is Iceweasel (Firefox) on Debian Jessie stable
  • Web browser log states “post” with reply “false” - what log entries do you require exactly? I seem to be unable to copy and paste code from the network analyser :frowning:

If you click on that request and then click on “Params”, what do you see as step there? And the response is just a plaintext “false”? Or some more text?

@LukasReschke

  • Params is completely empty
  • plan text “false” …nothing more
  • Important: I just noticed: post action I get only if calling “updater” manually. If pressing button “start update” nothing happens, no post action nothing.

Ah, yes I did. Ironically because it always took so long to notify me of an update that I just subscribed to releases on Github as it was more timely. I was very happy to see that this is something that was going to be worked on :wink:

Anyway, I replaced the /updater/index.php, added the new update server URL into the config file, re-enabled check for updates in the config.php, switched to daily and back to stable, but the updater still says that I’m up to date (on OC 9.0.2). There are no new errors in the log.

Ah yes. That’s again YET another case, so the feature to change the updater server is only available in Nextcloud and the upcoming release of ownCloud next week…

You can work around that by switching to daily and staying on that. ownCloud should show you that an update to the daily is available but when you open the updater screen you will see that it will in fact update to a stable release of Nextcloud. That should work, otherwise: opening the updater directly works also :wink:

Thanks, I do understand of course why you are going into this direction, but I expect there are a lot users out there with the same setup.

I believe it might be still possible, as you know exactly which files to expect, so you should have a whitelist of file you can modify.

Anyway… I moved the installation and ran into some issue… is this the same polkillas had ?

Yep. Have you redownloaded the latest version from https://raw.githubusercontent.com/nextcloud/updater/add-simplified-updater/index.php? That should work already in this version.

OK, now I get through to the Nextcloud update screen, but the “Update” button doesn’t seem to do anything. Onloading the page, Chromium’s console reports these errors:

Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
jquery.min.js?v=a16b8bf…:6 GET https://MYDOMAIN.com/ynhpanel.js?_=1466962566597 404 (Not Found)send @ jquery.min.js?v=a16b8bf…:6ajax @ jquery.min.js?v=a16b8bf…:6_evalUrl @ jquery.min.js?v=a16b8bf…:6domManip @ jquery.min.js?v=a16b8bf…:5append @ jquery.min.js?v=a16b8bf…:5(anonymous function) @ jquery.min.js?v=a16b8bf…:5access @ jquery.min.js?v=a16b8bf…:4html @ jquery.min.js?v=a16b8bf…:5success @ admin.js?v=a16b8bf…:34c @ jquery.min.js?v=a16b8bf…:4fireWith @ jquery.min.js?v=a16b8bf…:4k @ jquery.min.js?v=a16b8bf…:6r @ jquery.min.js?v=a16b8bf…:6
jquery.min.js?v=a16b8bf…:4 Uncaught SyntaxError: Unexpected token <

Please also report back what the network console shows you. There should be a request to the updater and a response that is unexpected. Seeing that response would be very interesting.

This seem to do the trick.

All good now. Updated to 9.0.51 now

I don’t quite understand what I should be looking for. All of the requests listed return 200 except ynhpanel.js (part of Yunohost, presumably - returns a 404) and webdav (which returns 207).

I don’t have a big idea what Yunohost is (I just wonder why they inject a custom JS into ownCloud / Nextcloud), that said. I just uploaded a new version at https://raw.githubusercontent.com/nextcloud/updater/add-simplified-updater/index.php that should make finding the request easier. It should be a 500 now. (if you can’t find it it should also be a POST to the /updater/ endpoint) – Change can be seen at https://github.com/nextcloud/updater/commit/7a9a2cacf977991024153c05997c63efef4b496d

Mind retesting? Thanks a lot :rocket: