Často je omíláno téma, jak přesunout fórum na jiný hosting, ukážeme si několik základních pouček, samotný postup a rady k zajištění zobrazení správné diakritiky po přesunu. Pusťme se tedy to toho.
Záloha a kódování
První krok co uděláme před čímkoliv, je, že si zazálohujeme soubory fóra, stejně je budeme potřebovat stáhnout, abychom je mohli přesunou na jiný server. Dále se přihlásíme do phpMyAdminu, a zjistíme si, v jakém kódování jsou uloženy tabulky a jak je nastaveno porovnávání(collation). Tato informace se nám může hodit v případných problémech s kódováním. Poté můžeme začít se samotným přesunem.
Přesun fóra
Nalogujeme se do administrace, a zvolíme položku Konfigurace. Budeme upravovat dvě hodnoty: Jméno domény a cestu ke skriptům, upravíme je tak, aby souhlasili s naším novým umístěním fóra. Pokud bychom to neudělali teď, museli bychom to dělat později přímo v databázi, jinak by se nám nepodařilo přihlásit k staronovému fóru. Poté přikročíme k fyzickému přesunu souborů.
Přes FTP nebo jinak přesuneme všechny soubory z phpBB na nový server, poté co se všechny úspěšně nahrály, budeme muset upravit soubor config.php, jeho obsah vypadá nějak takto:
Ponecháme, pokud nepoužívá nový server jiný druh databáze
Kód:
$dbhost = 'localhost'; --> Změníme na nový databázový server, který nám poskytne hoste
$dbport = ''; --> Nevyplňujeme
$dbname = 'nazev_databaze'; --> Změníme na nový název nové databáze
$dbuser = 'uzivatel_databaze'; --> Změníme na uživatelské jméno nové databáze
$dbpasswd = 'heslo_databaze'; --> Změníme na nové heslo k databázi
$table_prefix = 'phpbb_'; --> Necháme jak je
define('PHPBB_INSTALLED', true);
define('DEBUG', true);
?>
Poté co upravíme konfigurační soubor, nahrajeme i databázi. Návod je opět v sekci Návody a tutoriály. Až si tedy budeme jisti, že máme správně nahranou původní databázi i soubory, zkusíme se přihlásit na fórum. Pokud je vše v pořádku, a funguje tak jak má, tak máme hotovo a můžete směle pokračovat na novém serveru!
Čtěte zde, pokud je vaše databáze větší než 20MB, nebo máte s přesunutím menší databáze: Pokud máte takto velkou databázi, nembo máte problém s nahráním menší kvůli limitům na hostingu, zazálohujte databázi po tabulkách(budou jich řádově desítky), zálohujte všechny, kromě phpbb_search_results, phpbb_search_wordlist a phpbb_search_wordmatch, u kterých zálohujete jen strukturu - nikoliv data. Poté na novém hostingu nainstalujete na novém hostingu DB Maintenanci(zde k stažení, čeština u nás v sekci K stažení) (nebo MOD Rebuilding Search Index, zde), a pomocí těchto modů v uvedených tabulkách data obnovíte. Tento trik vám ušetří zhruba polovinu práce při přesouvání databáze - uvedené tabulky totiž zabírají přes polovinu jejich objemu (pro představu - každá z nich obsahuje kolem 150000 záznamů) Navíc je jeho použití nezbytné v případě, že na hostingu je omezená velikost uploadovaných souborů, nebo počet dotazů do databáze. Díky za tip R-Stickovi
Případné potíže
Špatná diakritikaV případě, že přesunujete na nebo z serveru, který má nainstalovanou verzi MySQL nižší než verzi 4.11, se můžete setkat s problémem se správnou znakovou sadou, která se projeví špatně zobrazenou českou diakritikou. Jako české kódovaní lze použít v databázi unicode(utf-8), latin2_czech_cs(ISO-8859-2), nebo cp1250_czech_cs(Windows-1250). Pokud se na novém hostingu ukládají v jiném, budeme muset přidat k skriptu pro připojení k databázi příkaz, které kódování se má při spojení použít.
Toto uděláme v souboru mysql4.php(nebo jiném, podle druhu databáze), nachází se v složce /db/, za:
Kód:
$dbselect = mysql_select_db($this->dbname);
přidáme toto:
Kód:
mysql_query("SET NAMES 'cp1250'");
kde cp1250 ponecháme, nebo nahradíme za "latin2" nebo "utf8", podle toho, jaké bylo kódování v původní databázi.
Nelze se přihlásit
Tady se občas objeví problém, že vás při přihlašování na nové fórum systém přesměruje na staré, je to tím, že jste nazměnili položky názvu serveru a cesty ke skriptům, jak bylo řečeno, to budete muset udělat nyní přímo v databázi, jde o řádky server_name a script_path v tabule phpbb_config