Apache HTTP Server je softwarový webový server s otevřeným kódem pro GNU/Linux, BSD, Solaris, Mac OS X, Microsoft Windows a další platformy. V současné době dodává prohlížečům na celém světě většinu internetových stránek (Wikipedia).
Pokud se rozhodnete na svém serveru provozovat webové stránky, bude Apache logická volba. Apache samotný slouží pro zobrazování stránek a pokud potřebujete server na složitější prezentaci, například CMS systémy Wordpress a Drupal, potřebujete i podporu PHP a databázi. Tyto nejpoužívanější komponenty se označují jako LAMP server podle počátečních písmen Linux, Apache, MySQL a PHP.
Váš nový cloud server je „zcela čistý“, takže webový server Apache musíte nainstalovat z repozitářů. Spusťte postupně v terminálu:
Plánujete-li server využívat na web s PHP, například nějaký CMS systém, můžete rovnou nainstalovat i MySQP a PHP v balících mysql-server php5 php-pear php5-mysql.
Po úspěšné instalaci Apache uvidíte na IP adrese serveru v prohlížeči známou větu It Works!
Pokud budete používat Apache pouze pro jeden web, můžete ke své spokojenosti upravit výchozí konfiguraci. Pokud však potřebujete na serveru hostovat více domén, bude potřeba nastavení rozvést a použít více tzv. Virtualhostů. Použití více domén na jedné IP adrese se nazývá name-based virtual hosting.
Debian používá po konfiguraci Apache vlastní způsob nastavení, které nepoužívá primárně soubor /etc/apache2/apache2.conf (ani obvyklý soubor httpd.conf). Debian používá ještě jeden konfigurační soubor ports.conf pro porty, na kterých Apache naslouchá (typicky 80 pro web a 443 pro SSL).
Apache načítá konfigurační soubory v tomto pořadí:
1) /etc/apache2/apache2.conf
2) Soubory s příponou .load nebo .conf v adresáři /etc/apache2/mods-enabled/
3) /etc/apache2/ports.conf
4) Soubory v adresáři /etc/apache2/conf.d/
5) Soubory v adresáři /etc/apache2/sites-enabled/
6) Soubor .htaccess v jednotlivých složkách
7) Doporučujeme provádět nastavení v konfiguračních souborech jednotlivých webů, nikoliv v hlavních konfiguracích httpd.conf a apache2.conf.
Příkazem a2dissite default vypněte výchozí virtual host, se kterým Apache pracuje. Pro každý nový vhost (hostovanou doménu) vytvořte soubor v /etc/apache2/sites-available/. Například /etc/apache2/sites-available/nazev-domeny.cz.conf. Můžete si zkopírovat i default soubor a ten upravit: sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/nazev-domeny.cz.
Soubor můžete založit rovnou v editoru nano: nano /etc/apache2/sites-available/nazev-domeny.cz.conf.
Základní minimální obsah konfigurace je tento:
Adresáře pro soubory webu vytvoříte například příkazem sudo mkdir -p /var/www/nazev-domeny.cz/public_html. Též je důležité nastavit práva, aby všichni přečetli soubory v adresářích uložené: sudo chmod -R 755 /var/www.
U dalších domén postupujte stejným způsobem. Správnost nastavení si můžete otestovat pomocí apachectl configtest. Zřejmě uvidíte nějaké varování (většinou ohledně hostname, servername), avšak pokud je na konci uvedeno Syntax OK, můžete novou konfiguraci začít používat.
Nakonec se každý z webu povolí zadáním a2ensite nazev-domeny.cz.conf a znovunačtením Apache service apache2 reload. Pro více příkladů konfigurace navštivte http://wiki.apache.org/httpd/ExampleVhosts.
Zapnutím a konfigurací SSL se budeme věnovat v jednom z dalších návodů.
U linuxu platí, že má perfektní dokumentaci a nejlepší informační zdroj je přímo od výrobce. Ohledně Apache vám pro další informace a příklady doporučuji webové stránky http://httpd.apache.org/docs/2.0/.