Migrace prezentace v Joomle má dva procesy: musíte nejprve překopírovat data z FTP a také databázi.
Kopírování prezentace (obvyklá metoda)
Prvním krokem je zazálohování veškerých dat vaší prezentace. Existuje mnoho pluginů, které tuto operaci provedou za vás. Nejlépe však uděláte, pokud použijete nějaký FTP program, např. FileZilla, připojíte se na hostitelský server a zkopírujete si všechny soubory a složky webové prezentace do svého počítače. To zahrnuje také soubor .htaccess, který je nastaven jako skrytý. Proto nastavte vašeho FTP klienta tak, aby zobrazoval i skryté soubory. V závislosti na počtu obrázků a dalších souborů může kopírování chvíli trvat. Zatímco bude probíhat stahování dat můžete si exportovat databázi.
Export databáze
Export databáze je jednoduchý proces, který vyžaduje pouze několik kroků. Stačí se přihlásit např. přes phpMyAdmin, vyberte požadovanou databázi v levém sloupci a klikněte na záložku Export v navigačním menu. Ponechte výchozí nastavení – tedy způsob exportu Rychlý a formát SQL.
Vytvoření databáze
Pro migraci Joomla je potřeba vytvořit databázi na vašem novém serveru. Jak vytvořit databázi na našem serveru se dozvíte zde.
Zapište si někam název databáze, uživatelské jméno a heslo. Budete je potřebovat v dalších krocích.
Import databáze
Nyní když již máte vytvořenou databázi na novém hostingu můžete začít proces importu. Spusťte si phpMyAdmin (odkaz naleznete v administraci hostingového účtu v sekci “ÚČET - STAV” u kolonky “Administrace MySQL5 databází) a v levém sloupci vyberte požadovanou databázi. Poté klikněte na navigačním menu na záložku Import a vyberte SQL soubor z počítače, který jste dříve exportovali.
Nahrání dat na nový hosting
Nyní můžete nahrát veškerá data na nový hosting. Opět použijte některý z FTP programů a nahrajte data do správného adresáře, kam je nasměrována vaše doména.
Změna souboru configuration.php
Pro chod Joomly na novém serveru je potřeba upravit soubor configuration.php, upravte následující řádky:
var $host = 'localhost';
var $user = 'nazev_databaze';
var $db = 'nazev_databaze';
var $password = 'heslo_databaze';
var $live_site = ''; //zůstává většinou prázdné.
Joomla již nyní bude fungovat i když budou špatně nastavené cesty pro $log_path a $tmp_path, ale nebudete moci instalovat nové rozšíření. Přihlaste se do administrace.
V Joomle 2.5 běžte do Stánka » Systémové informace » Práva složek
V Joomle 3 běžte do Systém » Systémové informace » Práva složek
Podívejte se na konec těchto čtyř řádků:
cache (Cache Directory) Writable
administrator/cache (Cache Directory) Writable
/var/www/neco/dalsi/slozka/domena.cz/logs/ (Log directory) Unwritable
/var/www/neco/dalsi/slozka/domena.cz/tmp (Temp directory) Unwritable
Pokud jsou $log_path a $tmp_path nezapisovatelné, je potřeba změnit hodnoty v souboru configuration.php. Jak doplnit správné cesty pro $log_path a $tmp_path naleznete zde.
Kopírování prezentace s užitím příkazového řádku v SSH (pro pokročilejší uživatele)
Kopírování souborů pomocí metody komprimovaného archivu
Kopírování velkého počtu souborů pomocí protokolu FTP může být někdy zdlouhavé a nespolehlivé. Jednodušší a rychlejší variantou je archivovat všechny soubory do jednoho a poté jej přenést a rozbalit až na cílovém serveru.
Vytvoření archivního souboru
Na linuxových systémech můžete využít gzip program pro vytvoření .zip souboru, nebo tar pro vytvoření .tar.gz či tar.bz2 souboru. Pro detailní instrukce využijte příkazu man gzip nebo man tar v příkazové řádce. Příklad:
tar cvfz joomlazaloha.tar.gz /cesta-k-joomle
Vytvoří se gzip komprimovaný soubor, nazvaný joomlazaloha.tar.gz, který obsahuje všechny soubory Joomla prezentace.
Extrahování komprimovaného souboru
Poté, co jste zkopírovali archivovaný soubor na cílový server, je potřeba jej rozbalit. Použijeme ekvivalentní příkaz, který jsme použili pro zabalení.
cd /cesta-k-joomle
tar xvfz joomlazaloha.tar.gz
Kopírování databáze MySQL přes příkazový řádek
Můžete využít příkaz mysqldump pro vytvoření kopie databáze:
$ mysqldump -u user -p db-name > db-name.out
Po překopírování na cílový server již stačí pouze databázi naimportovat pomocí příkazu:
/usr/bin/mysql --force -u [DB] -p[HESLO] [DB] < [SOUBOR.SQL]