Hoppa till innehållet

Underhåll av tekniska system/Uppdatera MediaWiki på servrar

Från Wikimedia

För att uppdatera en version av MediaWiki på våra servrar finns det några steg som kan vara bra att känna till, som komplement till Manual:Upgrading samt Manual:Backing up a wiki. Detta har visat sig vara nyttigt, då våra servermiljöer kan skilja sig åt från andra MediaWiki standardmiljöer.

Steg

1. Logga in på servern med:

ssh <servernamn>.wikispeech.eqiad1.wikimedia.cloud

2. Lokalisera var MediaWiki-installationen finns, vanligtvis under /var/www/html/w

3. Ta backup på databas och nuvarande MediaWiki-installation, för att säkerställa att inget går förlorat.

Databas-backup: mysqldump
Wiki-backup: File system backup

4. Ladda ner och packa upp den nya versionen du vill installera, förslagsvis i /var/www. Exempel:

Ladda ner: sudo wget https://releases.wikimedia.org/mediawiki/1.43/mediawiki-1.43.3.tar.gz

Packa upp: sudo tar -xvzf mediawiki-1.43.3.tar.gz

5. I producent-wikin använder vi symboliska länkar (symlänkar) för att separera MediaWikis versionerade kataloger från dess aktiva webbrotsväg. Vi placerar varje version av MediaWiki i en separat katalog, t.ex.:

@producer-bookworm:/var/www$ ls html mediawiki mediawiki-1.43.1 mediawiki-1.43.3

Sedan skapar vi en symlänk som alltid pekar på den aktiva versionen: /var/www/mediawiki → /var/www/mediawiki-1.43.3 som i sin tur länkas in i webbroten: /var/www/html/w → ../mediawiki

OBS, Demowiki-servern har för närvarande en annan struktur utan symlänkar, så steg 5 hoppar man över i det fallet.

Istället tas den gamla versionen bort och ersätts av den uppackadede nya versionen som flyttas till /var/www/html/w


6. Skapa rätt rättigheter för den nya versionen. För att minska risken för säkerhetsproblem bör www-data inte äga hela MediaWiki-installationen, utan endast de kataloger som behöver vara skrivbara, som t.ex. images/. Läs mer på: MediaWiki Security – File permissions

7. Kopiera över LocalSettings.php samt resurser såsom loggor m.m från den gamla versionen till den nya.

Exempel LocalSettings.php: cp /var/www/mediawiki-1.43.1/LocalSettings.php /var/www/mediawiki-1.43.3/

Exempel på andra resurser: cp /var/www/mediawiki-1.43.1/resources/assets/*.svg /var/www/mediawiki-1.43.3/resources/assets/


8. Ladda ner de senaste kompatibla versionerna av de extensions som ska användas via Extension Distributor

9. För loggning, se till att mappen /var/log/mediawiki/ finns. Om den inte finns, skapa den: sudo mkdir /var/log/mediawiki/.
Denna ska också kunna vara skrivbar av www-data, så ändra rättigheterna här också.

Övriga noteringar

Vi har identifierat ett kompatibilitetsproblem med extensionen PluggableAuth på vissa servrar i samband med uppgradering till nyare versioner av MediaWiki.

Symptom:
- Extensionen kraschar vid inladdning.
- Felmeddelande om att AuthManager eller relaterade komponenter inte hittas korrekt.
- Problem relaterade till olika versioner av PSR HTTP Message-biblioteket (psr/http-message).

Referens och lösning:

Byt namn på biblioteket så att MediaWikis egen version används, exempelvis: mv extensions/WSOAuth/vendor/psr/http-message extensions/WSOAuth/vendor/psr/http-message-disabled

Phabricator-tråd med bakgrund och lösning: T337827#8938778