Nedávný článek o nejběžnějších chybách webmasterů mě inspiroval k napsání tohoto návodu, jak zazálohovat web v Joomla! a jak z této zálohy web obnovit v případě, že dojde k nějakému problému, např. napadení hackery, zhroucení webu vlivem nekompatibility rozšíření s novou verzí Joomla! nebo když vám webhosting smaže web, protože jste zapomněli zaplatit prodloužení.
Asi nejpopulárnějším rozšířením pro zálohování webů je komponenta Akeeba Backup. Tato komponenta má verzi zdarma i placenou, která obsahuje navíc možnost nastavení automatického zálohování pomocí CRONu, zálohování do cloudu, zasílání záloh emailem a další funkce.
Zálohování webu pomocí Akeeby je poměrně jednoduché, a navíc si k ní můžete stáhnout češtinu. Největší výhodou je, že Akeeba vám do jednoho souboru (výchozí formát JPA nebo můžete nastavit ZIP či jiný) uloží jak soubory webu, tak databázi, nemusíte tedy stahovat hromadu souborů přes FTP a exportovat databázi.
Akeeba navíc automaticky zálohuje web při každé aktualizaci Joomla!, takže i kdyby se stalo, že vám po aktualizaci naběhne místo webu bílá stránka (k čemuž může dojít např. proto, že některé z rozšíření není kompatibilní s novou verzí Joomla!), máte k dispozici zálohu, ze které můžete vrátit web do původního stavu.
Nastavení komponenty Akeeba Backup
Ve výchozím nastavení komponenty se ukládá záloha ve formátu JPA do složky administrator/components/com_akeeba/backup, ale tuto cestu si můžete změnit v Konfiguraci, stejně jako rozsah zálohy (kompletní web, pouze databáze, přírůstky).
Samotnou zálohu pak vytvoříte jednoduše kliknutím na tlačítko Zahájit zálohování. Soubor ses zálohou si pak můžete stáhnout přes FTP nebo z odkazu v logu, ale vzhledem k velikosti souboru doporučuji spíše FTP.
Obnova webu ze zálohy
Při obnově nahrajete do složky soubor zálohy ve formátu JPA a soubory kickstart.php a jazykový soubor en-GB.kickstart.ini, a do prohlížeče zadáte adresu složky a za lomítko kickstart.php (např. domena.cz/kickstart.php).
Nejprve klikněte na odkaz v následujícím informačním popupu:
Dojde k rozbalení balíčku a spuštění standardního instalačního průvodce Joomla!. Klikněte na tlačítko Run.
Poté klikněte na tlačítko Next.
Vyplňte údaje k databázi. Jako typ vyberte MySQLi a doporučuju změnit prefix z jos_ na něco jiného. Pro obnovu si můžete vytvořit novou prázdnou databázi, abyste nepřepisovali tu původní a měli ji jako zálohu.
Nastavte si název stránky, email, účet administrátora a opět klikněte vpravo dole na tlačítko Next.
A pak už si stačí jen vybrat, jestli chcete první zkontrolovat web z frontendu, jak jej vidí návštěvníci, nebo začít napravovat tu paseku v backendu.:-)
raději napište, že s kickstart.php nahrajete soubor cs-CZ.kickstart.ini
teď už jsem shnila to znovu screenshotovat, já nikdy českej kickstart neměla, ale jde stáhnout pravděpodobně na té stejné adrese, kde byl ten nový kickstart. Takže kdo neumí anglicky, nechť si stáhne český kickstart a pokračuje obdobně, ale v češtině
en-GB soubor potřeba není, stačí jen kickstart.php. V prof. verzi je ale nutné kickstart.php přejmenovat na něco jiného, jinak se nespustí. Např. na "obnova.php" nebo cokoliv - je to bezpečnostní kontrola, aby si někdo kickstart.php nenechal na FTP a pak se nedivil, že mu web "zmizel" :)
V nastavení bývá ještě dobrým zvykem nastavit si složku záloh mimo kořenový adresář Joomly, lze použít makro [ROOTPARENT], tedy např. [ROOTPARENT]/backups. Je pak větší jistota, že se k záloze nedostane někdo neoprávněný. U větších webů (hlavně co se obrázků týče) bych také doporučil vytvořit si profil s vynecháním složky images, jinak jsou zálohy monstrózně velké.
Ahoj,
jojo čeština je na stejné stránce.
Další poznámka je k údržbě záloh. Je dobré zálohy promazávat, abychom nevyčerpali diskovou kvótu
A ještě jedna zkušenost - novější PHP používá cachování pomocí OPcache. Na některých serverech to může vést ke "kousnutí" zálohování. V tom případě pomůže přidat třetí soubor - .htaccess s řádkem:
php_flag opcache.enable Off
Bohužel žádný nástroj nenahradí inteligenci. Osobně používám Akeebu pro migrace webů a provozní zálohy. Na běžnou zálohu mám zálohování hostingu:-)
HonzaG
Jazykové verze jsou na webu akeebabackup.com hodně skryty, jsou zde - https://cdn.akeebabackup.com/language/kickstart/index.html
Je pravda, že se zálohy mohou nechat na hostingu. Tam je trošku problém, že není časově shodná záloha FTP a databáze. A některé hostingy si za obnovu nechají pořádně zaplatit.
Zvláště hostingy s tzv. neomezeným prostorem si hodně hlídají, aby jste si na nich nechávali zálohy. Pak vám vyhrožují, že už vám prostor nikdy automaticky nezvýší.
Určitě se akeeba vyplatí pro vlastní zálohy při změnách na webu (před změnami) a pro přesuny na jiný webový prostor.
Jinak si musíte zálohy hlídat a automaticky je z webu stahovat a mazat.
Já jako nejvýhodnější vidím zakoupit akeeba pro a ta umožňuje zálohy automaticky přesouvat na google drive (nejen tam).
Automatickou zálohu při aktualizaci joomly zajišťuje plugin Systém - záloha před aktualizací. Já osobně ho mívám vypnutý, aby mě neotravoval, ale bežným uživatelů ho důrazně doporučuji mít zapnutý.
PS - proč zde není editor a jen prostý text?
Jak už psal HonzaG. Každý rozumný hosting má zálohování, takže zálohovat automaticky navíc k tomu mi přijde jako plýtvání zdroji. Akeeba je fajn záležitost na drobné weby a při migraci na jiné domény, ale určitě je vhodné zálohy z webu odmazávat (uchovávat jinde). Dále používat striktně JPA, protože použití ZIP nesmyslně přetěžuje hosting, např. nechat dělat 4GB web Akeebou do ZIP je vysloveně prasárna nejvyššího kalibru. V každém případě, pokud chce mít admin maximální kontrolu a jistotu nezbývá, než klasické FTP a phpmyadmin.
Jasně, já na Akeebě vítám hlavně tu zálohu při aktualizaci - protože, přátelé, záloha z hostingu, kdo ví kdy dělaná, je vám na prd ve chvíli, kdy se vám web promění v bílou stránku po aktualizaci např. vinou nekompatibilního pluginu. Živé weby a eshopy potřebují databázi pár minut před zhroucením, ne obnovovat z týden staré zálohy.
To zálohování nad rootem používám samo taky a kickstart.php po instalaci mažu. Určitě je dobré si tu poslední zálohu stáhnout k sobě a na hostingu to promáznout, protože třeba WEDOS to netoleruje, když se tam hromadí zálohy a taky k čemu je vám záloha na hostingu, který vám smazali, protože klient zapomněl zaplatit prodloužení, že...
2Petra: Jako majiteli hostingu pro mě zní dost strašidelně část věty "záloha z hostingu, kdo ví kdy dělaná". To snad je zcela jasná věc, zmíněná v dokumenatci k hostingu. Např. u nás je dělaná každý den v cca 0:00 - 4:00 minimálně 14 dnů zpětně. Uchovávána ve více lokalitách, tzn. "když celá Praha lehne polelem, pořád jsou ty data v Brně". Takže za mě je to stoprocentně spolehlivá věc. Samozřejmě chápu, že se lépe obnovuje záloha, kterou si čloěk udělá sám, než záloha hostingu, o kterou např. u nás musíte požádat. Nicméně pravidla: 1. POUZE JPA 2.zálohy stahovat 3. weby nad 1GB dělat ručně.
Záloha, kterou dělá hosting je jedna věc, ale u webů, kde je velmi frekventovaný pohyb nad databází (e-shopy atp.), tak je záloha 1x den zcela nedostačující. Tady je potřeba zálohovat alespoň databázi třeba 1x hodinu - nedovedu si představit, že by bez takto prováděné zálohy přišel frekventovaný e-shop o 1 den objednávek.