Az Apache webszerver legfontosabb konfigurációs állománya a httpd.conf. Ez XAMPP esetén az xampp/apache/conf/httpd.conf útvonalon érhető el. Ezt az állományt kell megnyitnunk egy programozói editorral, és szerkesztenünk. Az állomány elmentése után pedig újra kell indítanunk a webszervert, hogy a változtatások érvényesüljenek.

XAMPP esetén ezt az XAMPP Control Panel segítségével célszerű megoldani (7. ábra).

Nézzünk bele, hogyan is kell szerkesztenünk. Az állomány első sorai:

# This is the main Apache HTTP server configuration file.  It contains the
# configuration directives that give the server its instructions.
# See <URL:http://httpd.apache.org/docs/2.2/> for detailed information.
# In particular, see
# <URL:http://httpd.apache.org/docs/2.2/mod/directives.html>
#
for a discussion of each configuration directive.

Jól látszik, hogy – Unixos szokásnak megfelelően – a konfigurációs állomány is sok információt tartalmaz, de a http://httpd.apache.org/docs/2.2/mod/directives.html weboldalt is meglátogathatjuk további információkért.

A példából azt is érdemes még megfigyelni, hogy a # karakterrel kezdődő sorok megjegyzéseket tartalmaznak az Apache szempontjából, vagyis ezekkel a sorokkal az Apache nem fog foglalkozni. Ezért láthatjuk azt a későbbiekben is, hogy egyébként korrekt beállításokat kikommentálva találunk. Ezzel az Apache számára azt mondjuk, hogy ne foglalkozzon az adott sorokkal.

A következőkben néhány változó jelentését nézzük meg.

ServerRoot

A ServerRoot meghatározza, hogy mi az Apache szerver telepítési útvonala. Érdemes a példán megfigyelni, hogy az elérési utakat (Windows esetén is) / jelekkel kell leírni.

ServerRoot "C:/xampp/apache"

LoadModule

A LoadModule sorok betöltik azokat az opcionális Apache modulokat, amelyekre éppen szükségünk van az oldal működéséhez. Pl. A következő sor a könyvtárstruktúra direkt használata helyett egy logikai útvonaltervezést is lehetővé tesz a .htaccess állományok használatával.

LoadModule rewrite_module modules/mod_rewrite.so

Ezt a megoldást szokás beszédes URL-nek is nevezni.

Érdemes Nullstring Beszédes URL-ek .htaccess, mod_rewrite azaz a rewrite engine ereje 1. cikkét is elolvasni.

DocumentRoot

A DocumentRoot-ba kell azokat az állományokat tennünk, amelyeket a webszerver által elérhetővé akarunk tenni.

DocumentRoot "C:/xampp/htdocs"

Pl. XAMPP esetén az ebbe a könyvtárba helyezett proba.html állományt a http://localhost/proba.html útvonalon tudunk elérni a böngészőnkből.

Directory

A Directory részben már nem csak egyszerű változómegadást láthatunk. Azt határozzuk meg, hogy a megadott könyvtár tartalmát hogyan szolgálja ki a webszerver. Pl. XAMPP esetén az alapbeállítás:

<Directory "C:/xampp/htdocs">
  Options Indexes FollowSymLinks Includes ExecCGI
  AllowOverride All
  Order allow,deny
  Allow from all
</Directory>

Ezek a beállítások a teljes könyvtárstruktúra (pl. a C:\xampp\htdocs és alkönyvtárai) alapértelmezett beállításai lesznek.

  • az Indexes miatt kilistázza egy könyvtár állományait, ha az nem tartalmaz index.html vagy index.php állományt
  • az AllowOverride All megengedi, hogy az alkönyvtárakban felülírjuk az alapbeállításokat

IfModule

Az IfModule konfigurációs sorok csak akkor lesznek figyelembe véve, ha az adott modult az Apache betöltötte. Pl.

<IfModule dir_module> ...</IfModule>

DirectoryIndex

A DirectoryIndex azt határozza meg, hogy egy könyvtár (pl. http://localhost/ a C:\xampp\htdocs könyvtár, míg a http://localhost/xampp a C:\xampp\htdocs\xampp könyvtár) lekérésekor mi történjen. A következő példa esetén először az index.php majd az index.php4, majd a többi nevű állományt próbálja betölteni a webszerver.

DirectoryIndex index.php index.php4 index.php3 index.cgi index.pl index.html index.htm index.shtml index.phtml

Ha bármelyiket megtalálja, akkor a keresés abbamarad. De ha egyiket se találja meg, akkor vagy kilistázza a könyvtár állományait (Indexes beállítás esetén), vagy hibaüzenetet kapunk (403-as HTTP hiba: Forbidden).

További információk olvashatók pl. SzabiLinux oldalán.