Migrace Joomla

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]
English Česky Dutch