Návod na upgradování

This page is a translated version of the page Manual:Upgrading and the translation is 88% complete.

Základní přehled

Přenos souboru

Vyberte metodu přenosu souborů:

Na začátek

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

  1. Zkontrolujte požadavky
  2. Přečtěte si RELEASE-NOTES soubor
  3. Přečtěte si UPGRADE soubor
  4. Zálohujte stávající soubory a databázi
  5. Rozbalte nové soubory
  6. Aktualizujte rozšíření
  7. Spusťte aktualizační skript a zkontrolujte databázi
  8. Vyzkoušejte aktualizaci
  9. Odstraňte zbytky starých instalací

Požadavky na kontrolu

MediaWiki 1.37 vyžaduje:

  • PHP 7.3.19/7.4.3+
  • Jeden z následujících:
    • MySQL 5.5.8+ (nebo ekvivalentní MariaDB)
    • PostgreSQL 9.2+
    • SQLite 3.8+

Since Version 1.36, MediaWiki only commits to supporting upgrades from two LTS releases ago (see phab:T259771). Upgrades from older versions of MediaWiki will have to be performed in multiple steps. This means that if you want to upgrade to 1.36 from 1.23 or earlier, you'll first have to upgrade your 1.23 wiki to 1.27 (or 1.35), and, from 1.27 (or 1.35), you'll be able to upgrade to 1.36.

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

Pro více informací si prosím přečtěte Návod: Požadavky na instalaci a Kompatibilita .

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

V distribučním tarballu nebo v souborech rezervovaných / 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 čas jej otevřít a zjistit, co se v této verzi změnilo. You should also read the instructions in the UPGRADE file.

Vymazat nevyřešené ú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 vymažte frontu před provedením aktualizace.

Zálohujte stávající soubory a databázi

Úplné pokyny k zálohování jsou v: Návod: 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 vzhledů a rozšíření, zejména pokud jste je upravili.

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

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

Možná nemůžete příkaz spustit jako sudo, pokud nemáte úplná oprávnění pro zápis do instalačních adresářů wiki u aktuálního uživatele. 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.37/mediawiki-1.37.0.tar.gz tar -xvzf mediawiki-1.37.0.tar.gz rm mediawiki-1.37.0.tar.gz

Uživatelé systému (Open)Solaris by měli používat gtar nebo:
$ gzip -dc mediawiki-1.37.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, který 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 upload, 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 verz 1.24 v resources/assets/ nebo images/. Potom přidejte do LocalSettings.php např. $wgLogo = "$wgScriptPath/images/logo.png";
  • For 1.35 you may need to restore the logos from wgLogos. Then add to LocalSettings.php e.g. $wgLogos = [ '1x' => "path/to/1x_version.png", '2x' => "path/to/2x_version.png", 'svg' => "path/to/svg_version.svg" ];
  • Vlastní vzhledy 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 přejmenujte novou 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 Wikimedia. 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. You'll need to download patch to use this. Manually download and extract the patch file from the dumps site or follow the directions with wget below. Patches are incremental, you can not skip a version.

  1. cd do hlavního adresáře MediaWiki (adresáře s LocalSettings.php).
  2. Stáhněte soubor opravy a gunzip.
  3. Pomocí patch -p1 --dry-run zkontrolujte, co se změní (např., $Patch2)
  4. Pokud je vše v pořádku, spusťte znovu patch bez --dry-run.
  5. Zkontrolujte svou Special:Version a měli byste vidět nové číslo verze na místě.

Zbývající 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 profiling, ale máte soubor StartProfiler.php v kořenové složce MediaWiki, můžete obdržet chyby odkazující na /includes/Profiler.php. Deleting, or renaming, the StartProfiler.php file will resolve this error. The StartProfiler.sample file, also in the MediaWiki root folder, can serve as a template should you enable profiling in the future.

MediaWiki version:
1.23

MediaWiki 1.23 deprecates the skin autodiscovery mechanism of core skin files. After upgrading to this version, you should ensure that the old files Chick.php, Nostalgia.php, Simple.php and Standard.php directly in the skins/ directory as well as the according subfolders inside the skins/ directory got removed. MediaWiki will log warnings if any of them are still found to help you remember. (You will also need to adjust any custom skins to follow a similar convention.) See Manual:Skin autodiscovery for details.

MediaWiki version:
1.24

MediaWiki 1.24 mění cesty základních souborů skinů. 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 v $objevu.

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 takových rozšíření. Možná budete muset provést ruční aktualizace vlastních rozšíření.

Různé tarballs zahrnují některé podmnožiny rozšíření a mají verze, které vám pomohou aktualizovat výběr toho správného pro vaše hlavní vydání 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 více rozšíření, pak je pravděpodobně nejlepší stahování z Gitu. Pokud Git nemáte, ale chcete upgradovat 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ž upgradujete ze starších verzí než 1.24 a chcete mít k dispozici jedno z těchto zobrazení:

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

Další zobrazení nemusí být stále přizpůsobeny 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 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 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 jejich 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ě se podívejte na poznámky k vydání a podívejte se na tyto změny.

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 chybějící související soubory, 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 (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; bude to určitě vědět.

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 předat parametr --doshared, pokud chcete aktualizovat sdílené tabulky. V opačném případě se jich nedotkne aktualizační skript.

What to do if php update.php fails to do anything, resulting in a quick pause and then return to command prompt

This can be caused by a malfunctioning extension or skin.

  • Check that all extensions and skins called for in LocalSettings.php are present
  • Check that extensions are using the correct registration method (wfLoadExtension vs. require_once)
  • Comment out the first half of the extensions in LocalSettings.php.

If this causes update.php to work, uncomment half of that half (so 1/4 of the extensions). If this does NOT cause update.php to work, uncomment the first half but comment out the second half, and then comment out half of the second half, etc. Repeat until update.php works to find the one that is failing.

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

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

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

Měli byste zkontrolovat, 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.

V některých případech se zdá, že se pro aktualizaci názvu tabulky čte stará proměnná $wgDBmwschema (pro Postgres) místo $wgDBname, i když se používá mysql. Pokud je tomu tak, 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řejít na ~ / údržba (~/maintenance). Upravte existující soubor „php.ini“ nebo jej vytvořte.
  2. Přidejte řádek takto:
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 ručně zálohujte wiki před provedením údržby databáze.
  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í (nejpravděpodobněji pro short URLs), která vám nezobrazí aktualizátor na mw-config/, ale wiki stránku na Mw-config/, s velkým písmenem "M". V tomto případě přejmenujte soubor „.htaccess“ na čas aktualizace. Pak byste měli mít přístup k webovému aktualizátoru.

  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ě 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 Special:Version a zkontrolujte, zda je zobrazená verze správná a zda jsou přítomná rozšíření.

Odstraňte zbytky 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 zcela nepřístupněte z webu. Je velmi důležité nenechat staré instalace přístupné z webu, protože zcela překonává účel upgradu a ponechává váš server otevřený útokům.

Často kladené otázky (FAQ)

Jak těžké je 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ý. Množství lidské práce je jen pár minut. Změny schématu databáze zabere určitý čas úměrný velikosti vaší databáze - potenciálně hodiny pro wiki s miliony stránek, ale 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.36.0 do 1.36.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 vzhled nebo použijete vlastní vzhled, budete ho pravděpodobně muset upravit, aby znovu pracoval s novou verzí MediaWiki.

Namísto opravy vašich „globálních“ (global) souborů 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 se jedná o část databáze, která bude při aktualizaci znovu použita, 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 1.4 nebo starší, měli byste nejprve aktualizovat na 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 $Latin nastaven na true ve vašem LocalSettings.php ) . 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 Wikipedia a další stránky Wikimedia Foundation aktualizovány z MediaWiki 1.4 na 1.5 - viz relevant settings file (Varování: obrovská stránka!). Některé související poznámky na Wikitech. Možná budete muset aktualizovat na MediaWiki 1.4 před spuštěním skriptu aktualizací 1.5. Pokud chcete vytvořit výpis databáze (např. MySQL) vaší wiki Latin-1, ujistěte se, že typ pole old_text v textové tabulce text je mediumblob, nikoli mediumtext, aby nedošlo k problémům s kódováním znaků.

Pokud provádíte aktualizaci MediaWiki 1.5 nebo novější z verze 1.35, můžete aktualizovat v jednom kroku, ze staré na nejnovější stabilní verzi. 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 v seznamu adresátů. 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 upgradu 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!

If you are upgrading to MediaWiki 1.36 or later, only upgrades from the last two LTS releases will be supported (phab:T259771). This will mean that for very old versions, that you first upgrade to MediaWiki 1.35 and then upgrade to 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 upgradu může dojít k chybě PHP nebo MySQL, takže vaše databáze bude pouze částečně aktualizována. 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“ Poznámky 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 aktualizace nové verze zjistěte, zda je nutné provést nějaké změny v LocalSettings.php.
  4. Umístěte 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.37.0';
    • Toto již nefunguje od 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 aktuální k vždy 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, abyste mohli aktualizovat z velmi staré verze, zde je shrnutí:

  • Since 1.28 , the cache for rendered HTML of article pages improved.
  • 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í. Allow to block range of IPs.
  • Since 1.30 , the blocked users cannot change their email.

Added ability to search for contributions within an IP ranges at Special:Contributions.

The Skin:Timeless was introduced. Add default edit rate limit of 90 edits/minute for all users.

  • Since 1.32 , MediaWiki supports over 350 languages.
  • Since 1.33 , MediaWiki supports "partial blocks", where IPs and accounts can be restricted from editing particular pages or namespaces.

The "watch" feature can be enhanced with expiry dates.

Také jsme ve verzi MediaWiki 1.18 začali sdružovat některá důležitá rozšíření, jako 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