Subdomény a komerční hostingy

Pokud vlastníte doménu (doménové jméno), jistě víte, že můžete využívat i tzv. subdomény (či poddomény), tedy dalších jmen, které rozšiřují původní doménové jméno. Například, pokud vlastníme doménu koldasoft.cz, můžeme zcela volně využívat odvozených domén jako třeba www.koldasoft.cz, či reference.koldasoft.cz a nebo cerberus.koldasoft.cz. Možnosti využití jsou široké. Více o doménové problematice najdete na Wikipedii.

V tomto článku bych se rád zamyslel nad realizací hostingu pro takovéto subdomény na webovém serveru. Zejména jejich správu a rozložení v souborové struktuře z pohledu správce webu.

U drtivé většiny hostingů se provádí nahrávání stránek na server hostingu pomocí FTP nebo jiné podobné technologie (SCP, SVN-put, atd.). Po přihlášení server klientovi zpřístupní adresář serveru, ze kterého webový server bude načítat stránky. Zde však již mezi poskytovateli hostingu vzniká základní rozdíly:

  • Některé hostingy zobrazují obsah na webu obsah rootu FTP. Dělají to najčastěji amatérské servery typu one-man-show s minimálními zkušenostmi. Ze zkušenosti takový hosting považuji za méně kvalitní a podpory bývá nepřístupná individuálním požadavkům. Takový server často používá nestandardní nastavení.
  • Někde se stránky musí nahrát do adresáře public_html. Toto se vyskytuje zřídka, především u velkých podniků, které hostingové služby mají jako okrajovou činnost a menší společnosti většinou s mizernou podporou. Toto je defaultní nastavení distribuce serveru a vykazuje tak snahu zprovoznit hosting co nejrychleji a s minimálními náklady –  servery jsou nedotažené, ovládání těžkopádné. Takový hosting s velikou pravděpodobností nebude schopen a ochoten naslouchat Vašim individuálním požadavkům, protože je nastaven na velmi prostý automatický systém, který neumožňuje velké zásahy.
  • Jinde se po přihlášení do FTP zobrazí několik různých adresářů, z nichž právě jeden je určen obsah webu. Taková konfigurace je většinou propracovaná a umožňuje široké možnosti nastavení serveru na míru. Tuto konfiguraci používají vyspělé hostingové společnosti.
    Adresáře přístupné přes FTP mívají pak různé významy. Jeden z nich představuje adresář s daty webové aplikace, druhý umožňuje nahrávat soukromé soubory, které nebudou z webové aplikace přímo přístupné (zabezpečení) a další mohou obsahovat například logy, nebo jiné konfigurační nástroje.

Subdomény

Výrazně složitější situace je v případě řízení subdomén. I zde se přístup hostingů rozděluje na několik základních typů:

  • Snad nejhorší řešení, které jsem kdy viděl, má webhosting na Forpsi. Na serveru poddomény nejsou vůbec řešeny, pouze při přístupu na libovolnou poddoménu je volán určitý PHP skript, který sám musí rozlišit, o jakou poddoménu jde a volat tak nějaký podskript. Otřesné.

    PHP skcript pro zpracování domény
    PHP script pro zpracování domény. Zdroj: kb.forpsi.com
  • Nastavení domény administrátorem na žádost. Je to sice krkolomné, ale na nízkorozpočtových a nebo velmi individuálních serverech je to velmi časté řešení. Pokud je správce vstřícný a rozumný, v praktickém provozu může být tato varianta zcela uspokojivá.
  • Dalším nevhodným způsobem vytváření sudomén je, když jakýkoliv podadresář v adresáři s obsahem webu se automaticky stává subdoménou. Na takových serverech není možné provozovat jakoukoliv aplikaci, která pracuje s citlivějšími daty – pokud nejsou jen v databázi. Jde o to, že takový hosting jen brání vytvoření přehledné souborové a adresářové struktury. Jednak proto, že adresáře poddomén překáží a za druhé, že obsah umístěný v adresáři je přístupný i přes subdoménu. Navíc jsou pak velmi obtížně použitelné nástroje, jako je SVN a pod.
    Toto řešení je překvapivě často používané na serverech, což nechápu, protože je považuju v praxi za nepoužitelné.
  • Poněkud lepší řešení je ukládání do adresáře „subdomains“, který je ovšem opět umístěn v adresáři s obsahem webu. Většina nevýhod uvedených v předchozím bodu odpadá. Přesto pro profesionální nasazení není ani takovýto systém rozhodně vhodný.
  • Jediný opravdu praktický a plnohodnotně využitelný způsob souborovým řízení poddomén je jejich umístění na stejnou úroveň.
    Strukura FTP
    Strukura FTP

    Na obrázku je jedna z nejlepších struktur adresářů na běžném hostingu. Soubory pro hlavní doménu jsou v adresáři /web/www/ a další poddomény jsou v adresářích na stejné úrovni, tedy /web/subdomena/, ap. I když to může znít komplikovaně, ve skutečnosti je to velmi příjemné řešení.
    Toto řešení používají opravdoví profesinálové, na českém poli zejména: Tojeono.cz, Ebola.cz, Ceskyhosting.cz a dokonce i Pipni.cz.

Vyzývám tímto všechny hostingové společnosti, aby si tato slova szaly k srdci a trochu se zamysleli dříve, než vpustí klienty na své servery.