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ů

MediaWiki 1.38 vyžaduje:

  • PHP 7.3.19/7.4.3+
  • Jednu z následujících databází:
    • MySQL 5.5.8+ (či její ekvivalent MariaDB)
    • PostgreSQL 9.2+
    • SQLite 3.8+

Od verze 1.36 se MediaWiki zavazuje podporovat pouze upgrady z předchozích dvou vydání LTS (viz phab:T259771). Aktualizace ze starších verzí MediaWiki budou muset být provedeny v několika krocích. To znamená, že pokud chcete aktualizovat na verzi 1.36 z verze 1.23 nebo dřívějších, musíte nejprve upgradovat svou wiki z verze 1.23 na novější verzi 1.27 (nebo 1.35) a teprve z této verze 1.27 (nebo 1.35) budete moci upgradovat na verzi 1.36.

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.

cPanel File Manager

cPanel is a popular interface provided by many web hosts. This method is efficient because the files are uncompressed on the server itself.

  • Navigate to the directory that holds your wiki folder.
  • Upload the mediawiki-1.xx.x.tar.gz file. You may need to hit "Reload" to see it.
  • Extract the mediawiki-1.xx.x.tar.gz file. Reload again.
  • Confirm that the mediawiki-1.xx.x folder is present.
  • Delete the tar.gz file.
  • Copy all necessary skins, extensions, image folders, customizations, and the LocalSettings.php into the new folder. (see below)
  • When you are ready to run update.php, rename your old wiki folder and your new wiki folder. (e.g. "w" becomes "w1.34" and then "mediawiki1.35.0" becomes "w") This step is easily reversible if you run into problems.

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.38/mediawiki-1.38.1.tar.gz tar -xvzf mediawiki-1.38.1.tar.gz rm mediawiki-1.38.1.tar.gz

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

$ gzip -dc mediawiki-1.38.1.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.

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í.

MediaWiki version:
1.18

Pokud nepoužíváte profilování, ale máte soubor StartProfiler.php v kořenové složce MediaWiki, můžete obdržet chyby odkazující na /includes/Profiler.php. Tuto chybu vyřešíte odstraněním nebo přejmenováním souboru StartProfiler.php. Soubor StartProfiler.sample, také v kořenové složce MediaWiki, může sloužit jako šablona, pokud v budoucnu povolíte profilování.

MediaWiki version:
1.23

MediaWiki 1.23 zavrhuje mechanismus automatického zjišťování vzhledu souborů jádra. Po aktualizaci na tuto verzi byste se měli ujistit, že byly odstraněny staré soubory Chick.php, Nostalgia.php, Simple.php a Standard.php přímo v adresáři skins/ a také příslušné podsložky v adresáři skins/. Pokud budou nějaké z nich i potom nalezeny, vydá MediaWiki, pro vaši kontrolu, varování. (Budete také muset upravit všechna vlastní zobrazení, aby se řídila podobnou konvencí.) Podrobnosti najdete na stránce Manual:Skin autodiscovery .

MediaWiki version:
1.24

MediaWiki 1.24 mění cesty základních souborů zobrazení. Po aktualizaci na tuto verzi byste měli zajistit, aby staré soubory CologneBlue.php, Modern.php, MonoBook.php a Vector.php přímo v adresáři skins/ již neexistovaly. Podrobnosti najdete na stránce Manual:Skin autodiscovery .

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í

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í

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í.

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 se také pokusí stáhnout všechny chybějící závislosti, které MediaWiki potřebuje.

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 maintenance a spusťte skript aktualizace:

$ php 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 php update.php). 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.

Může se zobrazit zpráva, že vaše verze PHP je příliš stará a že MediaWiki potřebuje novější verzi. Po této zprávě se aktualizace přeruší. Důvodem této chyby je, že příkazový řádek může použít jinou verzi PHP než verzi, kterou máte, když spustíte MediaWiki z webového serveru. Když se zobrazí tato zpráva, měli byste zkontrolovat, zda můžete spustit novější verzi PHP na shellu pomocí jiného příkazu: Může to být např. být php5 nebo php56. Pokud je k dispozici jiná verze a - pokud ano - pod jakým jménem, záleží na nastavení vašeho serveru. Pokud to nefunguje, zeptejte se svého hostitele. Určitě to budou vědět.

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.

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ě "neočekávané T_STRING" chyby

Pokud spouštíte update.php z příkazového řádku, může se objevit následující chyba:

syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' \
in ~/maintenance/commandLine.inc on line 13

K této chybě dochází, když je update.php spuštěn z php4.

Ti, jejichž web hostují poskytovatelé, kteří poskytují php4 i php5, by měli provést následující kroky:

  1. Z příkazového řádku zadejte příkaz 'whereis php5'.
  2. Jakmile zjistíte umístění cesty php5, vypište obsah adresáře php5/bin.
  3. Jakmile určíte název spustitelného souboru PHP (PHP nebo php5), zadejte celou cestu a spusťte update.php.

Níže je uveden příklad:

$ command -v php5
$ ls -la /usr/local/php5/bin
$ /usr/local/php5/bin/php update.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č

MediaWiki version:
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/. Pokud je například vaše wiki na http://example.org/w/index.php, přejděte na http://example.org/w/mw-config/.
  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.37.0 do 1.37.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?

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) . Potom spusťte update.php a potom nastavte v nabídce LocalSettings.php možnost $wgLegacyEncoding na kódování dříve používané wiki (např. Windows-1252). To je v podstatě způsob, jak byly stránky Wikipedie a další stránky Wikimedia Foundation aktualizovány z verze MediaWiki 1.4 na 1.5 - viz příslušný soubor nastavení (Varování: Obrovská stránka!). Některé související poznámky 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.

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!

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, Git jej však 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. Upravte databázi do režimu jen pro čtení vložením následující proměnné do LocalSettings.php ve starém adresáři - uživatelé uvidí tuto zprávu, pokud se během procesu aktualizace pokusí upravit stránku:
    $wgReadOnly = 'Upgrading to MediaWiki 1.38.1';
    • Toto již nefunguje od verze MediaWiki 1.27, což také zabraňuje spuštění aktualizačního skriptu. Řešení verzí od MediaWiki 1.27 a mladších najdete v Manual:$wgReadOnly#Upgrading . Viz také úkol T151833.
  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.

Proč aktualizovat?

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

Protože je aktualizace obvykle snadná. Jeden krok od vaší staré verze k nejnovější a také jednoduše přes web.

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í ). Díky tomu jsou desítky dobrých důvodů pro doporučené pravidelné aktualizace!

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í. V případě, že potřebujete další argumenty, abyste přesvědčili své šéfy pro aktualizaci z velmi staré verze, je zde shrnutí:

  • Od verze 1.5 lze úpravy prohlížet před uložením jako rozdíl v porovnání s původním stavem.
  • Od verze 1.9 je k dispozici tlačítko zpět.
  • Od verze 1.12 je sledování na Nových stránkách mnohem jednodušší.
  • Od verze 1.13 můžete přejmenovat (nebo přesunovat) soubory.
  • Od verze 1.14 můžete automaticky opravit dvojitá přesměrování.
  • Od verze 1.16 je k dispozici InstantCommons .
  • Pokud máte vhodné ukládání do mezipaměti, od verze 1.17 ResourceLoader silně optimalizuje rychlost načítání stránky.
  • Od verze 1.17 je zařazení kategorie třídění smysluplné! Zejména u neanglických textů. Rozšířeno na 68 jazyků 1.21 .
  • Od verze 1.18 a 1.19 jsou uživatelé všech jazyků a pohlaví správně osloveni rozhraním a protokoly (do verze 1.15, oslovení podle pohlaví nebylo).
  • Ve verzi 1.19 byl systém zobrazování přepracován, což usnadňuje opětovné použití částí existujících zobrazení ve vašich vlastních zobrazeních.
  • Od verze 1.20 jsou rozdíly čitelnější.
  • Ve verzích 1.21 a 1.23 jsou emailová oznámení jasnější a předvídatelnější, takže vaše wiki bude efektivnější.
  • Od verze 1.22 je boj s vandaly (hlídání proti napadení) méně časově náročný.
  • Ve verzi 1.24 bylo vylepšeno úložiště hesel. Pro zajištění lepšího zabezpečení wiki.
  • Od verze 1.25, jsou k dispozici vylepšené poslední změny
  • Ve verzi 1.26 byl vylepšen mechanismus "ResourceLoader"
  • Ve verzi 1.27 byla přepracována správa relací a kompletně modernizována správa autentizace uživatelů. InstantCommons již nevyžaduje místní soubory.
  • Od verze 1.28 se zlepšila mezipaměť vykreslovaného HTML stránek článků.
  • Od verze 1.29 bylo API přepracováno a vylepšeno. Nyní lze také provést přiřazení skupiny uživatelů na volitelné období. Povoleno blokování rozsahu IP adres.
  • Od verze 1.30 nemohou blokovaní uživatelé změnit svůj email. Přidána možnost vyhledávat příspěvky v rozsahu IP na Special:Contributions.
  • Od verze 1.31 jsou nyní některá rozšíření součástí jádra, například OATHAuth , MultimediaViewer , Nuke . Bylo představeno Skin:Timeless . Přidán výchozí limit rychlosti úprav 90 úprav/minutu pro všechny uživatele.
  • Od verze 1.32 podporuje MediaWiki více než 350 jazyků.
  • Od verze 1.33 podporuje MediaWiki "částečné bloky", kde lze IP adresám a účtům omezit úpravy konkrétních stránek nebo jmenných prostorů.
  • Od verze 1.34 , více rozšíření součástí jádra: Scribunto (pro moduly Lua), TextExtracts , PageImages .
  • Od verze 1.35 (stabilní vydání dlouhodobé podpory) jsou VisualEditor součástí jádra. Funkci "hodinky" lze rozšířit o data vypršení platnosti.

Také jsme ve verzi MediaWiki 1.18 začali sdružovat některá důležitá rozšíření, jako je lepší editor a nástroje proti vandalismu ConfirmEdit a Nuke. Další rozšíření byla přidána v pozdějších vydáních.

Související stránky