Hlavní navigace

Server - instalace a LAMP

30. 10. 2007 12:39 (aktualizováno) Jan Hrach

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.

  • AMD K6 300MHz
  • 160MB RAM
  • 10GB HDD, asi 3600rpm
  • Realtek 8139 100Mbps síť
  • stávající 256kbps připojení do Internetu (download sice 2Mbit, ale u serveru nás zajímá hlavně upload)

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:

  • /usr mělo být radši 1,25GB
  • měl jsem udělat samostatný oddíl pro /var/mail, protože při možném náletu nějakého blbce-spamera (nebo v dnešní době „tak mi ten film pošli mailem“) přestanou fungovat systémové služby a logování, protože si nemůžou napsat PID do /var/run a změnit soubor ve /var/log

Po instalaci

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!.

Virtual hosty

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.

Sdílet

Diskuse byla uzavřena.