Dokumentáció/SL9.3/Szolgáltatások/Az Apache webszerver

Icon-webserver.png Több mint 60 százalékos piaci részedesével az Apache a világ legelterjedtebb webszervere (forrás: http://www.netcraft.com). Webes alkalmazások esetén az Apache-ot gyakran Linux-rendszerrel, MySQL adatbázissal, valamint a PHP és Perl programozási nyelvekkel együtt használják. Ezt a kombinációt szokás néha LAMP-nak hívni. Ez a fejezet az Apache webszervert mutatja be, annak telepítését és beállítását, a rendelkezésre álló modulokat, valamint a virtuális gépek különböző változatait.

Tartalomjegyzék

Alapok

Ez a rész a webszerverek, és az általuk használt protokollok legfontosabb jellemzőit tekinti át, valamint bemutatásra kerülnek a legfontosabb funkciók.

Webszerver

A webszerver szolgálja ki a kliens által kért HTML-oldalakat. Ezek az oldalak tárolhatók egy könyvtárban (passzív vagy statikus oldalak), vagy előállíthatók egy lekérdezésre válaszul (aktív tartalom).

HTTP

A kliensek legtöbbször webböngészők, mint például a Konqueror vagy a Mozilla. A böngésző és webszerver közti kommunikáció a Hypertext Transfer Protocol (HTTP) segítségével történik. Az aktuális verzió, a HTTP 1.1 dokumentációja az RFC 2068-ban és a frissített RFC 2616-ban olvasható. Ezek az RFC-k a http://www.w3.org címen találhatók meg.

URL-ek

A kliensek URL-nek nevezett, meghatározott formátumú címekkel (például http://www.novell.com/linux/suse/) kérnek le oldalakat a kiszolgálóról. Egy URL a következő elemekből áll:

Protokoll
Gyakran használt protokollok:
http://
A HTTP protokoll
https://
A HTTP biztonságos, titkosított verziója
ftp://
File Transfer Protocol (fájlátviteli protokoll) a fájlok letöltéséhez és frissítéséhez
Tartomány
A tartománynév a következőhöz hasonló: suse.novell.hu. A tartomány szintén két részre osztható. Az első rész (suse) egy számítógépre mutat. A második rész (novell.hu) a tényleges tartomány. A kettő együttes elnevezése a teljes képzésű tartománynév (FQDN, Fully Qualified Domain Name).
Erőforrás
Például index.html. Ez a rész az erőforrás teljes elérési útját adja meg. Az erőforrás lehet egy fájl, mint ebben a példában. Lehet azonban egy CGI-parancsfájl, egy JSP-oldal vagy egyéb erőforrás is.Az internet megfelelő mechanizmusai (például a névfeloldás, DNS) segítségével a kérés eljut a suse.novell.hu tartományhoz, és továbbításra kerül az erőforrást kiszolgáló egy vagy több számítógéphez. Az Apache ezután a fájlkönyvtárból rendelkezésre bocsátja az aktuális erőforrást – ebben a példában az index.html fájlt. Ebben az esetben a fájl a könyvtár legfelső szintjén található. Az erőforrások azonban alkönyvtárakban is lehetnek, például: http://support.novell.com/linux/.

A fájl elérési útja a konfigurációs fájl DocumentRoot paraméterében meghatározott helyéhez viszonyítva van megadva. A paraméter beállításának módja: DocumentRoot.

Az alapértelmezett oldal automatikus megjelenítése

Ha nincs alapértelmezett oldal megadva, akkor az Apache automatikusan hozzáfűz egy általános nevet az URL-hez. A kezdőoldalak egyik leggyakoribb neve az index.html. A funkció és a szerver által használandó aktuális oldalnevek beállításának leírása: DirectoryIndex. Ebben a példában a http://www.suse.com elegendő ahhoz, hogy a szerver kiszolgálja a http://www.novell.com/linux/suse/ oldalt.

A HTTP-kiszolgáló beállítása a YaST segítségével

Az Apache könnyen beállítható a YaST segítségével, de ehhez bizonyos ismeretekre szükség van. Miután a YaST vezérlőpulton kiválasztotta a Hálózati szolgáltatásokHTTP szerver menüpontot, előfordulhat, hogy telepíteni kell néhány hiányzó csomagot. Ha minden telepítve van, akkor a YaST megjeleníti a konfigurációs párbeszédablakot (HTTP szerver beállítások).

Ebben a párbeszédablakban először engedélyezze magát a HTTP szolgáltatást. Ez kinyitja a tűzfal megfelelő portjait (80-as port) (Tűzfal megnyitása a kiválasztott portokon). Az ablak alsó részében (Beállítások/összegzés) állítható be a helyi HTTP-szerver: a Figyelt portok (a 80-as port az alapértelmezett), a Modulok, az Alapértelmezett szerver és a Szerverek. A Szerkesztés gombra kattintva módosítható az éppen kiválasztott beállítás.

Először ellenőrizze az Alapértelmezett szerver beállítást, és ha szükséges, az igényeknek megfelelően módosítsa. Majd a Modulok segítségével aktiválja a kívánt modulokat. A részletesebb konfigurációhoz további párbeszédablakok állnak rendelkezésre, különösen, ami a virtuális gépeket illeti.

Apache-modulok

Modulok segítségével az Apache funkciók bővíthetők. Az Apache például a modulok segítségével különböző programozási nyelven írt CGI-parancsfájlokat is végrehajthat. Nem csak Perl és PHP, hanem további parancsnyelvek is használhatók, mint például a Python vagy a Ruby. Más modulok például az adatok biztonságos átvitelét (Secure Sockets Layer, SSL), a felhasználók hitelesítését, kiterjesztett naplózást és számos egyéb funkciót biztosítanak.

A megfelelő ismeretek birtokában saját modulok is készíthetők, így az Apache gyakorlatilag minden követelménynek és igénynek megfeleltethető. További információ: További források.

A kérések feldolgozásához számos »kezelő« adható meg (a konfigurációs fájl direktíváival). Ezek a kezelők lehetnek az Apache részei, de a kérés feldolgozásához egy modul is meghívható, így nagyon rugalmasan alakítható ki ez a folyamat. Egyedi modulok is használhatók, az Apache szerverrel együtt, így befolyásolható a kérések feldolgozási módja.

Az Apache modularizációja mostanra igen kifinomulttá vált: néhány kisebb feladat kivételével az összes lényeges munkát modulok végzik. Ma már olyannyira moduláris a rendszer, hogy a HTTP feldolgozását is modulok végzik. Ezért az Apache ma már nem csupán webszerverként alkalmazható. Kiegészítő modulokkal egészen más feladatokat is elláthat. Az állítás bizonyítása érdekében például létrehoztak egy Apache alapú levelezőszervert (POP3).

Az Apache-modulok számos további hasznos funkciót biztosítanak:

Virtuális szerverek
A virtuális szerverek támogatása azt jelenti, hogy egyetlen Apache-példánnyal és egyetlen számítógéppel több webhely is kiszolgálható. A webszerver a felhasználó számára úgy jelenik meg, mintha több független szerver lenne. A virtuális szerverek különböző IP-címekre, vagy különböző nevekre állíthatók be. Így megtakarítható a további számítógépek beszerzési és adminisztrációs költsége.
URL rugalmas átírása
Az Apache segítségével igen sokféleképpen módosíthatók és írhatók át az URL-ek. További részleteket az Apache dokumentációja tartalmaz.
Tartalomegyeztetés
Az Apache képes kiszolgálni a kliens (böngésző) képességeinek megfelelően átalakított oldalakat. Csak szöveges módú böngésző számára (például a Lynx) például képes kiszolgálni az oldal egyszerűsített, keretek nélküli változatát. Ily módon a különbőző böngészők JavaScript-inkompatibilitása kiküszöbölhető azáltal, hogy minden böngészőhöz a megfelelő oldalváltozatot szolgáltatja, feltéve, hogy Ön készen áll arra, hogy minden böngészőhöz külön átalakítsa a JavaScript-kódot.
Rugalmas hibakezelés
Hiba fellépése esetén (ha például az adott oldal nem létezik) a szerver rugalmasan reagál és megfelelő visszajelzést ad. A válasz akár dinamikusan is előállítható, például CGI segítségével.

Az Apache 2 új funkciói

A következő lista tartalmazza az Apache 2 fő új tulajdonságait. Részletes információkért az Apache HTTP-kiszolgálóról látogassa meg a http://httpd.apache.org/docs-2.0/en/ oldalt.

  • A többszörös kérések feldolgozhatók szálként és folyamatként. A folyamatkezelés át lett helyezve külön nodulba, amelyet párhuzamos feldolgozás (multiprocessing) modulnak (MPM) hívnak. Az MPM-től függően az Apache 2 a kérésekre különböző módokon reagál, amelyek különböző hatással vannak a teljesítményre és a modulkezelésre. A részleteket lásd lentebb.
  • Az Apache belseje teljesen át lett dolgozva. Az Apache egy új, speciális könyvtárat (Apache portable runtime, APR) használ interfészként a rendszerhívásokhoz és a memória-kezeléshez. A fontos és elterjedt modulok, mint a mod_gzip (utód: mod_deflate) és mod_ssl, amelyek nagy hatással vannak a kérések feldolgozására, jobban integrálva vannak az Apache-ba.
  • Az Apache 2 támogatja az IPv6-ot.
  • Egy új mechanizmus lehetővé teszi a modulok fejlesztőinek, hogy meghatározzák a modulok betöltési sorrendjét, így ezt nem kell a felhasználóknak maguknak csinálniuk. A modulok végrehajtási sorrendje gyakran fontos. Korábban ezt a betöltési sorrend döntötte el. Például annak a modulnak kell először futnia, amelyik autentikált felhasználóknak ad hozzáférést bizonyos erőforrásokhoz, megakadályozandó, hogy lapok jelenjenek meg olyan felhasználóknak, akiknek nincs hozzáférési jogosultságuk.
  • A kérések és válaszok feldolgozhatók filterekkel.
  • 32 bites rendszereken 2 GB-nál nagyobb fájlok támogatása (large file support, LFS).
  • Néhány újabb modul csak Apache 2-n elérhető.
  • Többnyelvű hibaüzenetek.

Szálak

A szál a folyamat »egyszerűbb« formája. A szálak előnye a folyamatokkal szemben a kisebb erőforrás-felhasználás. Más szavakkal, a szálak használata növeli a teljesítményt. A szálak segítségével történő alkalmazásvégrehajtás hátránya viszont, hogy az alkalmazásoknak szálbiztosnak (thread-safe) kell lenniük. Ennek lényege a következő:
  • A függvényeknek (vagy objektum-orientált alkalmazások metódusainak) újrahívhatóknak kell lenniük – a függvényeknek azonos bemenő értékek mellett mindig azonos kimenő értéket kell adniuk abban az esetben is, ha egyidejűleg más szálak is végrehajtják ugyanezt a függvényt. A függvényeket tehát úgy kell programozni, hogy egy időben több szál is meghívhassa őket.
  • Az erőforrások (legtöbbször változók) hozzáférését úgy kell szabályozni, hogy az egyidejűleg futó szálak ne ütközzenek.

Az Apache 2 a kéréseket külön folyamatokként kezeli, kevert módban pedig folyamatokat és szálakat egyaránt használ. A folyamatként történő végrehajtásért a prefork nevű MPM (multiprocessing module, többfeladatos modul) felelős. A szálak végrehajtását a worker nevű MPM végzi. Telepítéskor válassza ki az MPM használatát (lásd [[Dokumentáció/SL9.3/|]]). A harmadik – perchild nevű – mód még nincs teljesen kidolgozva, ezért SUSE LINUX rendszeren nem telepíthető.

Telepítés

Csomagok kiválasztása a YaST segítségével

Alapszintű telepítés esetén elegendő az apache2 csomag kiválasztása. Ezen felül egy MPM (Multiprocessing Module) csomagot – például az apache2-prefork vagy apache2-worker csomagot – is telepíteni kell. MPM kiválasztása esetén ügyeljen arra, hogy a szál alapon működő worker MPM nem használható a mod_php4 elemmel, mivel a mod_php4 néhány könyvtára még nem szálbiztos.

Az Apache aktiválása

A telepítést követően az Apache szervert a futásiszint-szerkesztőben aktiválni kell. A rendszerbetöltés közbeni indításhoz a futásiszint-szerkesztőben jelölje be a 3. és 5. futási szintet. Az Apache futásának teszteléséhez a böngészőbe írja be a http://localhost/ címet. Ha az Apache aktív, akkor megjelenik egy mintaoldal, amennyiben az apache2-example-pages telepítve van.

Az aktív tartalom moduljai

Ahhoz, hogy az aktív tartalmat modulok segítségével használni lehessen, telepítse a megfelelő programozási nyelvek moduljait. Perl esetén ez az apache2-mod_perl, PHP esetén a mod_php4 Python esetén pedig a mod_python. A modulok használatát az alábbi rész írja le: Aktív tartalom előállítása modulok segítségével.

További ajánlott csomagok

Célszerű telepíteni az apache2-doc csomagban lévő dokumentációt. Ha a csomag telepítésre, a szerver pedig a leírt módon elindításra került, akkor a dokumentáció a http://localhost/manual címen közvetlenül elérhető.

Apache-modulok fejlesztéséhez, illetve külső fejlesztésű modulok lefordításához a megfelelő fejlesztési eszközök mellé az apache2-devel csomag is szükséges. Ez az apxs eszközöket is tartalmazza. Leírásuk: Modulok telepítése az apxs segítségével.

Modulok telepítése az apxs segítségével

Az apxs2 a modulfejlesztők fontos eszköze. E program segítségével a forráskódban meglévő modulok egyetlen paranccsal lefordíthatók és telepíthetők (a konfigurációs fájlok szükséges módosítását is beleértve). Emellett olyan modulok is telepíthetők, melyek objektumfájlként (.o kiterjesztés) vagy statikus függvénytárként (.a kiterjesztés) állnak rendelkezésre. Forrásból telepítéskor az apxs2 egy dinamikus megosztott objektumot (DSO) hoz létre, amelyet az Apache közvetlenül modulként használ.

Az apxs2 -c -i -a mod_foo.c parancs például egy modult telepít forráskódból. Az apxs2 további paramétereit a vonatkozó kézikönyvoldal (man) írja le. A modulokat ezután a /etc/sysconfig/apache2 fájlban az APACHE_MODULES bejegyzés segítségével aktiválni kell (lásd Beállítás SuSEconfig segítségével).

Több apxs2 verzió létezik: apxs2, apxs2-prefork és apxs2-worker. Az apxs2 úgy telepíti a modulokat, hogy minden MPM-hez használhatók legyenek. A másik két program pedig úgy telepíti a modulokat, hogy csak a megfelelő MPM-hez (prefork vagy worker) lehessen használni. Az apxs2 a /usr/lib/apache2 könyvtárba, az apxs2-prefork pedig a /usr/lib/apache2-prefork könyvtárba telepíti a modulokat.

Beállítás

Az Apache telepítése után további módosítások csak különleges igények vagy beállítások esetén szükségesek. Az Apache beállítható a YaST és a SuSEconfig segítségével, vagy közvetlenül a /etc/apache2/httpd.conf fájl szerkesztésével.

Beállítás SuSEconfig segítségével

A /etc/sysconfig/apache2 fájlban megadott beállításokat a SuSEconfig alkalmazza az Apache konfigurációs fájlokra. A felajánlott konfigurációs opcióknak a legtöbb példahelyzetben megfelelőnek kell lenniük. A fájl minden egyes változóhoz külön magyarázatot tartalmaz.

Egyéni konfigurációs fájlok

A /etc/apache2/httpd.conf fájl közvetlen módosítása helyett az APACHE_CONF_INCLUDE_FILES változók segítségével megadható egy saját konfigurációs fájl, mint például a httpd.conf.local. Ezt a fájlt a fő konfigurációs fájl értelmezi. Ily módon a konfiguráció módosításai akkor is megmaradnak, ha egy új telepítés során az /etc/apache2/httpd.conf fájl átírásra kerül.

Modulok

A YaST segítségével telepített modulok az APACHE_MODULES változó alatt megadott listához adással aktiválhatók. A változó az /etc/sysconfig/apache2 fájlban van megadva.

Jelzők

Az APACHE_SERVER_FLAGS segítségével olyan jelzők adhatók meg, amelyek a konfigurációs fájl bizonyos részeit aktiválják, illetve letiltják. Amennyiben a konfigurációs fájl egy területét az alábbiak zárják közre:
<IfDefine someflag>
.
.
.
</IfDefine>

akkor ez a rész csak akkor kerül aktiválásra, ha az ACTIVE_SERVER_FLAGS változó megfelelő jelzője be van állítva: {{{1}}}. Ily módon a konfigurációs fájl nagyobb területei egyszerűen aktiválhatók és letilthatók.

Kézi beállítás

Az /etc/apache2/httpd.conf konfigurációs fájl módosításával az /etc/sysconfig/apache2 fájlban megadott beállításokon keresztül nem elérhető funkciók is engedélyezhetők. Az alábbi részben bemutatunk néhányat a beállítható paraméterek közül. Ezek a fájlban megjelenésük sorrendjében kerülnek felsorolásra.

DocumentRoot

A DocumentRoot az egyik legfontosabb beállítás – az a könyvtár, amely alatt az Apache a szerver által kiszolgálandó weboldalakat várja. Az alapértelmezett virtuális szerver esetén az értéke /srv/www/htdocs. Ezt a beállítást általában nem kell módosítani.

Timeout

Azt a várakozási időt adja meg, mely elteltével a szerver időtúllépési (timeout) üzenetet ad válaszként egy kérésre.

MaxClients

Az Apache által egyidejűleg kiszolgálható kliensek maximális száma. Az alapértelmezett beállítás 150, de ez az érték egy sokat látogatott weboldal esetén túl alacsony lehet.

LoadModule

A LoadModule utasítások határozzák meg a betöltendő modulokat. A betöltési sorrendet maguk a modulok határozzák meg. Ezek az utasítások a modult tartalmazó fájlt is megadják.

Port

Azt a portot adja meg, amelyen az Apache várja a kéréseket. Ez a port általában a 80-as, a HTTP alapértelmezett portja. A legtöbb esetben ezt a beállítást nem kell módosítani. Egy lehetséges ok annak engedélyezésére, hogy az Apache másik portot figyeljen, a webhely új változatának tesztelése. Ily módon a webhely működő változata továbbra is az alapértelmezett 80-as porton keresztül érhető el.

Egy másik ok az lehet, hogy az adott oldakat csak intraneten kívánja közzétenni, mert nem a nyilvánosság számára szánt információt tartalmaz. Ehhez állítsa a port értékét például 8080-ra és a tűzfal segítségével blokkolja a port külső elérését. Így a szerver megvédhető a külső hozzáféréstől.

Directory

Ezen utasítás segítségével a könyvtárak hozzáférési és egyéb jogosultságai állíthatók be. A DocumentRoot-hoz is létezik egy ilyen utasítás. Az itt megadott könyvtárnevet a DocumentRoot-tal együtt kell módosítani.

DirectoryIndex

Itt adható meg, hogy az Apache mely fájlokat keresse meg olyan URL-ek esetén, amelyek nem tartalmaznak fájlspecifikációt. Az alapértelmezett beállítás az index.html. Ha a kliens például a http://www.example.com/foo/bar URL-t kéri, és a DocumentRoot alatt a foo/bar könyvtárban létezik az index.html nevű fájl, akkor az Apache ezt az oldalt adja vissza a kliensnek.

AllowOverride

Minden könyvtár, amelyből az Apache dokumentumokat szolgáltat, egy olyan fájlt is tartalmazhat, amely képes egy adott könyvtár globálisan beállított hozzáférési jogait és egyéb beállításait megváltoztatni. Ezen beállítások rekurzív módon az aktuális könyvtárra és annak alkönyvtáraira is érvényesek egészen addig, amíg egy alkönyvtárban egy másik, hasonló fájl ellenkező módon nem rendelkezik. Ez azt is jelenti, hogy a DocumentRoot-ban lévő ilyen fájl beállításai globálisan érvényesek. Ezen fájlok neve általában .htaccess, de ezt meg is lehet változtatni (lásd AccessFileName).

Az AllowOverride segítségével meghatározható, hogy a helyi fájlokban megadott beállítások felülírhatják-e a globális beállításokat. Leheteséges értékek: None, All és a következők minden lehetséges kombinációja: Options, FileInfo, AuthConfig és Limit. Ezen értékek jelentése az Apache dokumentációjában részletesen le van írva. Az alapértelmezett, biztonságos beállítás: None.

Order

Ez az opció befolyásolja a hozzáférési jogok beállításainak sorrendjét, mégpedig annak meghatározásával, hogy az Allow (engedélyez) vagy a Deny (tilt) mód kerüljön-e alkalmazásra. Az alapértelmezett beállítás:

Order allow,deny

Ennek megfelelően először a hozzáférést engedő szabályok kerülnek alkalmazásra, majd utána a hozzáférést tiltók. Az alapelv az alábbiak egyike:

allow all
minden hozzáférést megenged, és kivételeket ad meg
deny all
minden hozzáférést megtagad, és kivételeket ad megPélda a deny all szemléletre:
Order deny,allow
Deny from all
Allow from example.com
Allow from 10.1.0.0/255.255.0.0

AccessFileName

Itt állíthatók be azon állományok neve, amelyek felülírhatják az Apache által szolgáltatott könyvtárak globális hozzáférési jogait és egyéb beállításait (AllowOverride). Az alapértelmezett beállítás a .htaccess.

ErrorLog

A fájl nevét adja meg, amelyben az Apache a hibaüzeneteket naplózza. Az alapértelmezett beállítás a /var/log/httpd/errorlog. A virtuális szerverek hibaüzenetei (Virtuális szerverek) szintén ebben a fájlban kerülnek naplózásra, hacsak a konfigurációs fájl VirtualHost részében nincs külön naplófájl megadva.

LogLevel

A hibaüzenetek a különböző fontossági szinteknek megfelelően osztályozhatók. Ez a beállítás a fontossági szintet adja meg, amelytől kezdve a hibaüzenetek naplózásra kerülnek. Egy adott szint beállítása azt jelenti, hogy a megadott fokozat üzenetei, valamint a magasabb szintű üzenetek naplózásra kerülnek. Az alapértelmezett beállítás: warn.

Alias

A másodlagos nevekkel egy rövidebb út adható meg a könyvtárhoz, amellyel a könyvtár közvetlenül elérhető. Például a /manual/ másodlagos névvel az /srv/www/htdocs/manual könyvtárhoz akkor is hozzá lehet férni, ha a DocumentRoot nem a /srv/www/htdocs könyvtárra van állítva (az alias nem foglalkozik azzal, hogy a DocumentRoot erre a könyvtárra van-e állítva). Ezzel a másodlagos névvel az http://localhost/manual címen közvetlenül elérhető a megfelelő könyvtár. Az Alias direktívával megadott új célkönyvtár jogosultságainak meghatározásához egy Directory direktíva kiadására is szükség lehet. Lásd Directory.

ScriptAlias

Ez a direktíva az Alias direktívához hasonló. Ezen felül viszont azt is jelzi, hogy a célkönyvtárban lévő fájlokat CGI-parancsfájlokként kell kezelni.

Server-Side Includes

A szerveroldali beágyazáok (server-side includes) úgy aktiválhatók, hogy az összes végrehajtható fájlban meg kell keresni az SSI-ket. Ez az alábbi utasítással hajtható végre:
<IfModule mod_include.c>
XBitHack on </IfModule>

Ahhoz, hogy a fájlban SSI-ket kereshessen, a chmod +x fájlnév paranccsal tegye a fájlt végrehajthatóvá. Vagy pedig explicit módon adja meg a fájltípust, amelyben SSI-ket szeretne keresni. Ez az alábbi utasítással hajtható végre:

AddType text/html .shtml
AddHandler server-parsed .shtml

Nem javasolt a .html fájltípust megadni, mivel ennek hatására az Apache minden egyes oldalban SSI-ket keresne (azokban is, amelyek minden bizonnyal nem tartalmaznak ilyet), és ez nagymértékben csökkenti a teljesítményt. SUSE LINUX rendszeren ez a két utasítás már benne van a konfigurációs fájlban, így legtöbbször nincs szükség módosításra.

UserDir

A mod_userdir modul és a UserDir direktíva segítségével a felhasználó saját könyvtárán belül megadható egy könyvtár, amelynek fájljai az Apache-on keresztül közzétehetők. Ez a SuSEconfig HTTPD_SEC_PUBLIC_HTML változó segítségével állítható be. A fájlok közzétételéhez a változót yes értékre kell állítani. Ennek eredményeképp az /etc/apache2/mod_userdir.conf fájlban az alábbi bejegyzés jön létre, amelyet az /etc/apache2/httpd.conf értelmez.

<IfModule mod_userdir.c>
UserDir public_html
</IfModule>

Az Apache használata

Ahhoz, hogy az Apache segítségével statikus weboldalakat jeleníthessen meg, egyszerűen helyezze el a fájlokat a megfelelő könyvtárba. SUSE LINUX alatt ez a könyvtár az /srv/www/htdocs (az alapértelmezés szerint). Az itt található oldalak segítségével ellenőrizhető az Apache megfelelő telepítése és működése. Ezek az oldalak egyszerűen felülírhatók vagy eltávolíthatók. Az egyéni CGI-parancsfájlok a /srv/www/cgi-bin könyvtárba kerülnek telepítésre. A működés során az Apache naplóüzeneteket ír a/var/log/httpd/access_log vagy /var/log/apache2/access_log fájlba. Ezek az üzenetek megjelenítik a kért és kézbesített erőforrásokat, a kérés/kézbesítés idejét és a használt metódust (GET, POST stb). A hibaüzenetek a /var/log/apache2 könyvtárban kerülnek naplózásra .

Aktív tartalom

Az Apache számos lehetőséget biztosít az aktív tartalom kiszolgálására. Aktív tartalom alatt olyan HTML-oldalakat értünk, amelyek a kliens változó bemeneti adatai alapján kerültek előállításra. Ilyenek például a keresőmotorok, amelyek egy vagy több keresett karaktersorozat alapján visszaadják a keresett szöveget tartalmazó oldalak listáját.

Az Apache segítségével háromféleképp lehet aktív tartalmat előállítani:

Szerveroldali beágyazások (Server Side Includes, SSI)
A szerveroldali beágyazások tulajdonképpen speciális megjegyzésekként a HTML-oldalba ágyazott utasítások. Az Apache értelmezi a megjegyzések tartalmát és az eredményt a HTML-oldal részeként állítja elő.
Common Gateway Interface (CGI)
Ezek meghatározott könyvtárakban található programok. Az Apache továbbadja a kliens által elküldött paramétereket ezeknek a programoknak, a kliensnek pedig átadja a programok által előállított kimenetet. Ez a fajta programozás viszonylag egyszerű, mivel meglévő parancssori programok alakíthatók át olyan módon, hogy bemenetet fogadnak az Apache-tól és visszaadják a kimenetet az Apache-nak.
Modul
Az Apache csatolókat kínál tetszőleges modulok végrehajtásához a kérés feldolgozásának részeként. Az Apache lehetővé teszi, hogy a programok hozzáférhessenek a fontos adatokhoz, mint például a kérés maga, vagy a HTTP-fejlécek. Így a programok részt vállalhatnak az aktív tartalom előállításában és egyéb funkciók – mint például a hitelesítés – elvégzésében. Az ilyen modulok programozása szakértelmet igényel. A megközelítés előnye a jó teljesítmény és hogy e megoldás lényegesen nagyobb szabadságot biztosít, mint az SSI és CGI megoldások.A CGI-parancsfájlokat az Apache közvetlenül a tulajdonos felhasználói azonosítója alatt hajtja végre, a modulokat viszont az Apache beágyazott, állandó értelmezője vezérli. Ily módon nem kell minden kéréshez külön folyamatot indítani és befejezni (ez jelentős töbletterhelést jelent a folyamatkezelés, memóriakezelés stb. esetén). Ehelyett a parancsértelmezőt a webszerver azonosítója alatt futó értelmező kezeli.

Azonban ez a megoldás sem tökéletes. A modulokkal összehasonlítva a CGI-parancsfájlok viszonylag toleránsak a hanyag programozással szemben. CGI-parancsfájlok használata esetén az olyan hibáknak, mint az erőforrások és memória fel nem szabadítása, nincs tartós hatása, hiszen a programok a kérés feldolgozását követően befejeződnek. Ez a memória kiürítését okozza, amelyet a program programozási hiba miatt nem szabadított fel. Modulok esetén a programozási hibák hatása halmozódik, mivel az értelmező folyamatosan fut. Ha a kiszolgáló nem kerül újraidításra és az értelmező több hónapig fut, akkor az erőforrások – mint például az adatbázis-kapcsolatok – fel nem szabadítása meglehetősen sok gondot okozhat.

Szerveroldali beágyazások (Server Side Includes)

Az SSI-k speciális megjegyzésekbe beágyazott, az Apache által végrehajtott utasítások. Az eredmény a kimenetbe van ágyazva. Az aktuális dátum például az alábbi utasítás segítségével írható ki: . A megjegyzés ({{susedoc:literal|

Common Gateway Interface

A CGI a common gateway interface (egységes átjárófelület) rövidítése. CGI használata esetén a szerver nem egyszerűen egy statikus HTML-oldalt szolgál ki, hanem az oldalt előállító programot hajt végre. Így olyan oldalak állíthatók elő, amelyek egy számítás eredményét ábrázolják; ilyen lehet például egy adatbázis-keresés eredménye. A végrehajtandó programnak paramétereket is át lehet adni, így minden egyes kérésre egyéni válaszoldal állítható elő.

A CGI fő előnye, hogy a technológia meglehetősen egyszerű. A programot csak egy adott könyvtárban kell tárolni ahhoz, hogy a webszerver ugyanúgy hajtsa végre, mint egy parancssori programot. A szerver a programnak a szabványos kimeneti csatornára (stdout) írt kimenetét továbbítja a kliensnek.

A CGI-programok elvileg tetszőleges programozási nyelven megírhatók. Ezen célra jellemzően parancskezelő-nyelveket (értelmezett nyelveket) alkalmaznak, mint például a Perl vagy a PHP. Ha a sebesség kritikus fontosságú, akkor a C vagy C++ nyelv használata megfelelőbb lehet.

A legegyszerűbb esetben az Apache ezeket a programokat egy adott könyvtárban keresi (cgi-bin). Ez a könyvtár a konfigurációs fájlban állítható be (Beállítás). Szükség esetén további könyvtárak is megadhatók. Ebben az esetben az Apache ezekben a könyvtárakban keresi a végrehajtható programokat. Ez azonban biztonsági kockázatot jelent, mivel bármely felhasználó (akár rosszindulatú) programokat is végrehajtathat az Apache kiszolgálón keresztül. Ha a végrehajtható programok a cgi-bin könyvtárra vannak korlátozva, akkor az adminisztrátor könnyen megtekintheti, hogy a könyvtár mely parancsfájlja kihez tartozik és ellenőrizheti az esetleges rosszindulatú szándékot.

GET és POST

A bemeneti paraméterek a GET vagy POST parancs segítségével adhatók át a szervernek. Az alkalmazott módszertől függően a szerver más-más módon továbbítja a paramétereket. POST használata esetén a szerver a paramétereket a szabványos kimeneten (stdin) adja át. A program ugyanúgy kapja meg a bemenetet, mintha egy konzolról lett volna indítva. GET parancs alkalmazása esetén a szerver a QUERY_STRING környezeti változó segítségével adja át a paramétereket a programnak.

Aktív tartalom előállítása modulok segítségével

Számos modul áll rendelkezésre az Apache kiszolgálóhoz. A »modul« kifejezést kétféle értelemben is használjuk. Egyrészt az Apache szerverbe integrálható modulokról van szó, amelyek adott funkciókat látnak el, ilyenek például a programozási nyelvek beágyazására használt bemutatott modulok.

Másrészt, programozási nyelvekkel kapcsolatban a modulok függvények, osztályok és változók egy független csoportját jelentik. Ezek a modulok egy adott funkció biztosítása érdekében egy programba vannak integrálva, mint például az összes parancsfájlkezelési nyelvhez rendelkezésre álló CGI-modulok. Ezek a modulok elősegítik a CGI-alkalmazások programozását azáltal, hogy különböző funkciókat biztostosítanak: ilyenek például a kérés paramétereinek olvasási és a HTML-kimenet előállítási metódusai.

mod_perl

A Perl egy népszerű, kipróbált parancsfájlkezelő nyelv. Számos modul és függvénytár áll rendelkezésre a Perlhez, az Apache konfigurációs fájl bővítésére szolgáló függvénytárat is beleértve. A Perl függvénytárai a Comprehensive Perl Archive Network-ben (CPAN) érhetők el, a http://www.cpan.org/ címen.

A mod_perl beállítása

A mod_perl SUSE LINUX alatti beállításához elég telepíteni a megfelelő csomagot (lásd [[Dokumentáció/SL9.3/|]]). A telepítést követően az Apache konfigurációs fájl tartalmazni fogja a szükséges bejegyzéseket (lásd /etc/apache2/mod_perl-startup.pl). A mod_perl-lel kapcsolatos információ a http://perl.apache.org/ címen található.

mod_perl - CGI

A legegyszerűbb esetben a CGI-parancsfájlt mod_perl parancsfájlként futtathatjuk egy másik URL-lel meghívva. A konfigurációs fájl másodlagos neveket (aliasokat) tartalmaz, amelyek ugyanarra a könyvtárra mutatnak, és CGI-n vagy mod_perl-en keresztül végrehajtják a benne lévő parancsfájlokat. Ezeket a bejegyzéseket a konfigurációs fájl már tartalmazza. A CGI alias bejegyzése:

ScriptAlias /cgi-bin/ "/srv/www/cgi-bin/"

A mod_perl bejegyzései:

#
# If mod_perl is activated, load configuration information
#
<IfModule mod_perl.c>
Perlrequire /usr/include/apache/modules/perl/startup.perl
PerlModule Apache::Registry

#
# set Apache::Registry Mode for /perl Alias
#
<Location /perl>
SetHandler  perl-script
PerlHandler Apache::Registry
Options ExecCGI
PerlSendHeader On
</Location>

#
# set Apache::PerlRun Mode for /cgi-perl Alias
#
<Location /cgi-perl>
SetHandler  perl-script
PerlHandler Apache::PerlRun
Options ExecCGI
PerlSendHeader On
</Location>

</IfModule>


A következő bejegyzések szintén szükségesek a mod_perl használatához. Ezeket a bejegyzéseket a konfigurációs fájl már tartalmazza.

#
# Ha a mod_perl aktiválva van, akkor töltse be a konfigurációs adatokat
#
<IfModule mod_perl.c>
Perlrequire /usr/include/apache/modules/perl/startup.perl
PerlModule Apache::Registry

#
# set Apache::Registry mód beállítása a /perl aliashoz
#
<Location /perl>
SetHandler  perl-script
PerlHandler Apache::Registry
Options ExecCGI
PerlSendHeader On
</Location>

#
# set Apache::PerlRun mód a /cgi-perl aliashoz
#
<Location /cgi-perl>
SetHandler  perl-script
PerlHandler Apache::PerlRun
Options ExecCGI
PerlSendHeader On
</Location>

</IfModule>

Ezek a bejegyzések aliasokat hoznak létre az Apache::Registry és Apache::PerlRun módhoz. A két mód közötti különbség:

Apache::Registry
Minden parancsfájl lefordításra kerül, majd egy gyorsítótárban tárolódik. Minden parancsfájl a szubrutin tartalmaként kerül alkalmazásra. Ez kedvezően hat a teljesítményre, de hátránya is van: a parancsfájlokat nagyon körültekintően kell programozni, mivel a változók és szubrutinok a kérések között megmaradnak. Ez azt jelenti, hogy a változókat sajátkezűleg kell visszaállítani, hogy a következő meghíváskor újra lehessen használni őket. Ha például egy online banki szolgáltatás parancsfájljában az ügyfél hitelkártyaszáma egy változóban kerül tárolásra, akkor ez a szám újra megjelenhetne, amikor a következő ügyfél az alkalmazást használja, és ugyanezt a parancsfájlt meghívja.
Apache::PerlRun
A parancsfájlok minden kéréshez újra lefordításra kerülnek. A változók és a szubrutinok a meghívások között kitörlődnek a névtérből (a névtér a változó- és rutinnevek összesége, amelyek a parancsfájl létezése során kerülnek megadásra). Az Apache::PerlRun nem igényel körültekintő programozást, mivel az összes változó újra inicializálásra kerül a parancsfájl elindításakor és az előző kérésből származó értékek nem kerülnek megtartásra. Ebből kifolyólag az Apache::PerlRun lassabb, mint az Apache::Registry, de sokkal gyorsabb, mint a CGI (a CGI-vel való hasonlósága ellenére), mivel az értelmezőhöz nem kerül elindításra külön folyamat.

mod_php4

A PHP kifejezetten webszerverekkel együttes használatra kifejlesztett programozási nyelv. Más nyelvekkel ellentétben, amelyek parancsai külön fájlokban kerülnek tárolásra (parancsfájlok), a PHP-parancsok HTML-oldalakba vannak beágyazva (az SSI-hez hasonlóan). A PHP-értelmező feldolgozza a PHP-parancsokat és annak eredményét beágyazza egy HTML-oldalba.

A PHP honlapja a http://www.php.net/ címen található. A PHP működéséhez Apache 2 alatt a mod_php4-core mellett az apache2-mod_php4 csomagot is telepíteni kell.

mod_python

A Python egy objektumorientált programozási nyelv, melynek szintaxisa igen világos és könnyen olvasható. Kissé szokatlan, de kényelmes funkció, hogy a program szerkezete a behúzás mélységétől (indentation) függ. A blokkok nem zárójelekkel (mint C vagy Perl esetén) vagy egyéb határolókkal – mint például a begin és end panancs – kerülnek elválasztásra, hanem a behúzás szintjével. Az apache2-mod_python csomagot kell telepíteni.

A nyelvvel kapcsolatos további információ a http://www.python.org/ címen található. A mod_python modullal kapcsolatos további információ a http://www.modpython.org/ címen található.

mod_ruby

A Ruby egy aránylag új, magasszintű, objektumorientált programozási nyelv, amely a Perlre és Pythonra is hasonlít és a parancsfájlokhoz ideális. A Pythonhoz hasonló világos, átlátható szintaxissal rendelkezik. Más részről a Ruby átvette a sok programozó által közkedvelt (mások által megvetett) rövidítéseket, mint például a $.r a bemeneti fájl utolsó beolvasott sorára. A Ruby alapkoncepciója nagyon hasonlít a Smalltalkéra.

A Ruby honlapja a http://www.ruby-lang.org/ címen található. A Ruby-hoz is rendelkezésre áll Apache-modul. A honlap a http://www.modruby.net/ címen található.

Virtuális szerverek

Virtuális szerverek segítségével egy webszerver több tartományt is kiszolgálhat. Így pénz és adminisztrációs munka takarítható meg, mivel nem kell minden tartományhoz külön szervert fenntartani. Többféle lehetőség is rendelkezésre áll a virtuális szerverek kialakításához:
  • Név alapú virtuális szerverek
  • IP alapú virtuális szerverek
  • Több Apache-példány működtetése egy gépen

Név alapú virtuális szerverek

Név alapú virtuális szerverek esetén egy Apache-példány több tartományt szolgál ki. Egy géphez nem kell több IP-címet beállítani. Ez a legegyszerűbb, javasolt megoldás. A név alapú virtuális szerverek elleni érvek az Apache-dokumentációban olvashatók.

Ez közvetlenül az /etc/apache2/httpd.conf konfigurációs fájlban állítható be. A név alapú virtuális szerverek aktiválásához meg kell adni egy megfelelő utasítást. A NameVirtualHost *.* elegendő ahhoz, hogy az Apache az összes bejövő kérést elfogadja. Ezt követően be kell állítani az egyes szervereket:

<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>

A szerveren eredetileg kiszolgált tartományhoz a VirtualHost bejegyzést is be kell állítani (www.example.com). Ebben a példában az eredeti tartomány és egy további tartomány (www.myothercompany.com) kerül kiszolgálásra ugyanazon a szerveren.

A NameVirtualHost-hoz hasonlóan a * karakter a VirtualHost utasításokban is használható. Az Apache a HTTP fejléc gépnév (host) mezője segítségével továbbítja a kérést a virtuális szerverhez. A kérés ahhoz a virtuális szerverhez kerül továbbításra, amelynek ServerName értéke megegyezik a mezőben megadott gépnévvel.

Az ErrorLog és CustomLog direktívák használata esetén a naplófájloknak nem kell tartalmazniuk a tartománynevet. Itt tetszőleges név használható.

A ServerAdmin a felelős személy e-mail címét jelzi, akihez probléma esetén fordulni lehet. Hibák esetén az Apache ezt a címet adja meg a felhasználó számára küldött hibaüzenetekben.

IP alapú virtuális szerverek

E módszer használatához a számítógépen egynél több IP-címet kell beállítani. Ebben az esetben egy Apache-példány több tartományt szolgál ki, melyek mindegyike saját IP-címmel rendelkezik. Az alábbi példa bemutatja, hogy az Apache hogyan állítható be, hogy az eredeti IP-címen (192.168.1.10) kívül két továbbit (192.168.1.20 és 192.168.1.21) is kiszolgáljon. Ez a konkrét példa természetesen csak intraneten működik, mivel a 192.168.0.0 - 192.168.255.0 tartományba eső IP-címek nem kerülnek továbbításra az interneten.

IP-aliasok kezelésének beállítása

Ahhoz, hogy az Apache több IP-címet is kiszolgáljon, az alapul szolgáló gépnek több IP-címen kell tudnia kéréseket fogadnia. Ezt több IP-cím kiszolgálásának nevezik. Ehhez a kernelben aktiválni kell az IP-aliasok kezelését. Ez a SUSE LINUX alapértelmezett beállítása.

Ha az IP-aliasok kezelése be lett állítva, akkor az ifconfig és route parancs segítségével a gépen további IP-címek állíthatók be. Ezeket a parancsokat csak a root felhasználó hajthatja végre. A következő példában feltételezzük, hogy a gép már rendelkezik saját IP-címmel, például 192.168.1.10, amely az eth0 hálózati eszközhöz van rendelve.

A gép IP-címe az ifconfig parancs segítségével jeleníthető meg. Az alábbi parancs segítségével további IP-címek adhatók meg:

ip addr add 192.168.1.20/24 dev eth0

Az összes IP-cím ugyanahhoz a fizikai hálózati eszközhöz van hozzárendelve (eth0).

Virtuális gépek IP-címekkel

Ha az IP-aliasok kezelése be van állítva a rendszeren, vagy a gép több hálózati kártyával rendelkezik, akkor az Apache is beállítható több IP-cím használatára.

Minden virtuális szerverhez külön VirtualHost blokkot kell megadni:

<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>

A VirtualHost direktívákat csak a további tartományokhoz kell megadni. Az eredeti tartomány (www.example.com) a saját beállításai segítségével kerül megadásra (a DocumentRoot alatt stb), a VirtualHost blokkokon kívül.

Több Apache-példány

Ha a virtuális szerverek a fenti módszerek valamelyikével kerültek megadásra, akkor az egyik tartomány adminisztrátora olvashatja a többi tartomány adatait. Az egyes tartományok elkülönítéséhez indítson el több Apache-példányt, amelyek saját User, Group és egyéb utasításértékeket használnak a konfigurációs fájlban.

A konfigurációs fájlban a Listen utasítás segítségével megadható az Apache példány által kezelt IP-cím. A fenti példában az Apache-példány utasítása az alábbi módon néz ki:

Listen 192.168.1.10:80

A másik két példány esetén:

Listen 192.168.1.20:80
Listen 192.168.1.21:80

Biztonság

A kockázat minimalizálása

Ha a gépen nincs szükség webszerverre, akkor a futásiszint-szerkesztőben állítsa le az Apache-kiszolgálót, távolítsa el, vagy eleve ne is telepítse. A kockázat minimalizálása érdekében állítsa le az összes szükségtelen szervert. Ez különösen a tűzfalként használt gépekre érvényes. Amennyiben lehetséges, egyáltalán ne futtasson szervereket ezeken a gépeken.

Hozzáférési jogosultságok

A DocumentRoot által megjelölt könyvtárnak a root felhasználóhoz kell tartoznia

Alapértelmezés szerint a DocumentRoot (/srv/www/htdocs) és a CGI könyvtár a root felhasználóhoz tartozik. Ezt a beállítást nem szabad módosítani. Ha a könyvtárakhoz minden felhasználó írási jogosultsággal rendelkezne, akkor bármely felhasználó fájlokat helyezhetne el benne. Ezeket a fájlokat aztán végre lehetne hajtatni az Apache szerverrel, a wwwrun felhasználó jogosultságaival. Az Apache szerver ne rendelkezzen írási jogosultsággal az általa kiszolgált adatokra és parancsfájlokra vonatkozóan. Ezért ezeknek nem a wwwrun, hanem egy másik – például a root – felhasználóhoz kell tartoznia.

Amennyiben engedélyezni kívánja, hogy a felhasználók fájlokat helyezhessenek el az Apache dokumentumkönyvtárában, akkor sem kell mindenki számára írási jogosultságot biztosítani. Ehelyett hozzon létre egy mindenki számára írható alkönyvtárat, például /srv/www/htdocs/vegyes.

Dokumentumok közzététele saját könyvtárakból

Ha igény van arra, hogy a felhasználók közzétegyenek fájlokat, akkor a saját könyvtárban megadható egy alkönyvtár, amely használható erre a célra. A fájl neve hagyományosan ~/public_html. A SUSE LINUX-ban ez a lehetőség alapértelmezés szerint aktiválva van. Részletes információ: UserDir.

Ezek a weboldalak úgy érhetők el, hogy a felhasználó nevét megadjuk az URL-ben. Az URL tartalmazza a ~felhasználónév elemet. Ezen a címen a webszerver a felhasználó saját könyvtárában lévő megfelelő könyvtár tartalmát szolgálja ki. Ha például a http://localhost/~tux URL-t beírja a böngészőbe, akkor megjelenik a tux felhasználó saját könyvtárában található public_html könyvtár fájljainak a listája.

Folyamatos tájékozódás

Ha webszervert működtet, főleg ha nyilvánosan elérhetőt, mindig tájékozódnia kell, hogy mik a hibaforrások és a lehetséges támadási felületek. Az ismert támadási pontok és a javítások forrásainak listája: Biztonság.

Hibaelhárítás

Probléma felmerülése esetén, ha például az Apache nem jelenít meg egy oldalt, vagy nem megfelelően jeleníti meg, akkor az alábbi eljárások segíthetnek a problémák megkeresésében. Először is tekintse meg a hibanaplót, hátha a benne lévő üzenetek feltárják a hibát. Az általános hibanapló elérési útja: /var/log/apache2/error_log.

Bevált módszer, hogy a konzolon nyomon lehet követni a naplófájlt, így látható, hogy a szerver hogyan reagál a hozzáférésre. Ez az alábbi parancs egy root konzolon való kiadásával hajtható végre.

tail -f /var/log/apache2/*_log

Tekintse meg az online hibaadatbázist a http://bugs.apache.org/ címen. Olvassa el a megfelelő levelezési listákat és hírcsoportokat. A felhasználók levelezési listája a http://httpd.apache.org/userslist.html címen érhető el. Ajánljuk a comp.infosystems.www.servers.unix és az ehhez kapcsolódó hírcsoportokat.

Ha egyik lehetőség sem nyújt megoldást, és biztos benne, hogy az Apache-ban észlelt egy hibát, akkor ezt a http://www.suse.de/feedback/ címen jelentheti be.

További információ

Az Apache széles körben használt webszerver. Ennek következtében részletes dokumentáció áll rendelkezésre és számos webhely kínál segítséget és támogatást a termékhez.

Apache

Az Apache részletes dokumentációval együtt érkezik. A dokumentáció telepítésének leírása: [[Dokumentáció/SL9.3/|]]. Telepítés után a dokumentáció a http://localhost/manual címen érhető el. A legfrissebb dokumentáció az Apache holapján érhető el, a http://httpd.apache.org címen.

CGI

A CGI-vel kapcsolatos információ az alábbi oldalakon érhető el:

Biztonság

A SUSE LINUX csomagok legújabb javításai a http://www.novell.com/linux/security/securitysupport.html címen érhetők el. Látogassa meg ezt a helyet rendszeres időközönként. Itt a biztonsági hirdetményeket tartalmazó SUSE levelezési listára is fel lehet iratkozni.

Az Apache a nyílt információ elkötelezett híve, különösen az Apache hibáit illetően. A legújabb hibák és a lehetséges támadási felületek leírása a http://httpd.apache.org/security_report.html címen található. Ha biztonsági hibát észlel (tekintse meg az említett oldalakat anak ellenőrzéséhez, hogy ezt még nem találták meg), jelentse az alábbi címek egyikén: security@suse.de vagy security@apache.org.

További források

Problémák esetén tekintse meg a SUSE terméktámogatási adatbázist a http://portal.suse.com/sdb/en/index.html címen. Az Apache szerverrel foglalkozó online újság címe: http://www.apacheweek.com/.

Az Apache története a http://httpd.apache.org/ABOUT_APACHE.html címen olvasható. Itt az is megtudható, hogy a szerver miért az Apache nevet kapta.

Az 1.3-ról a 2.0 változatra frissítéssel kapcsolatos információ a http://httpd.apache.org/docs-2.0/en/upgrading.html címen található.