Apache


Röviden
Az apache-t valószínűleg sokaknak nem kell bemutatnom. Gyors, biztonsagos, fejleszthető, és a forráskódja is szép. Mivel szabadon használható, minden Linux disztribúcióba belkerült, igy elég könnyen beszerezhető. A platform támogatottsága elég jó, fut akar Win32-n is, bár ezen a platformon nem képes a Linuxon megszokott biztonságot és stabilitást biztosítani. Veszélyes vetélytársai nincsenek, a webszerverek több mint 60 százalékát működtetik apache-al. Erőforrásigényei szolidak.

A fejlesztés jelenleg az 1.3.x sorozat végén tart, a nemrég kibocsájtott 1.3.19-es verziót az utolsónak szánták és béta stádiumba lépett az apache 2 fejlesztése. Nagy újítás lesz benne a thread/process hybrid üzemmód, és sok új modul is belekerül, sajnos a ha 1.3.x alá írtál egy modult, akkor az csak átalakítások után lesz használható a 2.x-es verziókban.

A legfrissebb forráskódok mindig letölthetőak az apache project homepage-éről: http://www.apache.org/

A siker titka
Az apache valóban kivállóan megírt szoftver. az alapfunkcionalitást megvalósító core modul köré sok apró feladatot megvalósító modul épül. Ilyen modul valósítja meg például az http azonosítást is, de például a biztonságos HTTPS protokolt is. A modulok befordíthatóak az apache bináros kódjába statikusan is, de egy modul (mod_so) segítségével dinamikusan is betölthetőek. Így egy könnyen bővíthető, egyszerűen konfigurálható webszervert kapunk. A standard apache is nagyon sok modult tartalamz, de fordíthatsz vagy építhetsz hozzá magad is. Ezen a helyen taláhatsz néhány jól megírt modult: http://modules.apache.org/

Forditás
Ha fordítottál már Linuxra programot, akkor a forditás nem okozhat komolyabb problémát. A configure scripttel előállítod a makefile-okat, amelyek segítségével make utasítással létrehozod a tárgykódot és a megfelelő jogosultsagok megszerzése után (su) make install-al install-hatod. Mind ez persze az apache disztribúcióban bővebben le van írva.

Konfiguráció
A konfiguráció legjelentősebb része a httpd.conf fileban szokott elhelyezkedni, itt lehet beállítani esetleg további konfigurácios fileokat. A konfigurácios direktivák lehetnek

Az alap modul
Mint már említettem, az alap modul csak a legfontosabb központi feladatokat látja el, de már ezzel is elég sok mindent el lehet érni. Néhány látványosabb konfigurácios direktiva a kedvenceim közül:

Néhány érdekes modul
Az alábbiakban felsorolom néhány kedvenc modulomat, amelyekkel szép és látványos kimenetet és működést lehet produkálni. Az összes konfigurációs direktiva leírása elég hosszú lenne, ezek le vannak írva az apache dokumantációjában.

mod_autoindex
Ez a modul hozza létre a már jól ismert automatikus állománylistát a könyvtárakból. Ha a modul nincs beforditva, akkor az apache megtagadja a hozzáférést a könyvtárhoz. Érdekes lehetőségek:

mod_so
Shared object fileok futásidejű betöltésére. Nem a konfigurácios lehetőségei miatt fontos, hanem azért, mert ezzel a modullal töltheted be az összes többi shared objectként lefordított modult is.

mod_rewrite
Ez a modul már igazi extra funkcionalitás. Ahogy alkotója, Ralf S. Engelshall írta: "Az URL manipulácio svajcibicskája". A modul lényege, hogy az érkező kérésekből regexp-ek segítségével új kérést fabrikál, és azt végrehajtja az igazi kérés helyett. Így például eltakarhatjuk a rendszerünk architekturális felépítését a felhasználóink elől, az url-eknek nem kell .php, .cgi, vagy éppen .dll 'kiterjesztésű' fileokra mutatniuk. Jól jöhet akkor is, ha a rendszeredet átépíted, html-eket áthelyezel, eseteleg egy CGI teljes paraméterezését megváltoztatod. A rewrite modullal továbbra is fel tudod dolgozni a régi requesteket is, minden fennakadás nélkül.

mod_ssl
Ez a modul a https protokolt valósítja meg, azaz nyilt kulcsú kodoláson alapuló biztonságos kapcsolatot hozhatunk létre segítségével a kliens és a szerver kozott. (Meg kell jegyeznem, hogy ha a kliens MS-IE, akkor ezzel komoly problemáink lesznek.) A szerzője szintén Ralf S. Engelshall, így ő írta meg két kedvenc modulomat is. Mivel néhány extra package szükséges hozzá, nincs benne a standard apache disztribúcióban, viszont le lehet tölteni mod_ssl-eol fordított apache binárisokat is. Nagyon sok lehetőség bújik meg benne, igazán profi rendszer A legjobb, ha átolvasod a dokumentációt.

folyt köv :)

Hornyák László