Jump to content

Příručka:Rozšíření/Instalace a aktualizace

From mediawiki.org
This page is a translated version of the page Manual:Extensions/Installation and upgrade and the translation is 100% complete.

Po instalaci je MediaWiki připravena přijímat rozšíření. Chcete-li přidat rozšíření, postupujte takto:

Než začnete

  • Některá rozšíření poskytují pokyny určené pro instalaci pomocí unixových příkazů. Chcete-li zadat tyto příkazy uvedené na stránkách nápovědy k rozšíření, potřebujete přístup shell (SSH).
  • Tato stránka předpokládá, že nastavení vašeho webu je v souboru s názvem LocalSettings.php , ale pokud používáte jiný soubor, například ve wiki farmě, pokyny by měly být stejně relevantní.

Stáhněte si rozšíření

Získejte souborový balíček

Pro každé rozšíření si přečtěte jeho dokumentaci, abyste zjistili vhodná umístění a metody stahování. Mezi běžné způsoby stahování rozšíření patří:

  1. Distributor rozšíření vám pomůže vybrat a stáhnout většinu oblíbených rozšíření, i když ne všichni vývojáři rozšíření to nutně doporučují.
  2. Seznam rozšíření uložených v úložišti Git Wikimedia je umístěn na git:mediawiki/extensions.
  3. Některá rozšíření jsou také dostupná prostřednictvím:
    1. Balíčků
    2. Composer u, správce závislostí pro knihovny PHP. Mnoho rozšíření lze nebo by mělo být instalováno pomocí Composeru. Pro více informací pokračujte na stránku Composer/For extensions .
    3. Úložiště balíčků
  4. Některá rozšíření nepoužívají správu verzí a nejsou doporučena.

Přidejte balíček do složky /extensions

Rozšíření jsou obvykle distribuována jako modulární balíčky. Obecně se ukládají do vlastního podadresáře $IP /extensions/.

Složku souborů můžete přidat ručně nebo ji nechat přenést automaticky, pokud používáte něco jako Git nebo Composer.

Nainstalujte rozšíření

  1. Vždy zkontrolujte požadavky a pokyny, které jsou součástí každého rozšíření. Následující shrnutí platí pro většinu rozšíření, ale mnoho rozšíření vyžaduje provedení různých a nebo dalších kroků.
  2. Ujistěte se, že jsou nastavena požadovaná oprávnění.
  3. Na konec souboru LocalSettings.php přidejte:
    wfLoadExtension( 'ExtensionName' );
    
    Tento řádek nutí interpret PHP číst soubor rozšíření, a tím jej zpřístupnit MediaWiki.

Starší způsob instalace pomocí require_once a způsob migrace naleznete v pokynech níže.

  1. Nakonfigurujte v případě potřeby nebo přání. Nastavení konfigurace by mělo být obvykle přidáno po včetně rozšíření. Podrobnosti naleznete v pokynech k rozšíření.
  2. Možná budete muset spustit údržbový skript, například přidat potřebné databázové tabulky.
  3. Máte hotovo!

Možné problémy

  • Některá rozšíření mohou být v konfliktu se skripty údržby, například pokud přímo přistupují k $_SERVER (nedoporučuje se). V tomto případě mohou být zabaleny do podmíněného stavu, takže skripty údržby mohou stále běžet.
    if ( !$wgCommandLineMode ) {
    wfLoadExtension ( 'ExtensionName' );
    }
    
  • Skript údržby importDump.php selže pro jakékoli rozšíření, které vyžaduje přizpůsobené jmenné prostory, které jsou zahrnuty uvnitř výše uvedené podmínky, například Rozšíření:Semantic MediaWiki , Rozšíření:Page Forms .

Přidat více rozšíření do wfLoadExtensions()

Zejména pokud máte velký počet přípon, může být užitečné přidat je jako pole do wfLoadExtensions() (s množným číslem -s) namísto jejich přidávání do samostatných instancí wfLoadExtension() (jednotné číslo). Chcete-li například nainstalovat Cite, ParserFunctions a SpamBlacklist, můžete napsat:

wfLoadExtensions( [ 'Cite', 'ParserFunctions', 'SpamBlacklist' ] );

Tato metoda má jedno omezení, a to, že nemůžete ukazovat na vlastní umístění souborů, jak je vysvětleno v této sekci.

Aktualizace rozšíření

Některá rozšíření vyžadují aktualizaci při každé aktualizaci MediaWiki, zatímco jiná pracují s více verzemi.

Aktualizace na novou verzi rozšíření:

  1. Stáhněte si novou verzi rozšíření
  2. Nahraďte všechny soubory rozšíření v adresáři extensions/<ExtensionName> novými soubory. Neodstraňujte konfiguraci rozšíření přítomnou v LocalSettings.php
  3. Pokud rozšíření vyžaduje změny v databázi MediaWiki, budete muset spustit údržbový skript update.php . Většina rozšíření uvede, zda je potřebné tento skript spustit nebo ne. (Před spuštěním skriptu proveďte zálohu dat). Pokud nemáte přístup z příkazového řádku, můžete použít také webový aktualizátor.
  4. Dokumentace k rozšíření vám obvykle řekne, co ještě musíte udělat.


Odinstalace

  1. Chcete-li rozšíření odinstalovat, odstraňte příslušné řádky z LocalSettings.php (wfLoadExtension s názvem rozšíření a také případné řádky pro související konfigurační nastavení).
  2. Případně odstraňte balíček souboru ze složky /extensions.


Pokročilé

Vlastní umístění

Toto je nutné provést před načtením jakýchkoli rozšíření nebo vzhledů z nestandardních umístění adresáře:

Pokud svá rozšíření uchováváte na jiném místě než $IP/extensions, musíte přepsat $wgExtensionDirectory , nebo použít druhý parametr wfLoadExtension(), abyste určili adresář, ve kterém se má rozšíření najít.
Pokud je jedno nebo více vašich rozšíření uloženo v dalších umístěních, použijte druhý parametr wfLoadExtension() k určení umístění souboru .json pro každé z těchto rozšíření.
wfLoadExtensions() (množné číslo) vždy používá $wgExtensionDirectory a nelze je přepsat.
$wgExtensionDirectory = '/some/path';
wfLoadExtension( 'FooBar' ); // Vypadá to, že je to $wgExtensionDirectory za /some/path/FooBar/extension.json.
wfLoadExtension( 'Hello', '/some/other/path/HelloV2/Hello.json' ); // Hledá na /some/other/path/HelloV2/Hello.json
Pokud vaše vzhledy nejsou v $IP/skins, musíte přepsat špatně pojmenovaný $wgStyleDirectory , nebo použít druhý parametr wfLoadSkin(), abyste určili adresář, ve kterém se má vzhled najít.
Pokud je jeden nebo více vašich vzhledů uložen v dalších umístěních, použijte druhý parametr wfLoadSkin() k určení umístění souboru .json pro každý z těchto vzhledů.
wfLoadSkins() (množné číslo) vždy používá $wgStyleDirectory a nelze jej přepsat.
$wgStyleDirectory = '/my/skins';
wfLoadSkins( [ 'BarBaz', 'BazBar' ] ); // Vypadá to na $wgStyleDirectory místo /my/skins/BarBaz/skin.json a /my/skins/BazBar/skin.json.
wfLoadSkin( 'BamBam', '/yet/another/path/BamBam/skin.json' ); // Hledá na /yet/another/path/BamBam/skin.json

Migrace z require_once

Před MediaWiki 1.25 byla konfigurace pro rozšíření a vzhledy prováděna v souboru PHP pomocí názvu přípony nebo vzhledu, například MyExtension.php nebo MySkin.php. Chcete-li nainstalovat rozšíření s LocalSettings.php, použijte require_once k volání tohoto souboru PHP:

require_once "$IP/extensions/Hello/Hello.php";
require_once "$IP/extensions/FooBar/FooBar.php";
$wgFooBarEnable = true;
require_once "$IP/skins/Baz/Baz.php";
require_once "/tmp/extension/some/where/else/BarFoo/BarFoo.php";

Pokud jsou rozšíření dostatečně aktuální, aby podporovala aktuální registrační systém, převedli byste to na:

wfLoadExtensions( [ 'Hello', 'FooBar' ] );
$wgFooBarEnable = true;
wfLoadSkin( 'Baz' );
wfLoadExtension( 'BarFoo', '/tmp/extension/some/where/else/BarFoo/extension.json' );