Bezpečnosť

Ako bezpečne presunúť Joomla stránku na nový hosting

Ako bezpečne presunúť Joomla stránku na nový hosting

Presun Joomla stránky na nový hosting patrí medzi bežné úlohy správcu webu. Dôvodom môže byť vyšší výkon, lepšia technická podpora, novšia verzia PHP, nižšia cena alebo nespokojnosť so súčasným poskytovateľom.

Samotný presun však nie je iba obyčajné skopírovanie priečinka cez FTP. Funkčná Joomla stránka pozostáva minimálne z dvoch rovnako dôležitých častí – súborov a databázy. Oficiálna dokumentácia Joomla presne na tomto princípe opisuje kopírovanie webu: preniesť treba všetky súbory a zároveň databázu, v ktorej je uložený obsah a veľká časť konfigurácie.

Ak presun urobíte systematicky, možno web premiestniť s minimálnym výpadkom a zároveň výrazne znížiť riziko poškodenia alebo straty údajov.


Presun hostingu nie je upgrade Joomla

Najskôr je dobré rozlíšiť dve operácie.

Migrácia na nový hosting znamená, že rovnakú Joomla stránku prenesiete zo servera A na server B.

Typicky zostáva zachované:

  • rovnaké jadro Joomla,
  • rovnaká šablóna,
  • rovnaké komponenty a pluginy,
  • rovnaký obsah,
  • rovnaká doména.

Upgrade Joomla znamená prechod na inú hlavnú verziu, napríklad z Joomla 5 na Joomla 6.

Hoci možno obidve operácie technicky spojiť, pri bežnom produkčnom webe je bezpečnejšie vykonať ich oddelene. Najskôr úspešne premiestnite funkčný web na nový hosting a až potom, ak je to potrebné, riešte väčší upgrade.

Znižujete tým počet premenných. Ak sa objaví problém, viete jednoduchšie určiť, či ho spôsobil hosting alebo aktualizácia CMS.


1. Najskôr skontrolujte nový hosting

Ešte pred objednaním hostingu si overte, či technické prostredie vyhovuje vašej Joomla stránke.

Skontrolujte najmä:

  • podporovanú verziu PHP,
  • MySQL alebo MariaDB,
  • potrebné PHP rozšírenia,
  • pamäťový limit PHP,
  • maximálnu veľkosť uploadu,
  • dostupnosť HTTPS,
  • možnosť vytvoriť databázu,
  • prístup cez SFTP alebo SSH,
  • cron alebo plánované úlohy, ak ich web používa,
  • systém záloh poskytovateľa.

Dôležitá nie je iba požiadavka samotnej Joomla.

Kompatibilné musia byť aj:

  • šablóna,
  • template framework,
  • page builder,
  • e-shop,
  • formulárové komponenty,
  • bezpečnostné rozšírenia,
  • ďalšie doplnky.

Napríklad staršie rozšírenie môže fungovať na PHP 8.1, ale nemusí fungovať na PHP 8.4.


2. Pred presunom aktualizujte – ale nie všetko naraz

Ak je web dlhodobo neudržiavaný, neodporúča sa tesne pred migráciou vykonať desať veľkých aktualizácií súčasne.

Najskôr si vytvorte zálohu.

Potom môžete nainštalovať najmä:

  • bezpečnostné aktualizácie Joomla,
  • kritické bezpečnostné opravy rozšírení.

Veľký upgrade Joomla alebo zásadnú zmenu šablóny však radšej nechajte na obdobie po úspešnom presune.

Cieľom migrácie je preniesť známy funkčný stav.


3. Urobte inventúru webu

Pred presunom si zapíšte aspoň základné informácie.

Joomla

  • verzia Joomla,
  • verzia PHP,
  • používaná databáza,
  • veľkosť databázy.

Rozšírenia

  • šablóna,
  • template framework,
  • page builder,
  • zálohovací komponent,
  • bezpečnostné rozšírenia,
  • formuláre,
  • e-shop alebo ďalšie kritické komponenty.

Hosting

  • DNS nastavenia,
  • e-mailové schránky,
  • subdomény,
  • cron úlohy,
  • presmerovania,
  • SSL certifikát.

Takýto jednoduchý záznam výrazne pomôže, ak po presune zistíte, že niečo chýba.


4. Vytvorte kompletnú zálohu

Toto je najdôležitejší krok celého procesu.

Záloha musí obsahovať:

všetky súbory Joomla + kompletnú databázu.

Oficiálna dokumentácia Joomla rovnako rozdeľuje kopírovanie stránky na tieto dve časti.

Zálohu možno vytvoriť:

  • nástrojom hostingu,
  • cez cPanel/Plesk,
  • manuálne cez SFTP + phpMyAdmin,
  • pomocou špecializovaného Joomla zálohovacieho rozšírenia.

Joomla User Manual pri zálohách uvádza, že úplná záloha účtu môže obsahovať súbory a konfiguráciu a môže byť použitá aj na presun účtu na iný server.


Manuálna záloha súborov

Ak chcete použiť manuálny postup:

  1. pripojte sa cez SFTP alebo správcu súborov hostingu,
  2. vytvorte ZIP/TAR archív celého webu,
  3. stiahnite ho do svojho počítača.

Nezabudnite na:

  • configuration.php,
  • .htaccess,
  • skryté súbory,
  • vlastné adresáre mimo štandardnej Joomla štruktúry.

Pri tisícoch malých súborov býva spoľahlivejšie vytvoriť archív priamo na serveri a preniesť jeden veľký súbor než všetko kopírovať jednotlivo cez FTP.


Manuálna záloha databázy

Databázu možno exportovať napríklad cez phpMyAdmin.

Oficiálna Joomla dokumentácia priamo uvádza phpMyAdmin ako jednoduchý spôsob exportu a importu databázy pri kopírovaní webu.

V phpMyAdmin:

  1. vyberte databázu Joomla,
  2. zvoľte Export,
  3. exportujte všetky tabuľky,
  4. výsledný .sql alebo komprimovaný súbor bezpečne uložte.

Aj materiály vo vašej Joomla knižnici upozorňujú, že databáza predstavuje jadro webovej aplikácie a na jej správu sa na hostingoch bežne používa phpMyAdmin.


5. Pri aktívnom webe minimalizujte zmenu údajov počas kopírovania

Tento krok je mimoriadne dôležitý pri:

  • e-shopoch,
  • rezervačných systémoch,
  • komunitných stránkach,
  • weboch s registráciami,
  • stránkach s častými komentármi alebo formulármi.

Predstavte si, že databázu exportujete o 20:00, ale DNS prepnete až o 22:00.

Počas týchto dvoch hodín môže na starom serveri vzniknúť:

  • objednávka,
  • používateľský účet,
  • nový článok,
  • rezervácia.

Tieto údaje v skopírovanej databáze nebudú.

Bezpečnejší postup

Tesne pred finálnym presunom:

  1. zapnite režim Site Offline,
  2. vytvorte poslednú databázovú zálohu,
  3. preneste ju na nový server,
  4. dokončite migráciu,
  5. až potom stránku znova sprístupnite.

Joomla dokumentácia pri vytváraní konzistentnej zálohy odporúča pred zálohovaním databázy web dočasne prepnúť do offline režimu.

Pri malom prezentačnom webe to nemusí byť také kritické, ale pri e-shope môže byť rozdiel zásadný.


6. Vytvorte na novom hostingu databázu

Na novom serveri vytvorte:

  • novú databázu,
  • nového databázového používateľa,
  • silné náhodné heslo.

Databázovému používateľovi priraďte potrebné oprávnenia iba pre túto konkrétnu databázu.

Oficiálna dokumentácia Joomla popisuje vytváranie MySQL databázy a používateľa napríklad prostredníctvom cPanelu alebo phpMyAdmin.

Je lepšie používať:

web A → používateľ A → databáza A

než jedného databázového používateľa pre všetky weby na hostingu.


7. Nahrajte súbory na nový server

Na novom hostingu nahrajte kompletný obsah Joomla webu do správneho document root adresára.

Môže to byť napríklad:

public_html

www

htdocs

alebo adresár konkrétnej domény.

Po rozbalení skontrolujte, či sú priamo v koreňovom adresári dostupné typické Joomla súbory a priečinky, napríklad:

administrator/

components/

modules/

plugins/

templates/

configuration.php

index.php

Ak po rozbalení vznikne štruktúra typu:

public_html/zaloha/web/index.php

hoci web má byť v:

public_html/index.php

stránka nebude fungovať na očakávanej adrese.


8. Importujte databázu

Na novom hostingu otvorte phpMyAdmin alebo iný databázový nástroj.

Vyberte novú prázdnu databázu a použite Import.

Nahrajte SQL export zo starého servera.

Po dokončení skontrolujte, či sa vytvorili Joomla tabuľky, napríklad tabuľky končiace na:

_content

_users

_extensions

_modules

Skutočný prefix sa bude líšiť podľa konkrétnej inštalácie.


9. Upravte configuration.php

Po presune sa často zmenia databázové prihlasovacie údaje.

V súbore:

configuration.php

preto treba skontrolovať najmä:

public $host = 'localhost';
public $user = 'novy_pouzivatel';
public $password = 'nove_heslo';
public $db = 'nova_databaza';
public $dbprefix = 'abc_';

Prefix tabuliek musí zodpovedať importovanej databáze.

Ak databáza obsahuje tabuľku:

x7d_users

potom prefix musí byť:

public $dbprefix = 'x7d_';

Prefix svojvoľne nemeňte iba preto, že meníte hosting.


Skontrolujte aj cesty k logom a dočasným súborom

Pri starších Joomla inštaláciách alebo po presune medzi veľmi odlišnými servermi môžu byť problémom absolútne cesty.

Skontrolujte najmä:

public $log_path = '...';
public $tmp_path = '...';

Ak ukazujú na starý server, Joomla môže mať problémy napríklad:

  • s inštaláciou rozšírení,
  • s aktualizáciami,
  • so zápisom logov.

10. Neprenášajte staré PHP nastavenia bez kontroly

Na starom hostingu môžete mať súbory:

.user.ini

php.ini

alebo vlastné pravidlá v .htaccess.

Neprenášajte ich automaticky bez kontroly.

Nový hosting môže používať:

  • inú verziu PHP,
  • iný PHP handler,
  • Nginx namiesto Apache,
  • odlišné bezpečnostné nastavenia.

Pravidlo fungujúce na pôvodnom serveri môže na novom vyvolať chybu 500 Internal Server Error.

Ak web po presune nefunguje, .htaccess patrí medzi prvé súbory, ktoré je vhodné preveriť.


11. Otestujte web ešte pred zmenou DNS

Ideálny presun neprebieha spôsobom:

nahrať web → zmeniť DNS → dúfať, že všetko funguje.

Najskôr treba nový server otestovať.

Možnosti závisia od hostingu:

  • dočasná URL,
  • technická subdoména,
  • úprava lokálneho hosts súboru,
  • staging doména.

Oficiálna Joomla dokumentácia pri migráciách rovnako odporúča pracovať s testovacou kópiou na subdoméne, podadresári alebo lokálnom zariadení ešte pred zásahom do produkčnej stránky.


12. Čo treba pred prepnutím DNS otestovať?

Nestačí otvoriť iba titulnú stránku.

Prejdite najdôležitejšie funkcie.

Frontend

  • Úvodná stránka sa zobrazuje.
  • Fungujú články.
  • Fungujú menu.
  • Načítavajú sa obrázky.
  • Fungujú CSS a JavaScript.
  • Fungujú SEF URL.
  • Neobjavujú sa chyby 404 alebo 500.

Administrácia

  • Funguje /administrator.
  • Funguje prihlásenie.
  • Funguje MFA.
  • Joomla dokáže zapisovať do potrebných adresárov.
  • Funguje kontrola aktualizácií.

Formuláre

  • Kontaktný formulár odošle e-mail.
  • Funguje registrácia, ak sa používa.
  • Fungujú vlastné formuláre.

Rozšírenia

  • Page builder.
  • Galéria.
  • Vyhľadávanie.
  • E-shop.
  • Rezervácie.
  • Newsletter.
  • Externé API.

Plánované úlohy

Ak Joomla alebo rozšírenia používajú cron, skontrolujte aj jeho nastavenie.


13. Otestujte odosielanie e-mailov

Toto je jedna z najčastejšie prehliadaných vecí.

Web sa môže zdať úplne funkčný, ale:

  • kontaktný formulár neposiela správy,
  • registrácia neodosiela potvrdzovací e-mail,
  • reset hesla nefunguje.

Nový server môže vyžadovať iné SMTP nastavenia.

Po migrácii preto vždy vykonajte reálny test odoslania správy.


14. Pripravte DNS na presun

Ak doména zostáva rovnaká, treba ju nasmerovať na nový server.

Môžete meniť napríklad:

  • A záznam,
  • AAAA záznam,
  • nameservery.

Ak máte DNS pod vlastnou kontrolou, je praktické deň alebo dva pred migráciou znížiť TTL, napríklad na 300 až 600 sekúnd.

Vďaka tomu sa po zmene IP môže nový záznam šíriť rýchlejšie.

Nie všetky DNS cache však musia TTL rešpektovať úplne presne, preto rátajte s tým, že určitý čas môžu návštevníci smerovať na oba servery.


15. Nezabudnite na e-mail

Ak hosting spravuje zároveň web aj e-mail, ide prakticky o dve samostatné migrácie.

Pred zmenou nameserverov skontrolujte:

  • MX záznamy,
  • SPF,
  • DKIM,
  • DMARC,
  • existenciu schránok,
  • preposielanie,
  • autorespondery.

Inak sa môže stať, že Joomla stránka funguje, ale firemný e-mail prestane prijímať správy.

Ak e-mail zostáva u pôvodného poskytovateľa, DNS nastavte tak, aby ste omylom nemenili jeho MX záznamy.


16. Zapnite HTTPS na novom serveri

Ešte pred ostrým spustením zabezpečte platný TLS certifikát.

Skontrolujte:

  • https://domena.sk,
  • https://www.domena.sk, ak používate www,
  • automatickú obnovu certifikátu,
  • presmerovanie HTTP → HTTPS.

Ak Joomla používa vynútené HTTPS a certifikát na novom serveri ešte nie je správne nastavený, môžete sa po migrácii dostať do problémov s presmerovaním alebo administráciou.


17. Skontrolujte bezpečnostné pravidlá

Nový hosting môže mať odlišné:

  • ModSecurity pravidlá,
  • WAF,
  • limity požiadaviek,
  • ochranu proti botom,
  • firewall.

To môže byť pozitívne, ale niektoré legitímne operácie Joomla alebo rozšírení môžu byť zablokované.

Preto vyskúšajte aj:

  • uloženie veľkého článku,
  • upload obrázka,
  • inštaláciu alebo aktualizáciu rozšírenia,
  • page builder,
  • formuláre.

18. Finálny presun urobte v kontrolovanom poradí

Pre produkčný web môže vyzerať finálny proces takto:

  1. Na starom serveri zapnite offline režim.
  2. Vytvorte poslednú úplnú zálohu.
  3. Exportujte poslednú verziu databázy.
  4. Importujte ju na nový hosting.
  5. Ak treba, synchronizujte súbory zmenené od prvého kopírovania.
  6. Skontrolujte configuration.php.
  7. Otestujte nový server.
  8. Prepnite DNS.
  9. Zapnite web na novom serveri.
  10. Otestujte frontend, administráciu a formuláre.

Takýto postup minimalizuje možnosť straty údajov medzi poslednou zálohou a spustením nového servera.


19. Starý hosting okamžite nemažte

Po prepnutí DNS ešte starý účet nerušte.

Odporúčam ho ponechať minimálne niekoľko dní, pri dôležitejšom webe pokojne dlhšie podľa podmienok poskytovateľa.

Starý server predstavuje dočasnú poistku.

Ak zistíte:

  • chýbajúci súbor,
  • problém s databázou,
  • nefunkčnú konfiguráciu,
  • zabudnutú e-mailovú schránku,

máte stále k dispozícii pôvodné prostredie.

Oficiálne migračné postupy Joomla rovnako počítajú s tým, že pôvodný web nie je potrebné odstraňovať okamžite po spustení novej verzie.


20. Zabráňte indexovaniu starej alebo testovacej kópie

Ak ste nový web testovali napríklad na:

test.domena.sk

nechcete, aby Google indexoval rovnaký obsah na dvoch adresách.

Testovaciu kópiu preto:

  • chráňte HTTP heslom,
  • obmedzte podľa IP,
  • alebo použite vhodné blokovanie indexácie.

Po úspešnom presune ju odstráňte.

To isté platí pre starú stránku, ak zostáva dostupná na technickej doméne pôvodného hostingu.


21. Po migrácii vymažte nepotrebné migračné súbory

Počas presunu môžu na serveri zostať:

backup.zip

site.jpa

database.sql

joomla-backup.tar.gz

Tieto súbory môžu obsahovať celý web vrátane citlivých údajov.

Po úspešnom presune ich preto odstráňte z verejne dostupného webového priestoru.

SQL export je obzvlášť citlivý, pretože môže obsahovať:

  • používateľské údaje,
  • e-mailové adresy,
  • konfiguráciu rozšírení,
  • ďalšie osobné alebo prevádzkové údaje.

Zálohu si uchovajte, ale na bezpečnom mieste mimo public_html.


22. Zmeňte heslá, ak ste ich počas migrácie zdieľali

Pri migrácii sa často dočasne zdieľajú:

  • SFTP účty,
  • databázové heslá,
  • hostingové prístupy,
  • administrátorské účty.

Ak ich dostala externá osoba alebo migračná služba, po ukončení práce:

  • zmeňte heslá,
  • zrušte dočasné účty,
  • skontrolujte administrátorov Joomla,
  • overte MFA.

To isté platí pre dočasné FTP účty.


23. Skontrolujte zálohovanie na novom serveri

Migráciou sa môže zmeniť aj systém záloh.

Po presune preto overte:

  • či automatické zálohy skutočne bežia,
  • kam sa ukladajú,
  • koľko verzií sa uchováva,
  • či zahŕňajú databázu,
  • či ich dokážete obnoviť.

Nespoliehajte sa iba na informáciu marketingového typu „hosting zálohujeme denne“.

Zistite:

  • aká je retencia,
  • či máte k zálohám prístup,
  • ako prebieha obnova,
  • či je služba zahrnutá v cene.

24. Sledujte web počas prvých dní

Nie všetky problémy sa prejavia okamžite.

Počas prvých dní po migrácii sledujte:

  • error log,
  • Joomla logy,
  • dostupnosť stránky,
  • odosielanie e-mailov,
  • cron úlohy,
  • zálohovanie,
  • zaťaženie servera,
  • chyby 404 a 500.

Niektorá funkcia sa môže spustiť iba raz denne alebo raz týždenne.


Najčastejšie chyby pri presune Joomla

Skopírované sú iba súbory

Výsledkom môže byť Joomla bez pôvodného obsahu alebo úplne nefunkčný web.

Riešenie: prenášať súbory aj databázu.


configuration.php stále obsahuje údaje starého servera

Typický výsledok:

Error displaying the error page: Could not connect to database

Skontrolujte databázový host, používateľa, heslo a názov databázy.


Nesprávny prefix tabuliek

Joomla sa pripojí k databáze, ale nenájde svoje tabuľky.

Skontrolujte $dbprefix.


Chybné PHP cesty

Staré $tmp_path alebo $log_path môžu spôsobovať problémy pri aktualizáciách alebo inštalácii rozšírení.


Nekompatibilná verzia PHP

Frontend môže skončiť bielou stránkou alebo chybou 500.

Skúste verziu PHP, ktorá zodpovedá pôvodnému funkčnému prostrediu, a potom riešte upgrade samostatne.


Zabudnuté cron úlohy

Web funguje, ale:

  • neodosiela plánované správy,
  • nečistí systém,
  • nespúšťa importy,
  • nevykonáva zálohy.

Cron treba na novom hostingu nakonfigurovať znovu.


Neotestovaný e-mail

Typický problém, ktorý používateľ odhalí až pri prvom resete hesla.


Bezpečný presun Joomla – rýchly checklist

Pred migráciou

  • Skontrolovať požiadavky nového hostingu.
  • Zapísať Joomla, PHP a databázovú verziu.
  •  Skontrolovať kritické rozšírenia.
  • Zálohovať súbory.
  • Zálohovať databázu.
  • Stiahnuť zálohu mimo servera.
  • Zaznamenať DNS a e-mailové nastavenia.
  • Pripraviť databázu na novom hostingu.

Na novom hostingu

  • Nahrať Joomla súbory.
  •  Importovať databázu.
  • Upraviť configuration.php.
  • Skontrolovať $tmp_path a $log_path.
  • Nastaviť vhodnú verziu PHP.
  • Nastaviť HTTPS.
  • Otestovať web ešte pred DNS.

Pred ostrým prepnutím

  • Zapnúť offline režim na starom webe.
  • Vytvoriť poslednú databázovú zálohu.
  • Synchronizovať najnovšie údaje.
  • Prepnúť DNS.
  • Otestovať frontend.
  •  Otestovať administráciu.
  • Otestovať formuláre a e-mail.
  • Otestovať MFA.
  • Otestovať cron úlohy.

Po migrácii

  • Skontrolovať HTTPS.
  • Skontrolovať logy.
  • Overiť automatické zálohovanie.
  • Odstrániť SQL a ZIP archívy z webového priestoru.
  • Odstrániť testovaciu kópiu.
  •  Zrušiť dočasné prístupy.
  •  Starý hosting ponechať dočasne ako poistku.

Manuálny presun alebo zálohovací komponent?

Obidva postupy majú svoje miesto.

Manuálny presun

Je vhodný, ak:

  • chcete presne vedieť, čo sa prenáša,
  • máte skúsenosti so SFTP a databázami,
  • web je veľký,
  • zálohovací komponent má problémy.

Jeho základný princíp je jednoduchý:

súbory → databáza → configuration.php → test → DNS.

Presun pomocou zálohovacieho nástroja

Je pohodlnejší pri bežných webových projektoch, pretože dokáže zabaliť Joomla súbory a databázu do jedného archívu a následne ich obnoviť na novom serveri.

Aj oficiálne Joomla migračné materiály pracujú so zálohovaním a obnovou ako štandardným spôsobom vytvorenia pracovnej alebo migračnej kópie stránky.

Bez ohľadu na nástroj však platí rovnaké pravidlo:

Pred zrušením starého hostingu musí byť nová Joomla stránka kompletne otestovaná.


Presun je zároveň dobrá príležitosť na bezpečnostný audit

Migrácia poskytuje vhodný moment na upratanie webu.

Po úspešnom presune môžete skontrolovať:

  • staré administrátorské účty,
  • nepoužívané komponenty,
  • zastarané pluginy,
  • staré šablóny,
  • PHP verziu,
  • databázové oprávnenia,
  • MFA,
  • HTTPS,
  • bezpečnostné hlavičky,
  • systém záloh.

Na nový hosting tak nemusíte preniesť roky nahromadených problémov bez toho, aby ste sa na ne aspoň pozreli.

Záver

Bezpečný presun Joomla stránky na nový hosting nie je komplikovaný, ak sa dodrží správne poradie krokov.

Najdôležitejší princíp možno zhrnúť takto:

zálohovať → preniesť súbory a databázu → upraviť konfiguráciu → otestovať → synchronizovať posledné zmeny → prepnúť DNS → znovu otestovať.

Oficiálna dokumentácia Joomla zdôrazňuje, že funkčná kópia stránky vyžaduje súčasne súbory aj databázu. Ak k tomu pridáte testovanie na novom serveri pred zmenou DNS a ponecháte si overenú zálohu aj pôvodný hosting ako dočasnú poistku, riziko migrácie možno výrazne znížiť.

Najväčšou chybou je zrušiť starý hosting hneď po skopírovaní súborov. Najbezpečnejší presun je taký, pri ktorom máte počas celého procesu aspoň jednu overenú cestu späť.

Image

môj CMS je slovenský informačný portál venovaný redakčnému systému Joomla. Prináša zrozumiteľné návody, praktické tipy, novinky, bezpečnostné upozornenia a informácie o aktualizáciách, šablónach a rozšíreniach pre začiatočníkov aj skúsených používateľov.