Příručka:Aktualizace

From mediawiki.org
This page is a translated version of the page Manual:Upgrading and the translation is 100% complete.

Základní přehled

Přístup k souborům

Zvolte si metodu přenosu souborů:

Příprava

Přečtěte si textový soubor UPGRADE obsažený v MediaWiki.

  1. Zkontrolujte požadavky
  2. Přečtěte si soubor RELEASE-NOTES
  3. Přečtěte si soubor UPGRADE
  4. Udělejte zálohu stávajícího obsahu databáze a všech souborů
  5. Rozbalte nové soubory
  6. Aktualizujte rozšíření
  7. Spusťte aktualizační skript, který zkontroluje schéma databáze
  8. Zkontrolujte, je-li po aktualizaci vše jak má být
  9. Odstraňte pozůstatky po staré instalaci

Kontrola požadavků

Varování Varování: MediaWiki od 1.32 do 1.35.4, 1.36.2, 1.37.0 obsahují bezpečnostní problém, který umožňuje neoprávněné úpravy libovolné stránky a libovolné spouštění JavaScriptu. Pokud používáte jednu z těchto verzí a nemůžete aktualizovat na novější verzi, podívejte se na stránku 2021-12 security release/FAQ pro řešení.
Varování Varování: Do not upgrade from a MediaWiki version older than 1.33 to MediaWiki 1.39.1, or you may lose data! Upgrade to MediaWiki 1.35 first. See úkol T326071.

MediaWiki 1.41 vyžaduje:

  • PHP 7.4.3+
  • Jednu z následujících databází:
    • MariaDB 10.3.0+
    • MySQL 5.7.0+
    • PostgreSQL 10.0+
    • SQLite 3.8.0+
Od Verze 1.36 se MediaWiki zavazuje podporovat pouze aktualizace ze dvou LTS vydání před (viz phab:T259771). Aktualizace starších verzí MediaWiki budou muset být provedeny v několika krocích. To znamená, že pokud chcete aktualizovat na 1.41 z 1.34 nebo dřívější, budete muset nejprve aktualizovat svou 1.34 wiki na 1.35 (nebo 1.39) a z 1.35 (nebo 1.39) budete moci aktualizovat na 1.41.

Pokud používáte databázi PostgreSQL, přečtěte si, prosím, také Manual:Upgrading Postgres .

Další informace obsahuje Příručka:Požadavky na instalaci a stránka Kompatibilita .

Přečtěte si poznámky k vydání

V distribučním tarballu nebo v souborech rezervovaných či exportovaných z Git existuje řada souborů s názvy psanými velkými písmeny, z nichž jeden obsahuje RELEASE-NOTES (wiki). Nyní je ta pravá chvíle do něj nahlédnout a zjistit, co se u této verze změnilo. Nezapomeňte si také přečíst instrukce v souboru UPGRADE.

Dokončete čekající úlohy

Z důvodu regulace výkonu počítače jsou některé akce v databázi zpožděny a jsou spravovány ve frontě úloh. Tyto úlohy jsou uloženy v databázi a obsahují parametry s informacemi o akcích, které se mají provést. Důrazně doporučujeme spustit tyto čekající úlohy před aktualizací wiki, aby nedošlo k jejich selhání v případě, že by se specifikace parametrů těchto úloh v nové verzi změnila. Pomocí runJobs.php spusťte všechny čekající úlohy a před provedením aktualizace frontu vymažte.

Udělejte zálohu databáze a stávajících souborů

Úplné pokyny k zálohování jsou na stránce: Příručka:Zálohování wiki

I když jsou aktualizační skripty dobře udržované a robustní, stále by se cokoli mohlo pokazit. Před pokračováním v aktualizaci databázového schématu vytvořte úplnou zálohu souborů wiki včetně databáze:

  • Obsah wiki z databáze (ujistěte se, že je sada znaků zadána správně, nejprve zkontrolujte LocalSettings.php). Může být dobrý nápad vytvořit výpis XML kromě výpisu databáze SQL.
  • MySQL, výpis SQL i výpis XML se používají pro příkaz mysql:
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb > file.sql
mysqldump --user=wikidb_user --password=wikidb_userpassword wikidb --xml > file.xml
  • PostgreSQL, výpis z databáze pro použití s příkazem pg_restore:
pg_dump --create -Fc wikidb > file.db.dump
  • SQLite, pro zálohování používáte skript MediaWiki:
php wikifolder/maintenance/sqlite.php --backup-to file
  • Obrázky a další mediální soubory (obsah adresáře images, vlastní logo /skins/common/images/wiki.png).
  • Konfigurační soubory, např. LocalSettings.php a .htaccess (pokud existuje).
  • Programové soubory MediaWiki, včetně všech zobrazení a rozšíření, zejména pokud jste je upravovali.

Rozbalte nové soubory

Použití balíčku tarball

Nové soubory můžete umístit pomocí FTP nebo příkazového řádku. Použijte příkazový řádek, pokud k němu máte přístup! Použití příkazového řádku bude mnohem rychlejší, než kdyby bylo nutné nahrát každý z tisíců souborů přes FTP.

Dekomprimovaný tarball byste měli umístit do nové a prázdné složky na serveru. Pokud místo toho extrahujete novou verzi přímo v části staré verze, nikoli v novém adresáři, měli byste postupovat podle pokynů popsaných v Zálohování existujících souborů a databáze: Jinak, pokud jste provedli jakékoli úpravy smazáním, soubory již nepůjdou obnovit! Rozbalením tarballu na živé kopii MediaWiki můžete také ponechat soubory ze staré verze MediaWiki, které mohou rušit nově aktualizovaný kód. Doporučujeme rozbalit nové soubory do nového adresáře a poté do nového adresáře použít úpravy (obnovení LocalSettings.php, složky obrázků, rozšíření a dalších přizpůsobení, jako jsou vlastní zobrazení).

Pomocí FTP nebo graficky

Pokud nemůžete získat přístup k příkazovému řádku na serveru, stáhněte si tarball MediaWiki do místního počítače a pomocí 7zip rozbalte tarball na místním počítači.

Po lokálním extrahování souborů použijte svůj oblíbený FTP klientský software k nahrání adresářů a souborů na server.

Správce souborů cPanel

cPanel je oblíbené rozhraní poskytované mnoha webovými hostiteli. Tato metoda je účinná, protože soubory nejsou zhuštěné na samotném serveru.

  • Přejděte do adresáře, který obsahuje vaši složku wiki.
  • Nahrajte soubor mediawiki-1.xx.x.tar.gz. Abyste jej viděli, bude možná nutné stisknout "Reload" (znovu načíst).
  • Rozbalte soubor mediawiki-1.xx.x.tar.gz. Znovu načtěte.
  • Potvrďte přítomnost složky mediawiki-1.xx.x.
  • Smažte soubor tar.gz.
  • Zkopírujte všechny potřebné vzhledy, rozšíření, složky obrázků, přizpůsobení a LocalSettings.php do nové složky. (Viz. níže.)
  • Až budete připraveni spustit update.php, přejmenujte svou starou wiki složku a novou wiki složku. (např. "w" se změní na "w1.34" a poté "mediawiki1.35.0" se změní na "w".) Tento krok, pokud narazíte na problémy, lze snadno vrátit.

Příkazovým řádkem

Pokud nemáte úplná oprávnění pro zápis do instalačních adresářů wiki u aktuálního uživatele, možná nemůžete příkaz spustit jako sudo. Když normálně zrušíte rozbalení tarballového balíčku, vytvoří se nový adresář pro novou verzi wiki a budete muset zkopírovat staré konfigurační soubory a adresáře obrázků z vašeho starého instalačního adresáře:

cd /path/to/your/new/installation/ wget https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.0.tar.gz tar xvzf mediawiki-1.41.0.tar.gz rm mediawiki-1.41.0.tar.gz

Uživatelé systému (Open)Solaris by měli používat gtar nebo:

$ gzip -dc mediawiki-1.41.0.tar.gz | tar xf -

Další informace

Po rozbalení tarballu byste měli zkopírovat nebo přesunout některé soubory a složky ze starého instalačního adresáře do nového:

  • LocalSettings.php - obsahuje vaše stará nastavení.
  • Adresář images (nebo uploads ve starších verzích), který obsahuje všechny nahrané soubory na wiki, pokud jste nevybrali jiný adresář pro nahrání a nezměníte vlastnictví a oprávnění. find ./images -type d -exec chmod 755 {} \; a chgrp -R apache images (např. pokud je váš webový uživatel apache).
  • Některá rozšíření v adresáři extensions. Vždy byste měli získat aktualizovaná rozšíření! Stará rozšíření nezaručují, že budou fungovat s novější verzí MediaWiki.
  • V případě, že používáte vlastní logo, je třeba tento soubor také obnovit ze zálohy. Před verzí 1.24 obvykle ve skins/common/images/. Po verzi 1.24 v resources/assets/ nebo images/. Potom přidejte do LocalSettings.php např. $wgLogo = "$wgScriptPath/images/logo.png";
  • Pro verzi 1.35 možná budete muset obnovit loga z wgLogos . Poté přidejte do LocalSettings.php např. $wgLogos = [ '1x' => "path/to/1x_version.png", '2x' => "path/to/2x_version.png", 'svg' => "path/to/svg_version.svg" ];
  • Vlastní zobrazení z adresáře skins.
  • Jakékoli úpravy starých instalačních souborů nebo přípon.
  • Jakýkoli soubor .htaccess (pokud používáte Apache a máte v nich definována pravidla).

Po dokončení vytvořte z této nové složky publikovatelnou složku na webovém serveru nebo přejmenujte starý instalační adresář a novou přejmenujte tak, aby odpovídala starému názvu. Změňte vlastnictví a skupinu všeho, aby měl webový server přístup k souborům.

Používání Git

Pokud používáte Git , exportujte soubory do nového prázdného adresáře a zkopírujte staré přizpůsobené soubory do nového adresáře, jak je popsáno v předchozí části.

Budete také muset nainstalovat některé externí knihovny PHP pomocí Composeru nebo poskytované kolekce udržované pro farmu Wikimedie. Další podrobnosti o instalaci a aktualizaci externích knihoven najdete v dokumentaci ke stažení Git.

Použití oprav

Pro opravu menší verze je obvykle k dispozici malý soubor opravy. Abyste jej mohli používat, musíte si stáhnout záplatu (patch). Ručně stáhněte a extrahujte soubor opravy z od poskytovatele nebo postupujte podle pokynů pomocí wget (utilita pro jednoduché stahování souborů z internetu) níže. Opravy jsou přírůstkové, nemůžete přeskočit verzi.

  1. cd do hlavního adresáře MediaWiki (adresáře s LocalSettings.php).
  2. Stáhněte soubor opravy a rozbalte jej.
  3. Pomocí patch -p1 --dry-run zkontrolujte, co se změnilo (např., patch -p1 --dry-run -i mediawiki-x.xx.x.patch)
  4. Pokud je vše v pořádku, spusťte znovu záplatu bez --dry-run.
  5. Zkontrolujte svou stránku Special:Version a měli byste tam vidět číslo nové verze.

Ostatní soubory, které mohou způsobit chyby

Pokud rozbalíte starý instalační adresář, některé staré soubory mohou způsobit problémy s novou verzí.

Aktualizujte rozšíření

Některá rozšíření byla aktualizována, aby fungovala s novou verzí MediaWiki. Ujistěte se, že aktualizujete na nejnovější verze i tato rozšíření. Možná budete muset provést ruční aktualizace vlastních rozšíření.

Různé tarballs obsahují některé podmnožiny rozšíření a mají verze, které vám pomohou aktualizovat výběr toho správného pro vaši základní verzi MediaWiki.

Distributor rozšíření funguje dobře pro většinu uživatelů, kteří chtějí obraz rozšíření fungující s jejich podporovanými verzemi MediaWiki.

Pokud chcete hodně rozšíření, pak je pravděpodobně nejlepší stažení z Gitu. Pokud Git nemáte, ale chcete aktualizovat mnoho rozšíření, můžete použít mwExtUpgrader.

Přizpůsobte si LocalSettings.php

Pokud používáte stejné LocalSettings.php ze staré verze, možná budete muset přizpůsobit jeho zacházení s novými verzemi:

Registrace zobrazení

Verze MediaWiki:
1.24

Vzhledem k tomu, že v MediaWiki 1.24 seskupená zobrazení, jako jsou Vector, Monobook, Modern a CologneBlue, již nejsou součástí jádra MediaWiki, je třeba je explicitně zaregistrovat do LocalSettings.php, aby je bylo možné použít. Jinak MediaWiki varuje, že nemáte nainstalovaná zobrazení.

Toto, musíte přidat k LocalSettings.php, když aktualizujete z verzí starších než 1.24 a chcete mít k dispozici jedno z těchto zobrazení:

wfLoadSkin( 'Vector' );
wfLoadSkin( 'MonoBook' );
wfLoadSkin( 'Modern' );
wfLoadSkin( 'CologneBlue' );

Jiná zobrazení nemusí být stále přizpůsobena novému systému registrace zobrazení. Proto si v případě problémů na stránce dokumentace o každé položce přečtěte, jak ji správně zaregistrovat.

Registrace rozšíření

Verze MediaWiki:
1.25

Od verze MediaWiki 1.25 používají rozšíření nový systém rozšíření registrace.

Dříve by váš LocalSettings.php obsahoval něco jako:

require_once "$IP/extensions/Cite/Cite.php";
require_once "$IP/extensions/Gadgets/Gadgets.php";
require_once "$IP/extensions/ImageMap/ImageMap.php";
require_once "$IP/extensions/InputBox/InputBox.php";
require_once "$IP/extensions/Nuke/Nuke.php";
require_once "$IP/extensions/ParserFunctions/ParserFunctions.php";
require_once "$IP/extensions/Poem/Poem.php";
require_once "$IP/extensions/SyntaxHighlight_GeSHi/SyntaxHighlight_GeSHi.php";
require_once "$IP/extensions/WikiEditor/WikiEditor.php";

Toto lze převést na:

wfLoadExtension( 'Cite' );
wfLoadExtension( 'Gadgets' );
wfLoadExtension( 'ImageMap' );
wfLoadExtension( 'InputBox' );
wfLoadExtension( 'Nuke' );
wfLoadExtension( 'ParserFunctions' );
wfLoadExtension( 'Poem' );
wfLoadExtension( 'SyntaxHighlight_GeSHi' );
wfLoadExtension( 'WikiEditor' );

Rozšíření jsou upravena pro použití nového systému registrace rozšíření. Rozšíření, která nejsou přizpůsobena, by měla používat starý způsob jejich instalace. Další informace naleznete v instalačních pokynech na stránce rozšíření.

Odstraňte řádek DefaultSettings.php (je-li to nutné)

Starší verze MediaWiki automaticky vygenerovaly linku v LocalSettings.php volající DefaultSettings.php . Od verze 1.38 je tento řádek zastaralý a nefunguje s mnoha rozšířeními. Je potřeba ho odstranit.

Smažte následující řádek:

require_once( "$IP/includes/DefaultSettings.php" );

Ostatní proměnné

Některé proměnné mohou být zastaralé nebo jsou dokonce odstraněny. Mít je v LocalSettings.php obvykle nebude mít žádný význam ani účinek. V novějších verzích mohou být přidány nové proměnné nebo některé stávající proměnné změnily svůj typ. Obvykle se pro ně snažíme používat rozumná výchozí nastavení a v případě změny typu musí být zpětně kompatibilní. V každém případě si tyto změny prohlédněte v poznámkách k vydání.

Spuštění aktualizačního skriptu

Aktualizovat (upgradovat) databázi MediaWiki lze dvěma způsoby: Buď z příkazového řádku nebo z webového prohlížeče. Pokud máte k serveru přístup do shellu, doporučuje se aktualizovat z příkazového řádku, protože se tím snižuje riziko přerušení procesu aktualizace vypršením časového limitu nebo resetem připojení.

Skript vás také upozorní, pokud některá z PHP závislostí jádra MediaWiki není aktuální.

Příkazový řádek

Otevřete příkazový řádek serveru nebo prostředí SSH nebo podobně. K příkazovému řádku se dostanete po připojení k serveru přes SSH. Pokud místní počítač, na kterém pracujete, běží na systému Microsoft Windows, budete potřebovat nástroj jako PuTTY, abyste mohli používat SSH. Z příkazového řádku nebo prostředí Shell přejděte do adresáře $maint-dir a spusťte skript aktualizace:

Verze MediaWiki:
1.40
$ php maintenance/run.php update.php
Verze MediaWiki:
1.39
$ php maintenance/update.php

Pokud se na serveru Linux objeví chyba, zkuste provést stejný příkaz jako root (uživatel s nejvyšším oprávněním v systému UNIX) (sudo). Poznámka pro jednoduché instalace ve Windows (např. S XAMPP ): Nejprve se ujistěte, že je spuštěn váš webový server (například Apache) a databáze (například MySQL). Poté spusťte update.php: Klikněte na něj pravým tlačítkem, vyberte Open With a přejděte na PHP.exe. Výsledné okno příkazového řádku se pravděpodobně po dokončení aktualizace schématu automaticky uzavře.

MediaWiki zkontroluje existující schéma a aktualizuje ho tak, aby pracovalo s novým kódem. Podle potřeby přidává tabulky a sloupce.

Pokud používáte databázi Shared, měli byste, pokud chcete aktualizovat sdílené tabulky, předat parametr --doshared. V opačném případě se jich nedotkne aktualizační skript.

What to do if it says "MediaWiki requires PHP x.y.z or higher; you are using PHP x.w.v"

See Manual:Common errors and symptoms#MediaWiki requires PHP 7.4.3 or higher; you are using PHP 7.3.17

Co dělat, když php update.php nic nedělá, což má za následek rychlou pauzu a návrat do příkazového řádku

To může být způsobeno nefunkčním prodloužením nebo zobrazením.

  • Zkontrolujte, zda jsou přítomna všechna rozšíření a zobrazení požadované v LocalSettings.php.
  • Zkontrolujte, zda rozšíření používají správnou metodu registrace (wfLoadExtension proti require_once).
  • Zakomentujte první polovinu rozšíření v LocalSettings.php. Pokud to způsobí, že update.php bude fungovat, odkomentujte polovinu této poloviny (tedy 1/4 rozšíření). Pokud to NEZPŮSOBÍ, že update.php funguje, odkomentujte první polovinu, ale okomentujte druhou polovinu a poté okomentujte polovinu druhé poloviny atd. Opakujte, dokud update.php nebude fungovat, abyste našli ten, který selhal.

Co dělat v případě chyby "Příkaz ALTER uživateli byl odepřen" (nebo podobně)

V případě, že se skripty přeruší podobnou zprávou:

Error: 1142 ALTER command denied to user 'wiki'@'localhost' for table 'mytable' (localhost)
ERROR: must be the owner of the mytable relation 

Zkontrolujte, zda jste definovali $wgDBadminuser a $wgDBadminpassword v souboru LocalSettings.php (v hlavním adresáři). Jedná se o uživatele a heslo, které tento skript potřebuje pro přístup k databázi.

Zdá se, že se v některých případech pro aktualizaci názvu tabulky čte stará proměnná $wgDBmwschema (pro Postgres) místo $wgDBname, i když se používá MySQL. Pokud tomu tak je, zbavte se definice $wgDBmwschema v LocalSettings.php.

Co dělat v případě, že 'registerer_argc_argv je nastaven na false' error

Může dojít k chybě:

Cannot get command line arguments, register_argc_argv is set to false
  1. Přejděte na ~/maintenance (údržba). Upravte existující soubor 'php.ini' nebo si nějaký vytvořte.
  2. Přidejte tento řádek:
register_argc_argv=true
  1. Znovu spusťte php update.php.

Webový prohlížeč

Verze MediaWiki:
1.17
Viz také update.php

Pokud je vaše databáze již velká a ve velkém pracovním vytížení, neměli byste používat webový aktualizátor, např. protože se proces aktualizace přeruší, jakmile bude dosaženo maximálního časového limitu. V takovém případě byste měli použít update.php z rozhraní příkazového řádku (nikoli z webu). Co přesně je "příliš velká", záleží na vašem serveru (např. na jeho výkonu, zatížení a na tom, jak dlouho maximální doba spuštění PHP umožňuje spuštění skriptu). Pokud je vaše wiki příliš velká pro webovou aktualizaci a váš poskytovatel hostingu neumožňuje přístup z příkazového řádku, musíte migrovat wiki na jiný hostingový účet, nejlépe na ten, který má přístup do shellu.

  1. Vždy před provedením údržby databáze ručně zálohujte wiki.
  2. Navigujte svůj webový prohlížeč do /mw-config/index.php. Pokud je například vaše wiki na http://example.org/w/index.php, přejděte na http://example.org/w/mw-config/index.php.
  3. Vyberte svůj jazyk a klikněte na "Pokračovat" (continue).
  4. Existující instalace by měla být detekována. Aktualizujte ji podle pokynů na obrazovce.
    Pokud budete požádáni o "aktualizační klíč" (upgrade key), otevřete soubor LocalSettings.php a vyhledejte klíč přiřazený $wgUpgradeKey .

Může se stát, že se zdá, že webový aktualizátor nefunguje: Místo zobrazení úvodní obrazovky pro výběr jazyka se může zobrazit prázdná stránka wiki, pravděpodobně s nějakou chybovou zprávou. V tomto případě je nejpravděpodobnější, že váš webový server používá Pravidla pro přepisování (Rewrite Rules) (nejpravděpodobněji pro krátkou URL), která vám nezobrazí aktualizátor mw-config/, ale wiki stránku na Mw-config/, s velkým písmenem "M". V tomto případě po dobu aktualizace přejmenujte soubor .htaccess. Pak byste měli mít přístup k webovému aktualizátoru.

Varování Varování: Pokud použijete tuto metodu, nezapomeňte po spuštění aktualizačního skriptu změnit název souboru .htaccess zpět! V opačném případě dojde k poškození krátkých adres URL a případně i dalších položek!


Test aktualizace

Po dokončení aktualizace přejděte na wiki a zkontrolujte, zda následující operace fungují podle očekávání:

  • Prohlížení stránek (viewing pages).
  • Úpravy stránek (editing pages).
  • Nahrávání souboru (uploading a file).
  • Navštivte stránku Special:Version a zkontrolujte, zda je zobrazená verze správná a zda jsou přítomna rozšíření.

Odstraňte pozůstatky starých instalací

Pokud jste zkopírovali svou předchozí instalaci do jiné složky na serveru, ujistěte se, že ji odeberete nebo ji z webu zcela znepřístupněte. Je velmi důležité nenechávat staré instalace přístupné z webu, protože to zcela maří účel aktualizace a ponechává váš server otevřený útokům.

Často kladené otázky (FAQ)

Jak je těžké aktualizovat? (upgrade)

Pokud je jediný soubor, který jste změnili, LocalSettings.php a provádíte aktualizaci z verze 1.5 nebo novější, proces je velmi jednoduchý. Zabere vám to je jen pár minut. Změny schématu databáze zaberou určitý čas úměrný velikosti vaší databáze - potenciálně hodiny pro wiki s miliony stránek. Pro typičtější velikost několika tisíc stránek se obvykle provádí během několika sekund.

Drobné aktualizace ve stejné hlavní verzi, například od 1.40.0 do 1.40.2, nevyžadují vůbec žádné změny schématu. Můžete pouze aktualizovat soubory. Databáze nepotřebuje žádnou aktualizaci, proto není nutné spouštět aktualizační skript.

Aktualizace verze 1.4 nebo starší je potenciálně komplikovaná, protože byla zrušena podpora pro jiné znakové sady než UTF-8 a také bylo změněno schéma pro ukládání hromadného textu. Přečtěte si prosím příslušnou sekci v souboru UPGRADE.

Aktualizování je obtížné, pokud jste upravili náš zdrojový kód a nechcete, aby byly vaše změny přepsány. Užitečné mohou být nástroje jako diff, patch, Meld nebo WinMerge. Pokud používáte neudržovaná rozšíření, může dojít k potížím. Aktualizujte rozšíření současně s aktualizací MediaWiki.

Pokud jste upravili zobrazení nebo použijete zobrazení vlastní, budete ho pravděpodobně muset upravit, aby spolupracovalo s novou verzí MediaWiki.

Místo toho, abyste pokaždé opravovali své "globální" soubory CSS a JS (JavaScript), můžete kód jednoduše přidat na své stránky MediaWiki:Common.js a MediaWiki:Common.css. Protože jsou součástí databáze, která bude znovu použita při aktualizaci, nebudete již muset opravovat základní soubory MediaWiki.

Jak mohu aktualizovat ze skutečně staré verze? V jednom kroku nebo v několika krocích?

Verze MediaWiki:
1.4

Důležité: Pokud provádíte aktualizaci z MediaWiki verze 1.4 nebo starší, měli byste nejprve aktualizovat na verzi MediaWiki 1.5. Pokud aktualizujete z wiki Latin-1, použijte upgrade1_5.php (nalezený v MediaWiki 1.5) k převodu příslušných částí databáze na UTF-8 (aby to fungovalo, musí být ve vašem LocalSettings.php $Latin nastaven na true). Dále spusťte update.php a poté nastavte volbu $wgLegacyEncoding v LocalSettings.php na kódování dříve používané wiki (např. windows-1252). Tímto způsobem byly Wikipedie a další stránky Wikimedia Foundation aktualizovány z MediaWiki 1.4 na 1.5 – viz několik souvisejících poznámek na Wikitech. Možná budete muset aktualizovat na MediaWiki verze 1.4 před spuštěním skriptu aktualizací verze 1.5. Pokud chcete vytvořit výpis databáze (např. MySQL) vaší wiki Latin-1, aby nedošlo k problémům s kódováním znaků, ujistěte se, že typ pole old_text v textové tabulce text je mediumblob, nikoli mediumtext.

Verze MediaWiki:
1.5 – 1.35

Pokud provádíte aktualizaci MediaWiki verze 1.5 nebo novější z verze 1.35, můžete, ze staré na nejnovější stabilní verzi, aktualizovat v jednom kroku. Drtivá většina zpráv, stejně jako automatické testování, ukazují, že to v jednom kroku funguje dobře. Pokud nevěříte, přečtěte si tento příspěvek. Mějte však na paměti, že při aktualizaci ze starých verzí je pravděpodobnost, že se setkáte s chybami PHP, větší než při aktualizaci z verze přímo předcházející nové verzi. Tyto chyby by se stejně objevily, pokud byste nevynechali verze, ale chyby by byly spojeny s každou jednotlivou aktualizací. Místo toho, pokud aktualizujete několik verzí najednou, získáte stejnou sadu chyb najednou. To ztěžuje aktualizaci, ale nezapomeňte, že jste neměli potíže s aktualizací na přechodné verze, které jste přeskočili!

Verze MediaWiki:
1.35

Pokud aktualizujete na MediaWiki verze 1.36 nebo novější, budou podporovány pouze aktualizace z posledních dvou verzí LTS (phab:T259771). To znamená, že u velmi starých verzí nejprve aktualizujete na verzi MediaWiki 1.35 a poté upgradujete na verzi 1.36.

Měl bych nejprve zálohovat?

Krátká jednoznačná odpověď: Ano!

Jiná odpověď: Záleží na a) tom, jak si ceníte svých dat, b) jak je těžké vytvořit zálohu a c) jak jste si jisti s údržbou a správou MySQL.

Selhání aktualizace může ponechat databázi v nekonzistentním stavu mezi dvěma verzemi. Během aktualizace může dojít k chybě PHP nebo MySQL, takže vaše databáze bude aktualizována pouze částečně. V takových situacích je možné tento problém nějak vyřešit manuální zásahem. Bude však mnohem snazší udělat zálohu databáze před spuštěním update.php. Jinak byste mohli mít hodiny - zbytečné - práce.

Obnova je často složitá. Dobrovolníci na fórech podpory pravděpodobně nebudou ohromeni, pokud zanedbáte zálohu a poté budete potřebovat pomoc, abyste se zbavili problémů související se špatnou aktualizací. Lepší je, pokud se můžete vrátit k záloze a poté ohlásit chybu odpovídajícího projektu MediaWiki v procesu aktualizace, který způsobil poškození.

Mohu si ponechat LocalSettings.php?

Ano, ale možná budete muset provést některé drobné změny. Formát LocalSettings.php je do značné míry zpětně kompatibilní. Změny, které narušují kompatibilitu LocalSettings.php, budou dokumentovány v části "Změny konfigurace" v Poznámkách k verzi.

Může moje wiki zůstat online, zatímco probíhá upgrade?

Obecně ano, ale pokud aktualizujete přes Git, Git jej může dočasně (na několik sekund) přerušit.

Pokud přecházíte na menší vydání MediaWiki, stačí aktualizovat zdrojové soubory.

Poznámka: Pro další kroky je předpokládáno, že máte přístup z příkazového řádku. Pokud přecházíte mezi hlavními vydáními MediaWiki, je upřednostňován následující postup:

  1. Rozbalte novou verzi MediaWiki do nového adresáře.
  2. Připravte nový adresář: Zkopírujte aktuální LocalSettings.php ze starého adresáře, zkopírujte všechny nainstalované přípony a vlastní zobrazení (pokud existují). Zkontrolujte nastavení $wgLogo a $wgLogos v LocalSettings.php a v případě potřeby zkopírujte soubor loga ze starého adresáře do nového adresáře.
  3. V poznámkách k aktualizaci nové verze zjistěte, zda je nutné provést nějaké změny v LocalSettings.php.
  4. Ve starém adresáři upravte LocalSettings.php a vložte následující kód. Tím uvedete databázi do režimu pouze pro čtení pro běžnou aktivitu wiki, aniž byste omezovali vaše vlastní aktualizační akce. Pokud se uživatelé během aktualizace pokusí o úpravu, zobrazí se zpráva:
    $adminTask = ( PHP_SAPI === 'cli' || defined( 'MEDIAWIKI_INSTALL' ) );
    $wgReadOnly = $adminTask ? false : 'Upgrading to MediaWiki 1.41.0';
  5. Spusťte aktualizační script nebo webovou aktualizaci v novém adresáři.
  6. Zkopírujte obrázky z podadresáře images sub-directory ze starého do nového adresáře.
  7. Zaměňte starý adresář za nový adresář s novými soubory. (To umožní, aby bylo možné do databáze znovu zapisovat, protože $wgReadOnly bylo nastaveno pouze ve starém adresáři LocalSettings.php.)

Proč aktualizovat?

Přihlaste se k odběru oznámení o nových verzích.

Poslední vydání aktualizací instalují opravy zabezpečení tak, aby byla vaše wiki a váš počítač chráněn před vandaly a spamy, zatímco stará vydání nejsou vždy aktuální k současnému stavu (viz Existenční cyklus verzí ).

Nová hlavní vydání aktualizací také přicházejí s novými funkcemi, které byste mohli chtít použít: Podrobnosti naleznete vždy v poznámkách k vydání


Související odkazy