Právě prohlížíte: Úvod Články Komunita Joomlaportal.cz Zelenáč : Více Joomla instancí na jednom hostingu

19.
března
2007
Zelenáč : Více Joomla instancí na jednom hostingu Tisk Email
Napsal Svatopluk Vít   

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.

Komentáře (11)
  • lludvik  - Nápad pro vylepšení pro příští verze joo
    Bomba by byla kdybych na webu měl .php soubory jen jednou !
  • svatas  - Re : A co licence?
    Kde jsi přišel na to, že 1 Joomla = 1 subjekt only?

    Jsme v licenci GNU GPL...
  • michal.dusek  - A co licence?
    cau. A neodporuje to nahodou podmince licencovani? Jeden subjekt, jedna joomla jako free?
  • filbar  - Re:dodatek
    Citace:
    Pokud ovšem člověk ví, že je problém právě tam.

    Proto to sem píšu, aby to ti co si přečtou tento článek věděli.
  • Franta25  - Dodatek
    Pokud ovšem člověk ví, že je problém právě tam.
  • filbar  - Re:dodatek
    Není nic jednoduššího než v php souboru daného modulu provést náhradu jos za správné #
  • filbar  - Re:Dodatek
    Ale není nic jednoduššího než vzít php soubor těchto modulů a nahradit všechny výskyty
    Kód:
    jos
    za správné
    Kód:
    #_
  • uNo
    :eek :eek kde mam zacat :grin :grin
  • Franta25  - Dodatek
    Například velice oblíbený modul pro VirtueMart livesearch, jeden modul pro forum teď si nevybavím, ale dohledám.

    ukázka kodu:
    Kód:

    //the database request(don't hesitate to modify):
    $query='SELECT DISTINCT * FROM jpd_vm_product AS p'
    . ' LEFT JOIN jpd_vm_product_category_xref AS xcat ON xcat.product_id = p.product_id'
    . ' LEFT JOIN jpd_vm_product_price AS pp ON pp.product_id = p.product_id'
    . ' LEFT JOIN jpd_vm_category AS cat ON cat.category_id = xcat.category_id'
    . ' LEFT JOIN jpd_vm_product_files AS pf ON pp.product_id = pf.file_product_id'
  • svatas  - Re : Upozornění
    Pokud víte o jaká rozšíření jde, napište jejich jména. Já jsem se zatím s žádným nesetkal.
Komentář mohou přidat pouze registrovaní uživatelé!
 
Právě připojeni - hostů: 231 a člen: 1 
Joomla!® je registrovaná ochranná známka společnosti Open Source Matters
© 2004-2010 JoomlaPortal.cz - provozováno Testudo corp. s.r.o.
design by VirtueArt geared by Joomla! Doporučujeme iTrefa.cz

Partneři Joomlaportal.cz

IgnumPhoca GalerieVirtueMart

Reklama Joomlaportal.cz

Artio
Pizza Brno

Joomla! Developer - Vulnerability News

[20100704] - Core - XSS Vulnerabillitis in Back End