Kiejtés

  • IPA: [ ˈɒpɒɦɛ ˈxtp ˈsɛrvɛr]

Főnév

Apache HTTP szerver

  1. (informatika, számítógép-hálózatok) Az Apache HTTP Server (röviden Apache) egy nyílt forráskódú, népszerű webszerver szoftver, amely lehetővé teszi a weboldalak kiszolgálását és kezelését az interneten vagy helyi hálózatokon. Az Apache az egyik legszélesebb körben használt webszerver a világon, mivel stabil, rugalmas, és számos modul segítségével könnyen bővíthető, hogy megfeleljen különféle alkalmazási igényeknek.

Fő jellemzők

  1. Többplatformos támogatás:
    • Az Apache támogatja a Linuxot, Windows-t, macOS-t és más operációs rendszereket, így szinte minden platformon használható.
  2. Moduláris felépítés:
    • Az Apache rugalmasan bővíthető, mivel moduláris szerkezettel rendelkezik. Az alaptelepítés mellett különböző modulok (például SSL, PHP, Python támogatás, stb.) betöltésével különböző funkciókat lehet hozzáadni a webszerverhez.
  3. Virtuális hostok (Virtual Hosts):
    • Az Apache lehetőséget biztosít több webhely kiszolgálására egyetlen szerverről különböző domain nevek vagy IP-címek használatával. Ezt virtuális hostok segítségével valósítja meg, így egyetlen szerver különböző webhelyeket tud kiszolgálni.
  4. Támogatás dinamikus tartalmakhoz:
    • Az Apache támogatja a dinamikus tartalmak kiszolgálását különféle szkriptnyelvekkel, például PHP, Python, Perl vagy más CGI alapú programozási nyelvekkel.
  5. SSL/TLS támogatás:
    • Az Apache könnyedén támogatja a HTTPS protokollt az SSL/TLS (Secure Sockets Layer/Transport Layer Security) modulok segítségével, amely biztosítja a titkosított kommunikációt a szerver és a kliensek között.
  6. Proxy és cache funkciók:
    • Az Apache képes proxy szerverként és gyorsítótárként is működni, ami növeli a teljesítményt és optimalizálja a hálózati forgalmat.
  7. Jelszavas védelem:
    • Az Apache lehetőséget biztosít könyvtárak jelszavas védelmére, így bizonyos webes erőforrásokhoz csak hitelesített felhasználók férhetnek hozzá.
  8. Nagyon jól skálázható:
    • Az Apache nagy forgalmú webhelyeket is hatékonyan képes kezelni, köszönhetően a különböző munkavégzési modelleknek (pl. prefork, worker, event MPM).

Apache telepítése Linux rendszeren (például Ubuntu)

Az Apache telepítése egyszerű Linux rendszeren a csomagkezelő használatával.

  1. Apache telepítése:

Ubuntu és Debian rendszereken:

sudo apt update
sudo apt install apache2

CentOS vagy Fedora rendszereken:

sudo yum install httpd
  1. Apache szolgáltatás indítása:

Az Apache telepítése után el kell indítanod a szolgáltatást:

Ubuntu/Debian:

sudo systemctl start apache2

CentOS/Fedora:

sudo systemctl start httpd
  1. Szolgáltatás engedélyezése az automatikus indításhoz:

Ahhoz, hogy az Apache automatikusan induljon a rendszerrel, engedélyezned kell a szolgáltatást:

Ubuntu/Debian:

sudo systemctl enable apache2

CentOS/Fedora:

sudo systemctl enable httpd
  1. Tesztelés:

Miután telepítetted és elindítottad az Apache szervert, megnyithatod a böngészőben a szerver IP-címét vagy a localhost címet, hogy ellenőrizd a működést:

http://localhost

Ha mindent jól csináltál, az Apache alapértelmezett üdvözlő oldala fog megjelenni.

Konfigurációs fájlok helye

Az Apache konfigurációs fájljai a következő helyeken találhatók:

  • Ubuntu/Debian rendszereken:
    • Fő konfigurációs fájl: /etc/apache2/apache2.conf
    • Virtuális hostok: /etc/apache2/sites-available/ és /etc/apache2/sites-enabled/
    • Modulok: /etc/apache2/mods-available/ és /etc/apache2/mods-enabled/
  • CentOS/Fedora rendszereken:
    • Fő konfigurációs fájl: /etc/httpd/conf/httpd.conf
    • Virtuális hostok: /etc/httpd/conf.d/

Apache alapvető konfiguráció

Virtuális hostok beállítása

A virtuális hostok (Virtual Hosts) lehetővé teszik több webhely kiszolgálását egyetlen Apache szerverrel. Például, ha két domain van, mint a example.com és a mywebsite.com, mindkettőt külön-külön kiszolgálhatod.

Például egy example.com nevű webhely virtuális host konfigurációja így nézhet ki:

<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /var/www/example.com/public_html
    ErrorLog ${APACHE_LOG_DIR}/example.com_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_access.log combined
</VirtualHost>
  1. ServerName: A fő domain név, amelyet a webhely használ.
  2. ServerAlias: Alternatív domain vagy aldomain nevek, amelyek erre a virtuális hostra mutatnak.
  3. DocumentRoot: A fájlok elérési útja, amelyből az Apache a webhely tartalmát kiszolgálja.
  4. ErrorLog és CustomLog: A webhelyhez tartozó naplófájlok.

Az Ubuntu/Debian rendszereken a virtuális host konfigurációs fájlokat a /etc/apache2/sites-available/ könyvtárban tárolhatod. Miután létrehoztad a fájlt, aktiválnod kell azt:

sudo a2ensite example.com.conf

Majd újra kell indítanod az Apache szervert:

sudo systemctl reload apache2

SSL/TLS engedélyezése HTTPS-hez

Az Apache támogatja az SSL/TLS titkosítást, amely lehetővé teszi a weboldalak HTTPS-en történő kiszolgálását. A következő lépések szükségesek egy SSL-tanúsítvány beállításához:

  1. SSL modul engedélyezése (Ubuntu/Debian rendszereken):

    sudo a2enmod ssl
    
  2. Virtuális host fájl létrehozása HTTPS-hez:

Például egy HTTPS virtuális host beállítása:

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/example.com/public_html

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile /etc/ssl/private/example.com.key
    SSLCertificateChainFile /etc/ssl/certs/chain.pem

    ErrorLog ${APACHE_LOG_DIR}/example.com_ssl_error.log
    CustomLog ${APACHE_LOG_DIR}/example.com_ssl_access.log combined
</VirtualHost>
  1. Apache újraindítása:

Miután elvégezted a módosításokat, újra kell indítanod az Apache szervert:

sudo systemctl reload apache2

Apache naplózása

Az Apache kétféle naplózási mechanizmust használ:

  1. Hozzáférési napló (Access Log):
    • Ez a napló tartalmazza az összes kérést, amit a szerverhez intéztek. Alapértelmezés szerint a naplófájl helye:
      • Ubuntu/Debian: /var/log/apache2/access.log
      • CentOS/Fedora: /var/log/httpd/access_log
  2. Hibanapló (Error Log):
    • Az Apache szerver által jelentett hibákat és figyelmeztetéseket tartalmazza.
      • Ubuntu/Debian: /var/log/apache2/error.log
      • CentOS/Fedora: /var/log/httpd/error_log

Apache optimalizálása és teljesítmény

  1. MPM (Multi-Processing Modules): Az Apache különböző MPM-eket használ a folyamatok kezelésére. A leggyakrabban használtak:
    • prefork: Minden kéréshez külön folyamatot indít, amely jó kompatibilitást biztosít, de nem a legjobb teljesítményű.
    • worker: Több szálat használ egyetlen folyamaton belül, ami kevesebb memóriahasználatot eredményez.
    • event: Továbbfejlesztett változata a worker MPM-nek, és javítja a teljesítményt nagy terhelés esetén.
  2. Cache használata:
    • Az Apache támogatja a különböző gyorsítótár-megoldásokat, például a mod_cache modult, amely segíthet az erőforrások hatékonyabb kiszolgálásában.

Összegzés

Az Apache HTTP Server egy erőteljes és rugalmas webszerver, amely lehetővé teszi a statikus és dinamikus webhelyek kiszolgálását különböző platformokon. Könnyen skálázható és számos modullal bővíthető, így ideális megoldás kis és nagy weboldalak számára egyaránt.

Fordítások