V tomto seriálu si nainstalujeme webový server s PHP a MySQL, FTP server, Postfix, Dovecot a možná ještě něco dalšího.
Jako svůj server jsem zvolil stroj z roku 1998 (tehdy to byla výkonnostní špička), do kterého jsem narval víc RAMěti a větší disk.
K instalaci budeme dále potřebovat ještě CD-ROM a grafickou kartu.
Jak vidíte, takovýto stroj se dá sehnat za pár peněz, případně se vám někde válí pod skříní.
Operační systém jsem zvolil Debian Etch, protože s ním mám předchozí velmi dobré zkušenosti (a taky ho umím ovládat ze všech dister nejlíp :-).
Mimochodem se na výsledek práce můžete podívat na yakumo.hrach.eu.
Postupy budu předvádět na instalaci serveru fiktivní, ale přesto populární společnosti Crapola Inc. Taiwan, která vyrábí mluvící toustovače a má doménu crapola.com.
Takže si stáhneme Etche třeba odsud, vypálíme a pustíme se do instalace. Ta je dobře popsána v pátém dílu seiálu Milana Kozáka, takže se jí nebudu moc zabývat.
Během instalace serveru zaražte konfiguraci sítě přes DHCP a nastavte nějaké rozumné statické hodnoty ručně.
Jako doménové jméno napište třeba server.crapola.com.
Rozdělení disku jsem udělal takovéto:
Partition Type FS Size (MB) Mountpoint
---------------------------------------------------------------------------
hda1 Primary Linux ext3 501,75 /
hda2 Primary Linux swap / Solaris 501,75 swap
hda5 Logical Linux ext3 1003,49 /usr
hda6 Logical Linux ext3 1003,49 /var
hda7 Logical Linux ext3 3503,97 /var/www
Pri/Log Free Space 3487,52
Jak vidíte, nechal jsem si volné místo na případné další doladění. Po skoro měsíci provozu vyšlo najevo toto:
Nainstalujeme OpenSSH server
# apt-get install openssh-server
vyzkoušíme, jestli se na server dá nalogovat
jinystroj$ ssh root@ten.server
a server uklidíme do komory (nebo do datacentra).
Teď se na server přihlásíme (doporučuji vytvořit si alias nebo záznam v /etc/hosts) a nainstalujeme potřebné uživatelské programy.
# apt-get install vim mc links ntp ntpdate
Dále nainstalujeme LAMP (více info v Linuxexpresu, časem ten článek vyjde na webu).
# apt-get install mysql-server mysql-client libmysqlclient15-dev apache2
apache2-doc apache2-mpm-prefork apache2-utils libapache2-mod-php5 php5
php5-common php5-curl php5-dev php5-gd php5-idn php-pear php5-imagick
php5-imap php5-json php5-mcrypt php5-memcache php5-mhash php5-ming
php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite
php5-tidy php5-xmlrpc php5-xsl
Takže teď máme LAMP a pokud se na server podíváme třeba webovým prohlížečem, měli bychom vidět legendární It works!.
Možná si myslíte, že do /var/www můžeme začít kopírovat stránky. To ale ne. Představte si, že byste chtěli, abych měl domovskou stránku jenda.crapola.com, hlavní firemní web by byl crapola.com a odnož vyrábějící mluvící toustovače by měla stránky talkie.crapola.com, toasters.crapola.com i talkie-toasters.crapola.com. To všechno může běžet na jednom serveru pomocí Virtual hostů. O teorii problematiky pojednává třeba stránka HTTP na jakpsatweb.cz.
Na Debianu (a možná i jinde) se Virtual hosty konfigurují v souboru /etc/apache2/sites-available/default. Nejdřív ho zazálohujeme
# cp /etc/apache2/sites-available/default
/etc/apache2/sites-available/default.dist
a pak se pustíme do editace. Soubor může vypadat třeba takto:
NameVirtualHost *:80
<VirtualHost *:80>
ServerName server.crapola.com
ServerAdmin admin@crapola.com
DocumentRoot /var/www/server.crapola.com
</VirtualHost>
<VirtualHost *:80>
ServerName crapola.com
ServerAdmin webmaster@crapola.com
DocumentRoot /var/www/crapola.com
</VirtualHost>
<VirtualHost *:80>
ServerName jenda.crapola.com
ServerAdmin jenda@nepovim.tld
DocumentRoot /var/www/jenda.crapola.com
</VirtualHost>
Struktura konfiguráku je snad jasná. Teď ho uložíme a zavřeme editor (:wq – přešel jsem na vim, všimli jste si?). Musíme vyrobit potřebné adresáře
# mkdir /var/www/server.crapola.com /var/www/crapola.com
/var/www/jenda.crapola.com
a restartovat Apache, aby znovu načetl konfiguráky.
# /etc/init.d/apache2 restart
Restarting web server Apache2...
Could not determine the server's fully
qualified domain name, using 127.0.0.1 for ServerName
Takže si ještě musíme otevřít /etc/apache2/apache2.conf a na konec přidat
ServerName server.crapola.com
a zkusit to znovu
# /etc/init.d/apache2 restart
Restarting web server Apache2... [ OK ]
Hurá, máme to. Teď už jenom nastavit v administraci DNS záznamů u registrátora domény potřebné A záznamy a pokud máte server za routerem (jako já), nastavit forwardování portu 80 na náš server.
Příště si povíme něco o FTP serveru.
To 1: Jj melo by to tak byt, ale neni to pravidlo :). Apache si pri zpracovani vezme vsechny soubory z /etc/apache2/sites-enabled/. Takze, si klidanko to muze nahazet kdo chce do jednoho souboru, nebo vytvorit soubor pro domenu 2. radu nebo pro kazdou domenu soubor s konfiguraci. IMHO soubor pro domenu nebo soubor pro vsechny domen napriklad v firma.cz se mi zda i prehlednejsi a i mozna proto to takhle debian ma a je to docela vychvalovane.
No jo, ale když občas někomu udělám nějaké jednoduché stránky, tak mu těžko vysvětlím, že musí platit 300 - 400 ročně za doménu a ještě kdovíkolik měsíčně za kvalitní hosting... A u sebe teda klienty hostovat nebudu, kdo pak má poslouchat jejich řeči když mi to někdy vypadne ;-) Takhle můžou řvát na hostera :-)
Paranoidní? Ale ne – kde máte důkaz, že po mně nejdou?
Přečteno 27 350×
Přečteno 23 192×
Přečteno 16 778×
Přečteno 13 381×
Přečteno 12 395×