Protože Joomla! 1.5 už je poměrně stařičká záležitost, která ztratila podporu svých tvůrců, nastal čas upgradovat weby na které na 1.5 běžely. Protože jsem přečetl hezkou řádku návodů jak na to, v první řadě jsem si dal na čas. V klidu jsem počkal a přeskočil tak verze Joomly s jepičím životem 1.6. a 1.7. a dočkal se i aktualizace všech mnou potřebných modulů a komponent. Upgrade jsem také využil k tomu že jsem přemigroval některé weby na jiný hosting.

Proč jsou aktualizace důležité?

Open source systémy jsou poměrně snadným a častým cílem útoků, jelikož útočníci mají také k dispozici zdrojové kódy, můžou tedy tyto zdrojové kódy prozkoumat s cílem najít bezpečnostní chyby, které můžou zneužít (mimo jiné) k nahrání škodlivého kódu do prostoru domén.

Je tedy je velmi důležité sledovat vývoj open source systémů, tedy zda byly vydány bezpečnostní aktualizace samotné aplikace a také všech doplňků. Častou aktualizací aplikace a jejích doplňků se minimalizuje riziko útoku na Vaše stránky.

Proč je to tak složité?

Jelikož je jádro systému ve verzi 2.5 odlišné od verze 1.5, nedojde jen k inkrementačnímu nahrání nových souborů, ale ke kompletně nové instalaci, přičemž musí dojít k přemigrování obsahu pro novou verzi a následnému nahrání komponent a modulů v nových verzích. To přináší problémy ve chvíli, kdy používáte komponentu nebo modul, které nepodporuje verze 2.5. To samé se týká i šablon, které se musí kompletně předělat, nebo použít nové

Proč jsem neupgradoval rovnou na Joomla 3.1.?

Ze stejného důvodu ze kterého jsem nespěchal s migrací z verze 1.5.. Ne vše je již doladěno a i já se s verzí 3.1. teprve seznamuji. Navíc od verze Joomla 2.5 je možné aktualizovat celou aplikaci včetně komponent pomocí administračního rozhraní aplikace. Po přihlášení do administrační části se kontrola aktualizací provede automaticky, aktuální stav se zobrazí na místě označeno červeným rámečkem na obrázcích níže. Stačí tedy na vyznačené tlačítka kliknout, poté zahájit aktualizaci na následující stránce kliknutím na tlačítko "Instalovat aktualizaci"

Příprava na upgrade

Ještě než začnete s migrací měli byste udělat několik věcí.

  1. Předně musíte zkontrolovat, jestli verze PHP a MySQL na vašem serveru odpovídají požadavkům nové verze Joomla!. Stejně tak prověřte, jestli server vyhovuje požadavkům komponenty jUpgrade.
  2. Zkontrolujte aktuálnost Joomla verze 1.5. Je nutné aktualizovat na poslední verzi, která k polovině března, kdy je psán tento článek, je 1.5.26. Komponenta jUpgrade nepodporuje starší verzi než 1.5.19.
  3. Prověřte, jestli rozšíření, která používáte jsou kompatibilní s verzí 2.5. Používáte-li rozšíření AdminPraise, Kunena, K2, JoomComment, Virtuemart, redSHOP, CommunityBuilder, JCE, Contact Enhanced, JomSocial a pár dalších, tak jste vysmátí, protože jUpgrade tyto komponenty migruje automaticky (zde je celý seznam podporovaných rozšíření). V případě jiných rozšíření prověřte možnost upgrade na stránkách výrobce.
  4. Prověřte, jestli jste neupravovali některé ze souborů jádra. Soubory se kompletně nahrají nové.
  5. Prověřte, jestli je vaše šablona kompatibilní s novou verzí systému (o tom trochu níže).
  6. Zkontrolujte, jestli nemáte problémy s právy na složkách. Zjistíte to jednoduše tak, že kliknete v menu na Pomoc / Systémové informace a následně Práva složek.

Záloha staré instalace

Upgrade staré stránky nijak neovlivní, ale pro jistotu je dobré mít zálohu k dispozici. Zálohu stránek můžete provést pomocí rozšíření Akeeba Backup, které vám vytvoří zabalený soubor pro jednoduchou instalaci. Já jsem nepoužil žádné rozšíření ale vytvořil jsem zálohu manuálně. Původní Joomlu jsem zkopíroval pomocí FTP klienta (např. pomocí programu Total Commander) a z PhpMyAdmin vyexportoval i kompletní databázi.

Jaké komponenty použít?

Všeobecně se dá říct že vše záleží na vašich zkušenostech, složitosti webu, množství použitých rozšíření a také na tom, zda chcete použít stávající šablonu, kterou budete muset jak jsem již zmínil celou přepracovat, nebo zda si vyberete nějakou  novou. Rozhodně je právě migrace webu vhodnou příležitostí dát vašemu webu modernější tvář.

Můžete použít komponentu jUpgrade. Nainstalujte ji na systém. Dále je důležité zapnout zásuvný modul (plugin) Mootools Upgrade Plugin. Jednoduše vlezte v administraci do správce rozšíření / správce zásuvných modulů a modul s názvem System - Mootools upgrade zapněte. S ohledem na použitou češtinu je možné, že se bude jmenovat trochu jinak, na to pamatujte. Při migraci nedojde ke smazání původního systému, pokud to v komponentě jUpgrade výslovně nepovolíte (což doporučuji nedělat). Přejděte na komponentu jUpgrade a klikněte na volbu Parametry. Zde si můžete nastavit, co všechno se bude provádět a v případě jakýchkoliv problémů s upgrade vás čeká návrat do této sekce. Dobrá funkce je Enable migration debug, protože se dozvíte, kde vznikly problémy. klikněte na Start jUpgrade. Pokud možno, používejte poslední verzi komponenty jUpgrade, je ale možné, že v rámci migrace neproběhne instalace na nejnovější verzi Joomly, takže budete muset pak ještě upgradovat (ale na to vás Joomla 2.5 sama upozorní, což je jedna ze skvělých funkcích nového systému).

Pokud nedojde k žádné chybě, systém se upgraduje sám. Novou verzi pak naleznete v adresáři /jupgrade, kde můžete otestovat, jestli vše proběhlo v pořádku, případně něco doladit.

Jiný způsob migrace pomocí jUpgradePRO. Postup migrace se liší pouze v tom, že nejdříve si musíte nainstalovat novou verzi aplikace Joomla 2.5 (příp. 3.2). Do ní si nahrajete komponentu jUpgrade, zadáte přihlašovací údaje ke staré instalaci Joomla 1.5 a spustíte proces migrace. Mě se tento způsob osvědčil více. 

Upřímně řečeno, ne všechno proběhlo bez problémů a stejně jsem musel spoustu věcí nakonec udělat ručně.

A co dál?

Pokud ale vše proběhne hladce, máte upgradovanou základní instalaci Joomly. Nyní je potřeba doinstalovat aktuální jazykové balíčky, a také vybrat šablonu. Můžete si upravit i tu původní z verze 1.5., návod naleznete třeba zde, ale já raději zvolil šablonu novou.

Dalším krokem byla a aktualizace komponent. Poměrně snadné to bylo s komponenty Phoca, kde jsem postupoval podle následujícího návodu a vše proběhlo bez problémů. U jiných komponet mne čekalo pracné kopírování dat v databázi a vkládání do příslušných tabulek.

Závěr

No nakonec se všechno podařilo, u některých webů to bylo složitější, ale nakonec vše šlape jak má.

Po několika upgradovaných webech se mi nakonec nejvíce osvědčila tato metoda:

  • Na subdoméně nebo v samostatné složce nainstaluji nejnovější verzi Joomly důležité je použít jiný prefix než v Joomla 1.5. (použít můžete stávající databázi)
  • Nainstaluji všechny potřebné moduly a komponenty vč. jUpgradePRO.
  • Nainstaluji a podle potřeby doladím šablonu.
  • Pomocí jUpgradePRO importuji základní data Joomly.
  • Případně importuji i data do dalších komponent.
  • V případě, že web funguje jak má, můžu ho nakopírovat pomocí FTP do kořenového adresáře místo původní Joomly.
  • Nazapomeňte správně nastavit absolutní cestu Složky záznamů a Dočasné složky.
  • Nesmíme také zapomenout na složku s obrázky a další složky se soubory které najsou v základní instalaci Joomly.

Čerpáno z www.joomlaportal.cz, www.joomla-web.cz a z navody.c4.cz
Případné dotazy pište do komentářů.