Apache

Webový server zdarma a rychle - jen pár základních faktů.

Apache na Linuxu

Tento skvělý open-source projekt na Linuxu funguje velmi dobře a vlastně ihned po nainstalování a spuštění služby. Pomineme-li zabezpečení, které by bylo na ostrém serveru nutné, výchozí konfigurace je pro domácí potřeby ideální. Výchozí protokol je http na portu 80 a pokud bych potřeboval zabezpečený https na portu 443, bude nutné upravit konfigurák. Když jsem chtěl psát webové stránky, sáhl jsem po Apache. Pro rozdílné distribuce jsou nastavení i instalace podobné s drobnými rozdíly. Pro ukázku se podívejte na následující příklady, které mohou nastat.

Balíčky pro server mohou být:

Název služby může být u rozdílných distribucí například:

Stejně tak může být nastavení webového serveru v adresářích:

Adresáře pro webové soubory mohou být:

Instalace a nastavení na Arch Linux

Pro výchozí instalaci na OS Arch Linux stačí zainstalovat balíček apache a spustit službu httpd.

pacman -S apache
systemctl start httpd.service

Důležité adresáře:

V adresáři conf jsou konfigurační soubory webového serveru, které v případě standardního, lokálního a testovacího prostředí nemusíme měnit. Nastavení počítá s umístěním souborů webu v /srv/http a hledá soubory jako například index.html.

PHP modul

Pokud jsem se rozhodl využívat PHP(aktuálně verzi 8), musím nainstalovat balíček php-apache a poupravit nastavení webového serveru Apache. V nastavení zakomentujeme a odkomentujeme jeden řádek a přidáme pár jiných řádků.

Instalace balíčku:

pacman -S php-apache

Nastavení konfigurace webového serveru:

  1. Otevřít konfigurační soubor /etc/httpd/conf/httpd.conf a v něm takto zakomentovat řádek, který bude ve výsledku vypadat:
  2. #LoadModule mpm_event_module modules/mod_mpm_event.so
  3. Odkomentujeme následující řádek, který bude po úpravě vypadat následovně:
  4. LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
  5. Na konec sekce LoadModule je nutné ještě doplnit řádky:
  6. LoadModule php_module modules/libphp.so
    AddHandler php-script .php
  7. Na závěr zbývá připsat řádek na konec sekce Include:
  8. Include conf/extra/php_module.conf
  9. Zrestartovat službu httpd a webový server běží s podporou PHP.
  10. systemctl restart httpd.service

Gentoo a Apache2 s podporou PHP

V souboru /etc/portage/make.conf přidáme řádek:

sudo nano /etc/portage/make.conf
PHP_TARGETS="php8-1"

Je potřeba nainstalovat balík dev-lang/php s podporou apache2.

sudo nano /etc/portage/package.use/01balicky
dev-lang/php apache2

Příkaz pro instalaci:

sudo emerge -av dev-lang/php

Po nainstalování musím ještě editovat výchozí konfigurační soubor služby apache, který najdu v /etc/conf.d/apache2. Přidám modul -D PHP:

sudo nano /etc/conf.d/apache2
APACHE2_OPTS="... -D PHP ..."

Nakonec zaktivním službu po startu a je to:

sudo systemctl enable apache2.service