Apache

Logo programu
Autor Apache Software Foundation
Aktualna wersja stabilna 2.4.59
(4 kwietnia 2024) [±]
System operacyjny GNU/Linux, OS X, Windows
Rodzaj Serwer WWW
Licencja Apache License
Strona internetowa

Apacheotwarty serwer HTTP dostępny dla wielu systemów operacyjnych (m.in. UNIX, GNU/Linux, BSD, OS X, Microsoft Windows).

Popularność

Apache jest jednym z szeroko stosowanych serwerów HTTP w Internecie. W maju 2020 (według serwisu Netcraft) jego udział wśród wszystkich serwerów wynosił ponad 25%. Według nieistniejącego już serwisu Amudom, wśród polskich domen ok. 53% serwerów używało Apache w 2017 roku.

Statystyki wykorzystania serwerów WWW (dane z maja 2020 według serwisu Netcraft):

nginx 445 724 550 36,00%
Apache 315 019 262 25,45%
Microsoft 155 042 311 12,52%
Google 44 304 867 3,58%

Technika używana przez Netcraft polegająca na badaniu odpowiedzi serwerów ma pewne ograniczenia i może dawać zaburzone statystyki, ponieważ jest w stanie ustalić jedynie serwer zewnętrzny. Jeśli właściwy serwer jest za serwerem proxy, to może nie być to uwzględnione.

Cechy serwera i obsługiwane moduły

  • wielowątkowość
  • skalowalność
  • bezpieczeństwo
  • Kontrola dostępu/uwierzytelnianie: mod_authz_host
  • CGI
  • Proxy typu HTTP, Apache JServe Protocol, FTP, CONNECT: mod_proxy*
  • SSI: mod_include
  • Content-Negotation: mod_negotation
  • Moduł URL-Rewriting: mod_rewrite
  • SSL: mod_ssl
  • możliwość osadzania interpreterów języków skryptowych, np. mod perl, mod_php czy mod_python

Historia

Serwer Apache wywodzi się z kodu serwera NCSA HTTPd napisanego przez Roba McCoola, pracownika NCSA.

  • kwiecień 1995 – wersja 0.6.2 pierwsza oficjalna wersja serwera HTTP Apache.
  • sierpień 1995 – wersja 0.8.8 dodanie standardowego API i modularyzacja kodu.
  • grudzień 1995 – wersja 1.0 ulepszenie modułów serwera, napisanie dokumentacji, przeniesienie serwera na wiele różnych platform systemowych.
  • 2000 – wersja 1.3 wprowadziła m.in. dynamiczne ładowanie modułów, wsparcie dla Windows NT i Windows 2000.
  • 2002-2013 – wersja 2.0 to wsparcie wielowątkowości, bardziej elastyczne API dla modułów, a także wsparcie IPv6 i UTF-8 w nazwach plików. Wydane zostały również nowe moduły między innymi do szyfrowania (mod_ssl) czy do kompresji danych (mod_deflate).
  • 2005-2017 – wersja 2.2 dodała m.in. nowe moduły do cachowania, proxy AJP (do serwera Tomcat) i obsługę plików większych niż 2 GB.
  • 2012-teraz – wersja 2.4 zmienia sposób konfiguracji ograniczenia dostępu (stare dyrektywy Deny, Allow należy zastąpić Require); sekcje If, Else umożliwiają warunkowe konfiguracje na podstawie konkretnego żądania (podobnie jak w poprzednich wersjach za pomocą mod_rewrite); od wersji 2.4.36 wspiera TLS 1.3.

Trwają prace nad nową wersją oznaczoną roboczo 2.5, ostateczna wersja będzie miała oznaczenie 2.6 lub 3.0.

Konfiguracja

Najnowsze wersje serwera Apache posiadają interfejs graficzny GUI. Program Apache parsuje plik konfiguracyjny httpd.conf (oraz inne zdefiniowane przez użytkownika, bądź sam program).

Plik konfiguracyjny dystrybucji Apache z serii 2.0 zawiera sekcje:

Global Environment

  • środowisko serwera
  • podstawowe parametry sieciowe
  • lista dołączanych modułów

Main server configuration

  • położenie dokumentów
  • połączenie
  • aliasy
  • określenie dostępu do zasobów
  • formaty i położenie dzienników serwera
  • moduły CGI
  • opcje automatycznego indeksowania katalogów
  • Content Negotation (ang. negocjacja treści)
  • własne dokumenty błędów serwera (dyrektywy ErrorDocument)
  • konfiguracja modułu mod_proxy

Virtual Hosts

  • odwrotny DNS
  • lista i konfiguracja ewentualnych hostów wirtualnych obsługiwanych przez maszynę

Niektóre większe moduły (np. mod_SSL) mogą posiadać własne sekcje w pliku httpd.conf bądź oddzielny plik dla własnych ustawień. Aby zmiany dokonane w plikach konfiguracyjnych zostały uwzględnione, konieczne jest zrestartowanie procesu serwera.

Zobacz też

Przypisy

  1. 1 2 May 2020 Web Server Survey [online], Netcraft News, 26 maja 2020 [dostęp 2020-06-12] (ang.).
  2. Statystyki polskiego Internetu amudom.pl [online], www.amudom.pl [dostęp 2017-02-16] [zarchiwizowane z adresu 2017-02-17] (pol.).
  3. Hosting Provider Server Count [online], Netcraft [dostęp 2020-06-11] (ang.).
  4. The NCSA HTTPd homepage. hoohoo.ncsa.uiuc.edu. [zarchiwizowane z tego adresu (2009-04-15)].
  5. New features with Apache 1.3 [online], httpd.apache.org [dostęp 2019-12-30] [zarchiwizowane z adresu 2016-06-29].
  6. 1 2 Overview of new features in Apache 2.0 - Apache HTTP Server [online], httpd.apache.org [dostęp 2019-12-30].
  7. Apache Week. Apache 2 Release [online], www.apacheweek.com [dostęp 2019-12-30].
  8. Apache 2.0 CHANGES [online].
  9. Overview of new features in Apache 2.2 - Apache HTTP Server Version 2.2 [online], httpd.apache.org [dostęp 2019-12-30].
  10. Apache 2.2 Changes [online].
  11. Upgrading to 2.4 from 2.2 - Apache HTTP Server Version 2.4 [online], httpd.apache.org [dostęp 2019-12-30].
  12. Overview of new features in Apache HTTP Server 2.4 - Apache HTTP Server Version 2.4 [online], httpd.apache.org [dostęp 2019-12-30].
  13. Apache 2.4 Changes [online].
  14. Contents of STATUS [online], Apache-SVN, 27 grudnia 2019 [dostęp 2019-12-30].

Linki zewnętrzne

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.