Příznivci publikačního systému WordPress určitě zaregistrovali, že před pár dny se objevila nová verze tohoto systému, s označením 2.8. Jak ovšem vyřešit otázku upgradu, například z předchozí verze 2.7.1, aby nedošlo ke ztrátě dat a funkčnosti? Tento článek vám detailně poradí, jak na to.

Na začátku článku vás chci upozornit, že tento článek nemůže postihnout všechny možné problémy, na které můžete při upgrade WordPressu narazit. Postup, který obecně přináší nejméně problémů, spočívá v pravidelném upgrade WordPressu vždy po hlavních stabilních verzích, např. z verze 2.7 na verzi 2.8. Takový upgrade je v drtivé většině případů bezproblémový. Nicméně při upgradu přes několik verzí (např. z verze 2.2 na verzi 2.8) můžete narazit na občasné problémy, a pokud si s nimi nevíte rady, zkuste využít Českou poradnu pro WordPress nebo komentáře pod tímto článkem.

Tak, nezbytný úvod máme za sebou, pojďme na to.

Krok první – stažení nové verze WordPressu

Pokud ještě z nějakého důvodu nemáte staženou novou verzi WordPressu 2.8, učiňte tak nyní. Naleznete ji na adrese http://wordpress.org/download/. Po stažení ji rozbalte někde na svém počítači.

Krok druhý – záloha MySQL databáze

Ačkoliv tento krok není nutný, pro klid duše ho rozhodně doporučuji. Jak ovšem zálohovat databázi, když vám podobné věci absolutně nic neříkají? Možnosti jsou tři:

  • Zavolat na technickou podporu svého poskytovatele webhostingu a poprosit je o zálohu databáze.
  • Zálohovat databázi prostřednictvím phpMyAdmin.
  • Nainstalovat do WordPressu nějaký zálohovací plugin, který za vás udělá zálohu databáze.

Záloha databáze prostřednictvím phpMyAdmin

Většina poskytovatelů webhostingu umožňuje spravovat MySQL databáze prostřednictvím rozhraní phpMyAdmin. Postup není příliš složitý a myslím si, že s pomocí tohoto článku ho zvládne i méně zkušený uživatel. Přihlašte se do webového rozhraní phpMyAdminu. (Informace, jak to udělat, vám poskytne váš poskytovatel webhostingu.) V levém sloupci okna phpMyAdmina klikněte na název databáze pro zobrazení tabulek. Poté přejděte do pravé části okna, kde klikněte na záložku Export, viz obrázek 1.

phpMyAdmin - záložka Export

Obrázek 1. Nástroj phpMyAdmin – záložka Export.

Zde můžete specifikovat parametry exportu. Pokud tomu moc nerozumíte, klidně ponechte výchozí hodnoty. Pokud vaše databáze obsahuje velké množství dat, v dolní části záložky Export, v sekci „Do souboru“ zatrhněte položku „zazipováno“, čímž bude záloha databáze zkomprimována, viz obrázek 2.

Zazipování zálohy

Obrázek 2. Nástroj phpMyAdmin – zazipování zálohy.

Pak už jenom klikněte na tlačítko Proveď a zvolte umístění souboru zálohy na vašem počítači.

Záloha databáze prostřednictvím pluginu

Pokud se nechcete obtěžovat s phpMyAdminem, můžete použít nějaký plugin do WordPressu pro zálohu databáze. Z vlastní zkušenosti doporučuji plugin WordPress Database Backup, který naleznete na http://wordpress.org/extend/plugins/wp-db-backup/. Plugin jednoduše stáhněte, rozbalte a nahrajte přes FTP do adresáře /wp-content/plugins/ na vašem serveru.

Poté v administračním rozhraní WordPressu klikněte v levém sloupci na panel Pluginy a aktivujte jej. Poté jděte do Nástroje -> Backup, čímž otevřete stránku s názvem Backup. Zde můžete specifikovat tabulky, které se budou exportovat (lze exportovat i tabulky jiných aplikací), zvolit, zdali se záloha uloží na server, na váš počítač (soubor zálohy se nabídne ke stažení), nebo se odešle na specifikovaný e-mail (tato volba je pochopitelně vhodná pouze pro malé zálohy o velikosti několika MB). Také můžete naplánovat pravidelné zálohy, například jednou za hodinu, dvakrát denně, jednou denně atd.

Když vlezete do Nástroje -> Backup, občas se mohou objevit tyto chybové hlášky, viz obrázek 3.

WordPress Database Backup - chybová hláška

Obrázek 3. Chybová hláška nástroje WordPress Database Backup.

Jde o to, že WordPress Database Backup zjistil, že adresář, který chce plugin použít pro zálohy, není zapisovatelný. Jedná se o adresář /wp-content/backup-XXXXX, kde XXXX je nějaký náhodně vygenerovaný název. Pokud se tyto chybové hlášky objeví i vám, neházejte flintu do žita a požádejte technickou podporu vašeho webhostera, ať učiní adresář /wp-content/ zapisovatelným, nebo se můžete pokusit ručně prostřednictvím FTP vytvořit adresář zmiňovaný v chybové hlášce (zde /wp-content/backup-e5757/), což většinou pomůže. (Mě to například pomohlo.)

Jakmile je všechno v pořádku, v sekci Backup Options stačí specifikovat, kam se uloží záloha a kliknout na tlačítko Backup Now, viz obrázek 4.

Volby pro zálohování

Obrázek 4. Možnosti pro zálohování.

Pak už zbývá jenom počkat, až záloha proběhne, viz obrázek 5.

Probíhající zálohování

Obrázek 5. Právě probíhající zálohování.

Zálohu máme hotovou, v noci můžeme klidně spát.

Pokud se upgrade na novou verzi WordPressu náhodou nepodaří a dojde k poškození databáze nebo rovnou ke ztrátě dat (nevím ale o nikom, komu by se něco tak ošklivého přihodilo), prostřednictvím phpMyAdmina naimportujte zpět vaši zálohu databáze.

Krok třetí – deaktivace všech pluginů

Tento krok – stejně jako zálohování – není nutný, nicméně ho opět doporučuji nepřeskakovat. Některé pluginy, které používáte, totiž nemusí pracovat s novou verzí WordPressu. Pluginy lze prostřednictvím administračního rozhraní deaktivovat velmi snadno – v levém sloupci klikněte na panel Pluginy a u všech aktivních pluginů klikněte na odkaz deaktivovat.

Krok čtvrtý – odstraňování starých souborů

V tomto kroku jde do tuhého :-). Přes FTP klienta smažte všechny soubory s WordPressu s výjimkou adresáře wp-content, který obsahuje pluginy a motivy vzhledu (tj. veci, o které byste neradi přišli), a soubor wp-config.php, který obsahuje přístupové údaje k vaší databázi.

Abych byl konkrétní – vymažte adresáře wp-admin, wp-includes . Také vymažte všechy soubory WordPressu v kořenovém adresáři (rootu) kromě souboru wp-config.php, viz obrázek 6.

Vymazané soubory a adresáře WordPressu

Obrázek 6. Adresáře a soubory WordPressu jsou fuč.

Krok pátý – nahrání nejnovější verze WordPressu

Nyní na server nahrajte nejnovější verzi WordPressu (v našem případě verzi 2.8) s výjimkou adresáře wp-content (abyste si případně nepřepsali modifikované výchozí motivy vzhledu WordPressu), viz obrázek 7.

Krok šestý – nahrání nejnovějších pluginů

Protože se chystáme přejít na novou verzi WordPressu, bude vhodné zkontrolovat, zdali neexistují nějaké novější verze pluginů, které používáte. Nové verze pluginů vyhledávejte na adrese http://wordpress.org/extend/plugins/. Zde opět platí to, co už jsem říkal dříve o WordPressu – jakmile se objeví nová verze nějakého pluginu, který používáte, doporučuji jej vždy aktualizovat na novou verzi. Problémům je vždy nejlepší předcházet.

Krok sedmý – upgrade databáze

Ačkoliv tento sedmý krok vypadá komplikovaně, je to triviální záležitost. Otevře si váš oblíbený prohlížeč a zadejte tuto URL adresu:

http://www.NazevBlogu.cz/wp-admin/upgrade.php

Následně by se vám měla načíst stránka s nadpisem Database Upgrade Required, viz obrázek 7.

Database Upgrade Required

Obrázek 7. Je potřeba upgradovat databázi WordPressu.

Klikněte na tlačítko Upgrade WordPress Database a počkejte, až celý proces proběhne, viz obrázek 8.

Database Upgrade OK

Obrázek 8. Upgrade databáze byl úspěšný.

Pokračujte kliknutím na tlačítko Continue, které načte úvodní stránku vašeho blogu. Přihlašte se do administračního rozhraní, aktivujte předtím deaktivované pluginy a pusťte se do objevování možností nové verze WordPressu.

Poznámka na závěr

A ještě drobná poznámka na konec. Ačkoliv WordPress umožňuje automatickou aktualizaci na novou verzi prostřednictvím panelu Nástroje -> Aktualizace, spoustě uživatelů to nefunguje a objeví se jim chybová hláška v následujícím tvaru:

Warning: ftp_rawlist() [function.ftp-rawlist]: open_basedir restriction in effect. File(/tmp) is not within the allowed path(s): (/www/sites/1/site11321) in /www/sites/1/site11321/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 203
Warning: ftp_rawlist() [function.ftp-rawlist]: Unable to create temporary file. Check permissions in temporary files directory. in /www/sites/1/site11321/public_html//wp-admin/includes/class-wp-filesystem-ftpext.php on line 203
Nepodařilo se najít adresář WordPressu.
Instalace selhala

Jedná se o problém hostingu (řešení, které vám někdy můžete pomoci, naleznete zde). V takovém případě doporučuji použít ruční aktualizaci popisovanou zde ve článku.

5 Příspěvků v diskuzi

  1. Aneb, jak z jednoduchého ctrl+c a ctrl+v udělat dlouhý článek.. Ale je to pěkně a detailně popsany.. :-) pochvala

  2. Radek: no, clanek lze pouzit pri upgrade jakekoliv verze. Verze 2.8 je ve clanku zminena pouze pouze, ze je zrovna aktualni.

    Jinak verzi 2.8 pouzivame i zde na interval.cz a nerekl bych, ze tam je spousta novych chyb. Nekolik ale urcite. Na jednu z nich jsem narazil – pametova narocnost nastenky, kdy se nastenka nenacte cela. Ale verze 2.8.1 by to mela spravit.

  3. Hezky sepsáno, ale proti překladu původního návodu bych doplnil např. doporučení jak během upgradu zablokovat web návštěvníkům (.htaccess, vybrat vhodnou dobu,..) a ohledně pořadí bych prvně provedl upgrade samotných pluginů a pak teprve WordPress bez jejich vypínání.

Odpovědět