Rozhodl jsem se publikovat několik článečků pro zelenáče, neboť některé věci, které my pokročilejší považujeme za "přece naprosto jasné" mohou způsobovat problémy. Díly budou vycházet nepravidelně a bez zjevné koncepce.
Tento článek vznikl jako reakce na jeden konkrétní dotaz v diskuzi a protože se několikrát opakoval i v minulosti, rozhodl jsem se osvětlit to. Dotaz zněl, jak to zařídit, abych mohl na jedné databázi provozovat více Joomla instancí?
Nebojte se ničeho, je to celkem prosté. Začněme vstupními podmínkami. Zaplatil jsem si hosting a k němu doménu RUZNE.INFO. Můj hostingový poskytovatel mi umožňuje používat i domény třetího řádu. To se mi hodí, chci provozovat stránky http://polskepreklady.ruzne.info, http://britka.ruzne.info a http://rijnovky2006.ruzne.info.
Můj hostingový poskytovatel mi poskytl informace o databázi, kterou mohu využívat. Tato databáze se jmenuje RUZNE.INFO (tedy stejně jako doména), ale je to v tuto chvíli skoro nepodstatné. A tady začne zelenáč tápat. Mám jen jednu databázi, ale tři Joomly. Jak to zařídit? V rámci mého hostingu mám složku WWW a v ní tři podsložky POLSKEPREKLADY, BRITKA a RIJNOVKY2006. Správce hostingu také zajistil, že když někdo vypíše do adresního řádku adresu např. http://polskepreklady.ruzne.info, bude automaticky přesměrován do obsahu složky POLSKEPREKLADY.
Asi se dovtípíte, že potřebné nastavení musíme provést již při instalaci Joomly!. Stáhněte si ji, přes FTP uložte a spusťtte instalaci.Projděte krokem jedna (kontrola parametrů), projděte krokem 2 (souhlas s licencí) a dostaňte se na krok 3. Na této obrazovce na vás čeká zadání parametrů. Nejdříve je to HOST NAME (jméno serveru, kde je v rámci hostingu nainstalován databázový server) , pak MYSQL USERNAME a MYSQL PASSWORD (údaje, které jednoznačně charakterizují uživatele hostingu), MYSQL DATABASE NAME (jméno databáze, v mém případě RUZNE.INFO) a poslední, pro nás v tuto chvíli nejdůležitější pole - MYSQL TABLE PREFIX. Standardně je předplněno jpd_ a změnou tohoto řetězce můžete říci, jaké tabulky budou v rámci databáze (v mém případě RUZNE.INFO) použity pro instalaci této instance Joomly. Protože se jedná o stránky POLSKEPREKLADY.RUZNE.INFO, bude dobre, když budou tabulky nějak jednozančně opticky charakterizované. Jako prefix (neboli česky předponu) zvolím řetězec PREKL_ a dokončím instalaci.
Poté se ve složce WWW/POLSKPREKLADY objeví kompletní instalace Joomly, která bude využívat databázi RUZNE.INFO a tabulky začínající PREKL_.
Celý postup zopkauji pro stránky BRITKA.RUZNE.INFO. Opět pomocí FTP nakopíruju Jomlu do příslušné složky na hostingovém serveru (WWW/BRITKA) a spustím instalaci. Při třetím kroku opět zadávám stejné informace jako v případě POLSKEPREKLADY.RUZNE.INFO, jen do políčka MYSQL TABLE PREFIX zadám místo PREKL_ další předponu, třeba BRITKA_ a instalaci dokončím.
Pro třetí web je to asi jasné. Vše bude opět stejné, jen MYSQL TABLE PREFIX uvedu RIJN_ a dokončím instalaci.
Výsledkem všech kroků je, že ve třech složkách (POLSKEPREKLADY, BRITKA a RIJNOVKY2006) mám tři samostané instalace Joomly! (stejné soubory, při výchozí instalaci) a všechny tři používají stejnou databázi RUZNE.INFO, ale každá instalace používá své vlastní tabulky odlišené předponou (prefixem). V instalaci se například nachází tabulka pojmenovaná CONTENT a v databázi ji najdete celkem třikrát. Jednou jako PREKL_CONTENT, BRITKA_CONTENT a RIJN_CONTENT. Jedná se o tři samostatné tabulky a proto je možné mít ve třech instalacích tři samostatné a naprosto nezávislé stránky, používající jednu databázi.
Je to výhodné např. pro zálohování databáze, protože spuštěním zálohy zálohujete troje stránky naráz. Množství samostatných instancí v jedné databázi není omezeno, jste omezeni pouze místem, které může zabírat vaše databáze v rámci hostingu.
Při nahrávání pomocí FTP si pak musíte dávat pozor, kam kopírujete dané soubory, je nutno zvolit správnou složku. Pokud však instalujete komponenty/moduly pomocí správcovské části nemusíte se bát. Vše je automaticky ošetřeno.
Pokud můžete používat nástroj PHPMyAdmin, můžete se na strukturu standardní instalace podívat a vše vám bude jasnější.
Toto řešení tedy zabírá místo jako tři samostatné Joomly (včetně tabulek), jen je používána jen jedna databáze (RUZNE.INFO) se počtem tabulek třikrát vyšším, než u jedné Joomly. A to potřebujeme.