Jump to content

Topic on Manual talk:Upgrading

Online upgrade instructions

6
FeRDNYC (talkcontribs)

I just updated the FAQ entry on online upgrading to be a bit more current, and to include the necessary code from task T151833 since it's no longer a "workaround", it's just a necessary part of the process.

But then I noticed: The instructions are, effectively, to unpack the new version into a separate directory, transfer the locally-modified files over from the old installation to the new one, set the wiki read-only in the old directory, and then "Run the update script or the web updater in the new directory." before swapping the new directory in for the old.

How are you supposed to run the web updater from the new directory, before swapping it in as the live configuration? It's (presumably) not reachable via the webserver, unless the user also modified their server configuration to make it available (something the instructions never even hint at).

Seems to me, running the online update tool necessarily has to wait until after the new directory is made live, which sort of defeats the purpose of performing the update while the wiki remains online.

I get the impression someone shoehorned the web updater into these instructions at some point, because they want to present it as an alternative to using update.php for maintenance tasks. But this particular procedure really does rely (even hinge) on performing the (live) update via the command-line script, rather than the web updater.

Ciencia Al Poder (talkcontribs)

Looks like the instructions were originally suggesting using git for install and upgrades, because the first paragraph mentions git. When using git you don't have to unpack the contents to a new location, because git already deletes old files that are no longer present on the new version.

FeRDNYC (talkcontribs)

@Ciencia Al Poder: I suspect you're right, yeah. Fortunately someone must've realized that a cloned git tree is also incompatible with no-downtime live upgrades, since updating the MediaWiki code in-place always necessarily risks taking down the wiki for however long it takes update.php to perform the necessary database adjustments. Swapping source directories after the completion of an update.php run is the only safe way to update a live MediaWiki instance, and neither git nor the web updater are able to do that.

FeRDNYC (talkcontribs)

(I mean, a wiki administrator can certainly use git as their method of obtaining the "new version" directory for the swap. But they can't just git pull new code into the same directory their wiki is actually executing from, without it potentially breaking until the database has been reconfigured accordingly. A process which takes a very long time, for large wikis, and so the entire point of the live-update FAQ is to detail an upgrade process that avoids all that downtime.)

Raaz2 (talkcontribs)

I have a media wiki version 1.23 and php version : 5.5.6. Now I want to upgrade it to media wiki 1.42 and php 8.3. How can I do this?

FeRDNYC (talkcontribs)

@Raaz2 Well, the starting point would be to read Manual:Upgrading carefully, because that's a big jump. As it says there, if you want to upgrade without losing data you're going to have to do it in (at least) two stages: First you'll need to upgrade to 1.35, as it's not safe to upgrade from older versions to 1.39 or later. Then when you've got it upgraded to 1.35, you can upgrade to 1.42.

When actually doing the upgrades, you should follow the instructions found in the UPGRADE text file in each distribution (first 1.35, then 1.42).

Reply to "Online upgrade instructions"