přejít na obsah přejít na navigaci

Linux E X P R E S, Kvalitní webhosting za patnáct minut

Kvalitní webhosting za patnáct minut

Vlastnit webové stránky je dnes pro každou firmu či jednotlivce téměř nutností. Bohužel se setkáváme s tím, že webhostingové servery, na kterých jednotlivé portály běží, často nesplňují naše očekávání a požadavky. Někdy to bývá pouze cena, jindy zase kvalita připojení či nadstandardní služby.


V případě, že znáte ještě několik lidí se stejným problémem, je ideálním řešením instalace vlastního serveru. Kamenem úrazu však poté bývá administrace jednotlivých domén a služeb, které na nich běží. Rád bych vám proto v následujícím článku ukázal, který systém na svých serverech provozuji a jak ho uvést do chodu třeba právě u vás.

Pod pojmem webhosting si můžeme představit pronájem WWW prostoru na internetu. Existuje několik desítek tzv. hostingových programů, které nám dávají na výběr z nepřeberného množství poskytovaných služeb. Případ, kdy se jedná o hosting zdarma, případně o hosting dotovaný pouze ze zobrazované reklamy a bannerů na našich stránkách, nazýváme freehosting.

Jak to všechno začalo

První pokusy o vlastní webhosting u mě začaly před několika lety. V té době jsem potřeboval postavit server s možností jednoduché administrace. Vzhledem k tomu, že jsem nebyl příliš zdatným programátorem PHP, Pythonu ani jiného vhodného jazyka, pokusil jsem se napsat vlastní systém pomocí několika chytrých bashových skriptů. V případě, že jsem chtěl do svého systému přidat další doménu, musel jsem vytvořit nového uživatele, jehož shell byl nasměrován právě na onen skript. Celý systém byl sice "šitý na míru", ale i přesto poměrně modulární. Dokonce splňoval základní požadavek bezpečnosti, neboť se k němu dalo připojit pouze přes ssh. Nevýhodou a důvodem, proč jsem ho však později opustil, byla uživatelská přivětivost a nutnost vést všechny administrátory domén jako validní uživatele v systému.

Doména je základní adresní jednotka na internetu. Nahrazuje číselnou IP adresu, která je hůře zapamatovatelná. Základní rozdělení domén je do tří úrovní:

  • Doména první úrovně - takzvaná top-level doména (TLD) nebo národní doména, například .cz.
  • Doména druhé úrovně - ihned za národní doménou, například vasefirma.cz.
  • Doména třetí úrovně - například sklad.vasefirma.cz.

Při hledání na internetu jsem narazil na několik komerčních projektů. Ceny za kompletní systém pro webhosting však téměř vždy přesahovaly částku 1000 dolarů za rok, což bylo daleko více, než jsem zaplatil za samotný hardware a roční pronájem racku včetně konektivity v serverovně. Na jednom fóru takového komerčního produktu jsem ale nalezl dva velmi zajímavé odkazy. Jeden z nich směřoval na stránky ISPConfigu a ten druhý na stránky projektu VHCS.

Pro a proti

Po důkladném prostudování obou projektů jsem byl opravdu na vážkách, který z nich použiji na svůj budoucí server. ISPConfig vydaný pod BSD licencí nabízel ve webovém rozhraní o něco málo funkcí více než VHCS. Oproti tomu VHCS licencovaný pod MPL 1.1 na mě působil více uhlazenějším dojmem. Vývoj programu navíc nezůstává pouze na Linuxu, ale pokračuje i v BSD větvi, což je má oblíbená serverová platforma, a proto se stal VHCS mým osobním vítězem.

Instalujeme

Možná to bude znít tak trochu jako fráze, ale nejjednodušší cestu mají opět debianisté. Vybrat si mohou ze třech různých způsobů.

Prvním způsobem je instalace VHCS pomocí speciálního instalátoru z domovských stránek. Pod pojmem "speciální instalátor" si prosím představte prachobyčejný skript, který se po spuštění automaticky aktualizuje na nejnovější verzi. Samotná instalace pak probíhá v několika fázích. První fází je deaktivace nepotřebných služeb démona inetd a odebrání přebytečných balíčků ze systému. Ve druhé fázi dojde ke stažení a konfiguraci jednotlivých balíků a ke kompilaci VHCS démonu. V poslední fázi nás instalátor vyzve k zadání administrátorova e-mailu, IP adresy serveru a přístupového hesla do MySQL databáze.

Druhým způsobem je instalace přímo pomocí balíčků určených pro Debian Sarge. Odkazy na ně naleznete na domovských stránkách. Tento způsob instalace ovšem nedoporučuji, neboť si nainstalujete poměrně zastaralou verzi programu (z řady 2.6.)

Třetím způsobem, který pak lze aplikovat i na jiné systémy, než je Debian, je instalace ze zdrojových kódů. Ze stránek sourceforge.net stačí získat aktuální archiv, který rozbalíme a následně nainstalujeme přesně podle přiložené dokumentace.

Ve všech třech případech lze nakonec ověřit úspěšnost instalace přes webový prohlížeč na adrese http://jmenoserveru/vhcs2. V případě, že uvidíte něco podobného, jako je na obrázku, máte vyhráno.

Obrázek: vhcs obr1.jpg

Problémy při instalaci

Existují některé známé problémy při instalaci, které se pokusím nastínit.

Při použití instalačního skriptu je možné, že u počítače strávíte více času, než byste chtěli, neboť samotný archiv VHCS se tahá z často velmi přetížených autorových stránek. Doporučuji proto skript před instalací zeditovat a nastavit cestu k archivu na jeden z oficiálních mirrorů portálu sourceforge.net.

Pokud budete instalovat VHCS stejně jako já na procesory AMD Opteron, uvidíte po spuštění init skriptu "oblíbenou" hlášku každého linuxáka - "Segmentation fault". Je proto potřeba použít drobný patch a znovu zkompilovat VHCS démon. Bližší informace naleznete na fóru www.vhcs.net, a to v sekci Installation and setup, pod příspěvkem označeným jako AMD64 vhcs2_daemon - HowTo.

Zdokumentovanou chybou pod Gentoo Linuxem je nemožnost zastavit démon. Tento problém řeší upravený init skript a malý patch do VHCS. Bližší informace naleznete taktéž na fóru v sekci Installation and setup, pod příspěvkem označeným jako Gentoo init script how to.

Bezpečnost - a zase ta bezpečnost

Nutno říct, že VHCS se snaží dbát na bezpečnost systému. Veškerá důležitá data drží šifrovaná v databázi, nevytváří zbytečně uživatele s validním shellem, v PHP je schopen pracovat v režimu safe mode a pro spouštění CGI skriptů používá program suexec. Do další verze se plánuje i spouštění PHP přes suphp.

I přes všechno, co jsem právě napsal, je důležité systém nepatrně doladit. První věcí, kterou dělám, je úprava konfigurace modulu PHP pro server Apache - v Debianu standardně k nalezení v souboru /etc/php4/apache2/php.ini. Doporučuji změnit minimálně položku safe_mode na hodnotu On, položku allow_url_fopen na hodnotu Off a položku disable_functions na hodnoty system, exec, passthru, popen, escapeshellcmd, shell_exec. Tímto nastavíme relativně rozumné zabezpečení, se kterým VHCS bez problému funguje. Dalším krokem na mých serverech bývá umístění Apache serveru, pošťáka postfixe a DNS démon BIND do jailu. Tato operace vyžaduje změnu přístupových cest v konfiguračním souboru VHCS, který nalezneme v /etc/vhcs2/vhcs2.conf. Neměli bychom také zapomenout doplnit základní pravidla do firewallu.

Webové rozhraní

Samotné webové rozhraní je rozděleno do tří základních úrovní. První úroveň je administrační, v druhé úrovni jsou resseleři (chcete-li česky - prodejci) a ve třetí úrovni pak nalezneme samotné majitele jednotlivých domén.

Obrázek: vhcs obr2.jpg

Administrační úroveň v portálu sice neskrývá nejvíce voleb, ale disponuje možností přepnout se na kteréhokoliv jiného uživatele. Samozřejmostí je možnost vytváření a editace další uživatelů, změna vzhledu prostředí či možnost tvorby vlastního menu. Ze systémových funkcí jsou asi nejdůležitější položky Overview a VHCS debugger.

Overview zobrazí aktuální "zdraví systému", a to od uptime přes load až k obsazenosti paměti a disků. VHCS debugger nám na druhou stranu dává velmi dobrou nápovědu, pokud jsme v systému něco nenastavili tak, jak má být. Za zmínku také stojí položka Statistic. Díky ní si můžeme prohlédnout, kolik dat přes náš server proteklo.

Druhá úroveň portálu, ve které nalezneme samotné prodejce, již oproti administrátorskému rozhraní neskrývá tolik systémových položek. Na místo nich nalezneme například přehled hostingových programů, které můžeme editovat a poté nabídnout koncovým klientům, nebo třeba systém pro zasílání novinek a upozornění.

Poslední, a tou asi nejdůležitější, úrovní je právě rozhraní koncových majitelů domén. Ti mohou pomocí několika málo kliknutí změnit svůj hostingový plán a přejít tak například na dražší tarif, jenž jim nabídne více místa na disku či více služeb. Vytvoření subdomény, e-mailového a FTP účtu je pro majitele domén otázka několika málo vteřin. V případě, že má majitel aktivovaný přístup i k databázovému systému, není pro něj překážkou stejným způsobem vytvořit novou databázi, ke které se pak lze připojit přes integrovaný phpMyAdmin.

Vzhledem k tomu, že funkcí, které jsou integrovány v systému, je opravdu hodně, dovoluji si je shrnout do kratičkého seznamu.

Obrázek: vhcs obr3.jpg


Seznam podporovaných funkcí

Domény - přidání subdomény či aliasu včetně přesného určení výchozího místa na disku a automatického forwardu na jinou stránku.

E-maily - všechny e-maily lze automaticky forwardovat na jinou adresu. Pro jednotlivé účty můžeme vytvořit automatickou odpověď nebo doménový koš. Dostupný je i webmail.

FTP účty - každému FTP uživateli lze určit přesné umístění složky na disku, ovládat FTP lze přes webové rozhraní.

SQL - vytvoření nové databáze a uživatelů, spouštění SQL příkazů přímo z administrace, přístup přes phpMyAdmin.

Chybové stránky - možnost umístění vlastních chybových stránek Apache (pro Error 401, Error 403, Error 404 a Error 500).

Chráněné oblasti - editace jednotlivých uživatelů a skupin včetně přesných práv pomocí souborů .htaccess.

Backup - automatická obnova dat z jeden den staré zálohy, pomocí jediného kliknutí.

Statistiky - statistiky přenosu dat rozdělené po jednotlivých službách (web, mail, FTP) s možností zpětného zobrazení po jednotlivých měsících.

Ticket systém - zaslání dotazu nebo zprávy správci systému přímo z administračního rozhraní.


Obrázek: vhcs obr4.jpg

"Hackujeme"

I přestože máme kompletní systém, je pár věcí, které na závěr do funkčního rozhraní vždy dodatečně implementuji. První z nich je integrace antiviru a antispamu do e-mailové brány. Díky instalačnímu skriptu již není potřeba nic měnit ručně. Stačí jej znovu spustit a po odsouhlasení licenčních podmínek stisknout klávesu [M] pro přístup do "hack" menu. Tam pak zvolit položku Clamav & Spamassassin. Instalátor následně udělá "špinavou práci" za nás - stáhne nejnovější balíčky programu Clamav a Spamassassin včetně upravených konfiguračních souborů, rozbalí je, nainstaluje a restartuje mailový systém.

Stejným způsobem lze například do DNS systému přidat SPF recordy, které by u žádné domény neměly chybět. Další úpravou je lokalizace webmailu do češtiny. Konfiguraci naleznete v souboru /var/www/vhcs2/gui/tools/webmail/inc/config.languages.php. Tam zeditujte položku $default_language na hodnotu 'cz';. Poslední úpravou bývá automatická replikace souboru named.conf na sekundární DNS server. Přesný návod, jak toho docílit, však vzhledem k jeho obsáhlosti budete muset prostudovat na stránkách projektu.

Co mi chybělo

Oproti zmiňovanému ISPconfigu chybí VHCS ve webovém rozhraní některé důležité funkce. Mně konkrétně vadí například nemožnost přidání vlastního A (MX, CNAME) záznamu do DNS k doméně. Tyto změny je proto potřeba udělat ručně přímo v konfiguračním souboru na serveru. Dalším dost vážným problémem je lokalizace programu. Přestože systém obsahuje devět různých jazyků, čeština mezi nimi chybí. To by se již brzy mohlo změnit, neboť ve volném čase neustále pracuji na překladu tohoto projektu a je dost možné, že v době, kdy tento článek budete číst, již bude čeština ke stažení přímo na domovských stránkách projektu.

Poslední zamyšlení (nebo spíše výtka) patří filozofii celého systému. Uvědomme si prosím, že všechny démony fyzicky běží na jednom a tom samém stroji. Pokud dojde k jeho havárii (ať již kvůli živelní pohromě, chybě některé z PC komponent nebo například útoku hackera), ztratíme naprostou kontrolu nad celým systémem. Daleko elegantnější by tedy bylo držet mail, WWW a DNS oddělené od sebe na různých serverech.

Zhodnocení závěrem

VHCS je dobře propracovaný, přehledný a odladěný systém. Sám jej provozuji již relativně dlouho a během této doby jsem ještě nezaznamenal žádný vážnější problém. Jedná se o velice slibný projekt, na kterém se intenzivně pracuje a autoři neustále implementují nové funkce, které si uživatelé na jejich portálu žádají.

Nahoru

Odkazy

Příspěvky

Re: Kvalitní webhosting za patnáct minut
20. 09. 2006, 10:42:04
Odpovědět  Odkaz 
Chtel bych se zeptat,kde mam stahnout tu verzi pro Debian,ktera si stahne ty nejnovejsi baliky a nainstaluje. Ja pak zadam heslo do mysql db a funguje to :) poradite? dik
Milan Kozák Re: Kvalitní webhosting za patnáct minut
Milan Kozák 27. 09. 2006, 15:31:55
Odpovědět  Odkaz 
Dobry den,<br>nejrychlejsi reseni je pouzit instalacni script. Ten ziskate na strance http://wael.nasreddine.com/Projects/Linux/vhcs.sh.html.
<br><i>Nejrychlejsi zpusob instalace je pak:</i>
1) Prihlasit se na vas server
2) Presunout se do libovolneho docasneho adresare a stahnout instalacni script<br>
<b><br>wget http://wael.nasreddine.com/files/vhcs/vhcs.sh
</b><br>3) Dat scriptu prava ke spusteni<br>
<b>chmod +x vhcs.sh</b><br>
4) Spustit instalacni script<br>
<b>./vhcs.sh</b><br>
5)Pokracovat dle pokynu ve skriptu<br>
6) Pouzit posledni bezpecnostni zaplatu!!!!<br>Vice informaci naleznete ve foru casopisu linuxexpres, pripadne na strankach http://vhcs.net.
Re: Kvalitní webhosting za patnáct minut
20. 09. 2006, 11:24:31
Odpovědět  Odkaz 
pri instalaci se vyskytl tentoi problem:

demon:/var/www/vhcs2/engine/setup# ./vhcs2-setup

CRITICAL ERROR: Module [MIME::Entity] WAS NOT FOUND !

CRITICAL ERROR: Module [MIME::Parser] WAS NOT FOUND !

CRITICAL ERROR: Module [Crypt::CBC] WAS NOT FOUND !

CRITICAL ERROR: Module [Crypt::Blowfish] WAS NOT FOUND !

CRITICAL ERROR: Module [Crypt::PasswdMD5] WAS NOT FOUND !

CRITICAL ERROR: Module [Term::ReadPassword] WAS NOT FOUND !

Modules [MIME::Entity, MIME::Parser, Crypt::CBC, Crypt::Blowfish, Crypt::PasswdMD5, Term::ReadPassword] WAS NOT FOUND in your system...
Re: Kvalitní webhosting za patnáct minut
22. 09. 2006, 10:02:22
Odpovědět  Odkaz 
Chybí tyto perlové moduly. Nainstalujte je.
Milan Kozák Re: Kvalitní webhosting za patnáct minut
Milan Kozák 27. 09. 2006, 15:45:27
Odpovědět  Odkaz 
DD,<br>myslim si, ze idealni je pouzit neoficialni instalacni script pro debian. Ten za vas vyresi veskere zavislosti. V pripade, ze ho z jakychkoliv duvodu nechcete (nemuzete) pouzit, vyzkousejte (pro debian) nasledujici prikaz (vse je na jednom radku!):<br>
<b>apt-get libberkeleydb-perl libcrypt-blowfish-perl libcrypt-cbc-perl libcrypt-passwdmd5-perl libdate-calc-perl libdate-manip-perl libdbd-mysql-perl libdbi-perl libio-stringy-perl libmail-sendmail-perl libmailtools-perl libmd5-perl libmime-perl libnet-dns-perl libnet-netmask-perl libnet-perl libnet-smtp-server-perl libperl5.8 libsnmp-session-perl libterm-readkey-perl libtimedate-perl perl perl-base perl-modules libterm-readpassword-perl</b><br>
Timto doinstalujete veskere perlovske moduly.<br>
Pokud pouzivate jinou distribuci, vyuzijte utilitu CPAN. Napriklad modul MIME::Entity dostanete do systemu prikazem:<br><br><b>cpan install MIME::Entity</b><br>
Re: Kvalitní webhosting za patnáct minut
9. 10. 2006, 23:19:59
Odpovědět  Odkaz 
jeste taky existuje Confixx
Re: Kvalitní webhosting za patnáct minut
4. 05. 2007, 08:33:18
Odpovědět  Odkaz 
Existuje také možnost nainstalovat jej do Mandrivy 2007 ?
Milan Kozák Re: Kvalitní webhosting za patnáct minut
Milan Kozák 4. 05. 2007, 09:20:45
Odpovědět  Odkaz 
DD, VHCS je sice primarne urcen pro DEBIAN linux, ovsem celkem bez problemu ho lze nainstalovat i na ostatni Linuxove distribuce. V balicku se zdrojovymi kody je seznam aplikaci, ktere VHCS ke sve funkci potrebuje.
Re:Re: Kvalitní webhosting za patnáct minut
LiveBomb 12. 10. 2007, 18:14:17
Odpovědět  Odkaz 
A je pro instalaci do mandrivy nejaky navod?
Kvalitní webhosting za patnáct minut
Malina 4. 11. 2007, 19:18:13
Odpovědět  Odkaz 
musim mit neco predinstalovane ? nebo staci cistej debian ?
Kvalitní webhosting za patnáct minut
Spulik 26. 12. 2007, 20:10:42
Odpovědět  Odkaz 
Nejsem žádnej linuxař. V linuxu neumim a po několika pokusech jsem zjistil, že ani umět nechci. Nicméně nedávno jsem narazil na distribuci IPcop (http://ipcop.korenius.net/) a byl jsem z ni doslova nadšenej.
Rád bych si vytvořil i webserver, myslel jsem, že to pude s timto návodem, ale jakmile jsem se dostal k instalaci, jakémusi kompilování apod. tak jsem zjistil, že to nepude :(
Nevíte náhodou o nějaké distribici která se jednoduše nainstaluje jako IPcop a ovládá přes webové rozhraní? Nejde mi ani tak o to kolik toho bude umět, ale o to abych vubec nemusel používat příkazovej řádek a vše se dalo udělat přes web. prohlížeč z jiného počítače.

Předem dík za odpovědi.
Re:Kvalitní webhosting za patnáct minut
Milan Kozák 28. 12. 2007, 16:16:35
Odpovědět  Odkaz 
Distribucí s web managementem existuje několik desítek, ne-li stovek. Kompletní seznam lze nalézt například na adrese http://distrowatch.com/

Je těžké říct, která z nich je dobrá a která špatná - každý má jiné požadavky a nároky. To co by bylo dobré pro mě nemusí být dobré i pro vás a vice versa...

Když na to přijde, každou distribuci můžete ovládat přes web interface, stačí do ní doinstalovat nějaký program - typicky to například bývá program Webmin (http://www.webmin.com/demo.html).

Pokud bych směl poradit, zvolte si distribuci s dostatečným množstvím balíčků a dobrou podporou (když ne komerční tak alespoň ze strany komunity). Osobně bych se díval po známých jménech jako jsou Debian, (K)Ubuntu, Suse, RedHat, Slackware...
Kvalitní webhosting za patnáct minut
Tomáš 13. 07. 2008, 22:32:37
Odpovědět  Odkaz 
Zdravim, chtěl bych se zeptat, jak by se daly zprovoznit ty denní zálohy? Nevíte někdo něco?
Kvalitní webhosting za patnáct minut
Pavel 12. 11. 2008, 12:20:11
Odpovědět  Odkaz 
Zdravim. jak to vypada s cestinou? nejak se mi ji nedari na verzi 2.4 dohledat.... Dekuji za info
Milan Kozák Re:Kvalitní webhosting za patnáct minut
Milan Kozák 13. 11. 2008, 20:17:39
Odpovědět  Odkaz 
Českou lokalizaci jsem nahrával přímo do fóra na domovské stránky VHCS. Bohužel dnes již po něm není ani památky.

Co je však důležitější - VHCS (po odchodu hlavního vývojáře) považuji za "mrtvý" projekt. Naštestí se objevil jeho FORK - program ISPCP, který řeší nejen Váš problém s lokalizací, ale rozšiřuje schopnosti původního programu a hlavně se na něm stále pracuje.

Domovská stránka ISP CP je na adrese: http://isp-control.net/

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz