Pokud potřebujete zvláštní nastavení, proveďte je po instalaci
Apache. V naprosté většině případů můžete Apache používat, jak
je. Apache lze nastavit pomocí YaST a SuSEconfig nebo přímou
editací souboru /etc/apache2/httpd.conf.
Apache snadno nastavíte pomocí programu YaST. Nastavení vyžaduje alespoň základní znalosti o nastavení webového serveru. Po výběru + vás může YaST před samotným nastavením webového serveru požádat o doinstalování potřebných balíčků. Po úspěšné instalaci se zobrazí konfigurační dialog.
Nejdřív povolte spuštění serveru zatrhnutím položky
. Zaškrtnutím otevřete potřebné porty. Ve spodní části okna
() lze nastavit vlastnosti HTTP
serveru: (výchozí je port
80), ,
a . Zvolenou položku změníte kliknutím na
tlačítko .
Nejdřív překontrolujte nastavení položky a případně ji přizpůsobte svému serveru. Pak aktivujte potřebné moduly v položce . Dostupné jsou také další dialogy umožňující detailnější nastavení např. vytváření virtuálních serverů.
Ruční konfigurace webového serveru představuje editaci textových souborů jako uživatel root.
Konfigurační soubory Apache najdete na dvou místech:
/etc/sysconfig/apache2
/etc/apache2/
Soubor /etc/sysconfig/apache2 obsahuje některá obecná nastavení webového serveru Apache jako zavádění modulů, přidávání souborů do konfigurace a příznaky pro spuštění serveru. Všechny volby jsou v souboru komentované. Přednastavené hodnoty jsou obvykle vhodné pro většinu běžných konfigurací.
![]() | SuSEconfig modul Apache |
|---|---|
SuSEconfig modul Apache byl ze systému SUSE Linux odstraněn. Spuštění skriptu
| |
Adresář /etc/apache2/ obsahuje všechny konfigurační soubory Apache. V následujícím příkladu najdete popis jejich účelu. Každý soubor obsahuje konfigurační volby (nebo-li příkazy). Všechny příkazy jsou komentovány a proto je zde nebudeme zvlášť rozebírat.
Konfigirační soubory Apache jsou organizovány následujícím způsobem:
/etc/apache2/
|
|- charset.conv
|- conf.d/
| |
| |- *.conf
|
|- default-server.conf
|- errors.conf
|- httpd.conf
|- listen.conf
|- magic
|- mime.types
|- mod_*.conf
|- server-tuning.conf
|- ssl-global.conf
|- ssl.*
|- sysconfig.d
| |
| |- global.conf
| |- include.conf
| |- loadmodule.conf . .
|
|- uid.conf
|- vhosts.d
| |- *.conf
Konfigurační soubory Apache v /etc/apache2/
charset.convnastavení znakových sad pro jednotlivé jazyky. Needitujte.
conf.d/*.conf
Konfigurační soubory vložené externími moduly. Tyto soubory lze začlenit do konfigurace virtuálního serveru. Příklad najdete v
vhosts.d/vhost.template. Tímto způsobem můžete použít různé moduly pro různé virtuální servery.
default-server.confObecná konfigurace virtuálních serverů. Místo změn hodnot voleb je přepíšete konfigurací virtuálního serveru.
errors.confZpůsob odpovědi serveru Apache na chyby. Pokud chcete přizpůsobit chybová hlášení pro všechny virtuální servery, upravte zde obsažené soubory. Tato nastavení jsou přepsána nastavením jednotlivých virtuálních serverů.
httpd.confHlavní konfigurační soubor serveru Apache. Zde můžete obecná nastavení Apache. Nastavení pro jednotlivé visrtuální servery proveďte v konfiguraci jednotlivých virtuálních serverů.
listen.confNastavení spojení IP adres a portů pro server. Také zde najdete nastavení virtuálních serverů založených na jméně (viz 26.3.2.2.1 – „Virtuální server založený na jménu“).
magicData pro mime_magic modul, který umožňuje server Apache automaticky zjistit MIME typneznámých souborů. Neměňte.
mime.types
Seznam známých MIME typů (odkaz na
/etc/mime.types). Neměňte. Pokud potřebujete přidat nový MIME typ, vložte jej do souboru
mod_mime-defaults.conf.
mod_*.conf
Konfigurační soubory pro výchozí moduly. Více informací o modulech najdete v části 26.6 – „Moduly Apache“. Konfigurace dodatečně dotaných souborů se nachází v adresáři conf.d.
server-tuning.confKonfigurace pro různé MPM a volby ovlivňující výkon Apache. Pokud zde provedete změny, nezapomeňte server řádně otestovat.
ssl-global.conf and ssl.*Obecné nastavení SSL a data SSL certifikátu.
sysconfig.d/*.conf
Konfigurační soubory automaticky generované z
/etc/sysconfig/apache2. Neměňte. Nevkládejte nové soubory. Pokud potřebujete změnit nastavení, změňte přímo
/etc/sysconfig/apache2.
uid.confNastavení ID uživatele a skupiny Apache. Neměňte.
vhosts.d/*.conf
Konfigurace virtuálních serverů. Adresář obsahuje šablonu pro virtuální server bez podpory SSL. Každý zde obsažený .conf soubor je automaticky připojen do nastavení serveru Apache. Podrobnosti o virtuálních serverech najdete v části
26.3.2.2 – „Virtuální servery“.
Virtuální servery umožňují hostovat na jednom počítači více domén. Je to spolehlivý a ověřený způsob, jak ušetřit náklady na administraci zvláštního serveru pro každou doménu. Apache nabízí hned několik možností, jak virtuální servery nastavit:
Virtuální server založený na jménu.
Virtuální server založený na IP.
Vícenásobné instance Apache na jednom počítači.
Virtuální server založený na jménu hostuje na jedné instanci Apache několik domén. Není nutné nastavovat žádné další IP adresy. Jedná se o nejjednodušší a nejčastěji používanou možnost. Důvody proti této konfiguraci najdete v dokumentaci Apache.
Konfigurace se provádí pomocí programu YaST nebo přímo v konfiguračním souboru
/etc/apache2/httpd.conf. Abyste
aktivovali virtuální server založený na jménu, musíte
zadat NameVirtualHost *.
Nastavení * způsobí, že bude Apache
přijímat všechny příchozí požadavky. Pak nastavte
jednotlivé servery:
<VirtualHost *>
ServerName www.example.com
DocumentRoot /srv/www/htdocs/example.com
ServerAdmin webmaster@example.com
ErrorLog /var/log/apache2/www.example.com-error_log
CustomLog /var/log/apache2/www.example.com-access_log common
</VirtualHost>
<VirtualHost *>
ServerName www.myothercompany.com
DocumentRoot /srv/www/htdocs/myothercompany.com
ServerAdmin webmaster@myothercompany.com
ErrorLog /var/log/apache2/www.myothercompany.com-error_log
CustomLog /var/log/apache2/www.myothercompany.com-access_log common
</VirtualHost>
VirtualHost musí být nastaven i pro originální
doménu serveru (www.example.com). Originální
doména i dodatečná doména (www.myothercompany.com)
jsou v našem příkladě hostovány na stejném serveru.
Stejně jako v NameVirtualHost je v direktivách
VirtualHost použita *. Apache
používá pole "host" v HTTP hlavičce pro spojení požadavků s virtuálním
serverem. Požadavek je doručen tomu virtuálnímu serveru, jehož nastavení
v ServerName odpovídá údaji v HTTP hlavičce.
Pro direktivy ErrorLog a CustomLog
nemusí záznamy obsahovat jméno domény. Použijte jméno podle vlastní
volby.
Serveradmin obsahuje e-mailovou adresu osoby,
která má být kontaktována v případě problémů. Apache tuto adresu
předává klientům v případě potíží.
Alternativou serveru založeného na jménu je nastavení více IP adres
pro jeden jediný počítač. V takovém případě jediná instance Apache
hostuje více domén s různými IP adresami. V následujícím příkladu
si ukážeme konfiguraci Apache používajícího vlastní IP adresu
(192.168.1.10) plus
další dvě dodatečné IP adresy
(192.168.1.20 a
192.168.1.21).
Tento konkrétní příklad funguje pouze na intranetu, protože se
jedná o privátní adresy, které nejsou na Internetu směrovány.
Aby Apache mohl pracovat s více IP, musí počítač přijímat požadavky na více IP. Tomu se říká multi-IP hosting. Tato funkce vyžaduje podporu IP aliasingu v jádře. Tato podpora je v SUSE Linuxu výchozí.
Pokud je v jádře povolen IP aliasing, lze pomocí příkazů
ifconfig a route nastavovat
další IP adresy počítače. Tyto příkazy musí vykonávat uživatel
root. V následujícím
příkladě budeme předpokládat, že počítač již má vlastní IP adresu
(např. 192.168.1.10),
která je přiřazena zařízení eth0.
Příkazem ifconfig bez parametrů zjistíte IP adresu počítače. Další IP nastavíte příkazem:
ip addr add 192.168.1.20/24 dev eth0
Všechny IP adresy používají stejné síťové fyzické zařízení
(eth0).
Jakmile je na počítači nastaveno IP aliasování nebo má počítač
více síťových karet, můžete nastavit virtuální servery Apache.
Pro každý virtuální server musíte vložit vlastní blok
VirtualHost:
<VirtualHost 192.168.1.20>
ServerName www.myothercompany.com
DocumentRoot /srv/www/htdocs/myothercompany.com
ServerAdmin webmaster@myothercompany.com
ErrorLog /var/log/apache2/www.myothercompany.com-error_log
CustomLog /var/log/apache2/www.myothercompany.com-access_log common
</VirtualHost>
<VirtualHost 192.168.1.21>
ServerName www.anothercompany.com
DocumentRoot /srv/www/htdocs/anothercompany.com
ServerAdmin webmaster@anothercompany.com
ErrorLog /var/log/apache2/www.anothercompany.com-error_log
CustomLog /var/log/apache2/www.anothercompany.com-access_log common
</VirtualHost>
Proměnná VirtualHost se používá pouze pro dodatečné
domény. Výchozí doména (www.example.com) je nastavena
zvlášť v DocumentRoot mimo bloky
VirtualHost.