Apache to potężny serwer, którego nazwa pochodzi od angielskiego wyrażenia związanego z nazwą plemienia Apaczów północnoamerykańskich Indian. Wśród rosyjskich użytkowników ma wspólną nazwę „Apache”. Jest to oprogramowanie typu open source z licencją GPL. Jedną z jego największych zalet jest serwer wieloplatformowy, co oznacza, że może działać na różnych systemach operacyjnych przy zachowaniu doskonałej wydajności.
Od 1996 roku jest to najpopularniejszy serwer na świecie ze względu na jego stabilność i bezpieczeństwo. Apache jest rozwijany przez społeczność programistów użytkowników, kierowaną przez Apache Software Foundation.
Historia Apacza
W marcu 1989 roku Tim Berners Lee, angielski naukowiec pracujący w CERN (Szwajcaria), zaproponował nowy sposób zarządzania ogromną ilością informacji w projektach CERN. W tamtym czasie nikt nie wiedział, czym jest Apache. Początkowy rozwój sieci dokumentów z hiperłączami, jak nazwał je Ted Nelson w 1965 roku, doprowadził do powstania WWW.- pierwsze oprogramowanie wydane w listopadzie 1990 roku pod nazwą World Wide Web, z przeglądarką internetową, interfejsem graficznym i edytorem WYSIWYG. Dwa lata później na liście serwerów WWW było tylko około trzydziestu wpisów, wśród których był HTTPs NCSA.
Prawdziwa historia Apache zaczyna się w marcu 1995 roku wraz z wydaniem Apache 0.2 opartego na serwerze NCSA HTTPD 1.3. Wielu użytkowników jest zainteresowanych tym, czym jest dzisiaj Apache i jak wyglądał program w pierwszych miesiącach jego istnienia. Był to po prostu zestaw edycji zastosowanych do serwera NCSA. Następnie Robert Thau wydał Shambhala 0.1 z interfejsami API dla modułów, które okazały się bardzo udane.
Najważniejszymi kamieniami milowymi projektu była pełna zgodność ze standardem HTTP 1.1, który został włączony w kwietniu 1997 r. jako wersja 1.2. Ta wersja zawierała już platformę Windows NT, która została uruchomiona w lipcu 1997 roku. Łączenie plików konfiguracyjnych zostało zaimplementowane w wersji 1.3.3.
Apache Group jest odpowiedzialna za ewolucję serwera WWW i konkretne decyzje dotyczące rozwoju. Tę grupę należy odróżnić od core developerów - Core group. Dobrowolny charakter większości programistów sprawia, że jest mało prawdopodobne, aby wszyscy byli aktywni w Apache w tym samym czasie, więc jądro jest odpowiedzialne za jego działanie. Ogólnie rzecz biorąc, decyzje, które deweloperzy muszą podjąć, należą do jądra i ograniczają się do głosów za włączeniem kodu. Z drugiej strony zazwyczaj mają dostęp do zapisu w repozytorium CVS, więc działają jako brama do kodu, zapewniając, że jest on poprawny i dobrej jakości.
Minimalne wymagania ikorzyści
Apache zyskał szeroką akceptację w sieci i jest najczęściej używanym serwerem HTTP od 1996 roku. Swój największy udział w rynku osiągnął w 2005 roku, kiedy serwer był używany przez 70% witryn na całym świecie. W ostatnich latach jego udział w rynku spadł. Warto zauważyć, że dla Apache taki spadek nie świadczy o niepopularności i degradacji technologii.
Minimalne wymagania dotyczące działania:
- Procesor - Pentium.
- RAM - 64 MB.
- OS-Microsoft Windows, GNU/Linux.
- Rozmiar instalacji - 50 MB.
Korzyści:
- Projekt modułowy.
- Otwórz źródło.
- Projekt wieloplatformowy.
- Rozszerzalność.
- Popularne - łatwo uzyskać pomoc i wsparcie.
Architektura serwera
Serwer modułowy Apache składa się z sekcji głównej i różnych modułów, które zapewniają większość podstawowych funkcji. Niektóre z tych modułów:
- mod_ssl - bezpieczna komunikacja przez TLS;
- mod_rewrite - przepisywanie adresu, powszechnie używane do konwersji stron dynamicznych, takich jak php, na strony statyczne, aby oszukać wyszukiwarki co do miejsca ich zaprojektowania;
- mod_dav - Obsługa protokołu WebDAV (RFC 2518);
- mod_deflate - algorytm kompresji jest przezroczysty, gdy zawartość jest wysyłana do klienta;
- mod_auth_ldap - umożliwia użytkownikom uwierzytelnianie na serwerze LDAP;
- mod_proxy_ajp -złącze do komunikacji z dynamicznymi stronami Jakarta Tomcat w Javie (serwlety i JSP).
Serwer podstawowy można rozszerzyć o moduły zewnętrzne, w tym:
- mod_cband - kontrola ruchu i ograniczenie przepustowości;
- mod_perl - dynamiczny w Perlu;
- mod_php - dynamiczny w PHP;
- mod_python - dynamiczny w Pythonie;
- mod_rexx - dynamiczny w obiektach REXX i REXX;
- mod_ruby - dynamiczna w Rubim;
- mod asp dot net - dynamiczny w Microsoft. NET;
- mod_mono - dynamiczny na mono;
- mod_security - filtrowanie na poziomie aplikacji pod kątem bezpieczeństwa.
Konfiguracja i zabezpieczenia
Aby zrozumieć czym jest Apache pod względem bezpieczeństwa, musisz rozważyć jego konfigurację. Większość konfiguracji odbywa się w plikach apache2.conf i httpd.conf, w zależności od systemu, na którym działa oprogramowanie. Wszelkie zmiany w tym pliku wymagają ponownego uruchomienia serwera lub ponownego wymuszonego odczytu.
Licencja na oprogramowanie, w ramach której dystrybuowane jest podstawowe oprogramowanie Apache, jest znakiem rozpoznawczym historii serwera Apache HTTP Server i społeczności open source. Licencja umożliwia dystrybucję produktów o otwartym i zamkniętym kodzie źródłowym.
Fundacja Wolnego Oprogramowania nie uważa licencji Apache za zgodną z wersją 2 Powszechnej Licencji Publicznej GNU (GPL), w której oprogramowanie jest licencjonowane i nie jest z nim zintegrowane. Należy to wziąć pod uwagę przedskonfigurować serwer WWW Apache dystrybuowany na licencji GPL. Jednak wersja 3 GPL zawiera postanowienie, które umożliwia jej zgodność z licencjami, które zawierają klauzule odpowiedzialności z tytułu patentów.
Większość wykrytych i naprawionych luk w zabezpieczeniach może być wykorzystana tylko przez lokalnych użytkowników, a nie zdalnie. Jednak niektóre nadal działają zdalnie w pewnych sytuacjach. Lub jeśli są używane przez złośliwych użytkowników lokalnych do naruszania umów hostingu współdzielonego przy użyciu PHP jako modułu bezpłatnego serwera WWW Apache.
Sprawdzanie działania Apache
Aby upewnić się, że Apache działa poprawnie, otwórz przeglądarkę internetową i wpisz następujący adres: https://localhost. Następnie naciśnij Enter, pojawi się biała strona z komunikatem „To działa”, co jest dowodem na to, że serwer sieciowy działa prawidłowo.
Apache umożliwia tworzenie niestandardowych konfiguracji w celu dostosowania i dostosowania do Twoich potrzeb. Aby to zrobić, znajdź plik http.conf w C:appserv Apache2.2 conf. Kopia zapasowa jest tworzona w celu uniknięcia błędów w czasie wykonywania, a następnie jest otwierana za pomocą dowolnego edytora, a niezbędne wiersze są zmieniane.
Aby poprawnie wykonać te kroki, musisz dobrze znać pracownika Apache, ponieważ wszelkie wprowadzone zmiany zostaną odzwierciedlone w wydajności i uruchomieniu Apache. Dzięki najnowszym rekomendacjom serwer zostanie zainstalowany. Będzie działać w podstawowej konfiguracji umożliwiającej pobieraniestrony lub aplikacje sieciowe w Internecie.
Zarządzanie informacjami
Apache to najczęściej używany serwer WWW, lider z największą liczbą instalacji na świecie, znacznie wyprzedzający inne rozwiązania, takie jak Microsoft Internet Information Server (IIS). Ten projekt jest otwarty do użytku, ponieważ jest wieloplatformowy, ma wersje dla wszystkich głównych systemów operacyjnych, jest bardzo niezawodny i wyróżnia się bezpieczeństwem i wydajnością.
Komputer, na którym działa to oprogramowanie, ma taką samą nazwę. Ma to kluczowe znaczenie, ponieważ odpowiada za akceptowanie żądań stron pochodzących od odwiedzających, którzy uzyskują dostęp do witryny i zarządzanie ich dostarczaniem lub odrzucaniem zgodnie z ustaloną polityką bezpieczeństwa. Chociaż ten proces może wydawać się prosty, zawiera wiele aspektów i funkcji, które należy wykonać:
- Wydajność zapytań.
- Duża liczba żądań HTTP, w tym wielozadaniowość, może spowodować upadek usługi.
- Ograniczenia dostępu do plików, kontrolowanie uwierzytelniania użytkowników lub filtrowanie żądań według ich pochodzenia.
- Obsługa błędów na stronach informacyjnych dla odwiedzających i przekierowywanie do wstępnie zdefiniowanych stron.
- Zarządzanie przesyłanymi informacjami zgodnie z ich formatem i odpowiednie informowanie przeglądarki żądającej określonego zasobu.
- Dziennik zarządzania do przechowywania otrzymanych żądań, występujących błędów iogólnie wszystkie informacje, które są rejestrowane i analizowane w celu uzyskania statystyk dostępu do witryny.
Apache umożliwia skonfigurowanie wirtualnego hostingu na podstawie adresów IP lub nazw, czyli posiadanie kilku witryn na jednym komputerze.
Plik apache2.conf
Niewątpliwie apache2.conf jest najważniejszym plikiem, ponieważ definiuje ogólne zachowanie stron internetowych, a także odpowiada za dostęp do różnych modułów rozszerzających funkcjonalność serwera.
Znajduje się w katalogu /etc/apache2, a ponieważ jest to plik tekstowy, można go łatwo edytować za pomocą edytora tekstu. Właściwości pliku konfiguracyjnego - zmienne globalne serwera i rozszerzenia funkcjonalności.
Globalne zmienne serwera to zmienne, które definiują całą operację:
- Tabela dyrektyw Apache. Nazwa serwera jest oznaczona zmienną ServerName, więc każde przekierowanie lub łącze, które istnieje w dokumentach HTML, działa poprawnie. Większość zmiennych konfiguracyjnych jest dystrybuowana między innymi małymi plikami przechowywanymi w mods-available.
- .htaccess to ukryty plik tekstowy, który pozwala dostosować sposób działania serwera.
- "Apache" to specyficzny katalog bez konieczności modyfikowania głównego pliku konfiguracyjnego apache2.conf. Kiedy klient WWW żąda pliku z serwera, szuka z katalogu głównego do podkatalogu zawierającego żądany.htaccess i bierze pod uwagę zawarte w nim dyrektywy przed wysłaniem żądania.
Zasada.htaccess:
- Zabrania wyświetlania plików w katalogu.
- Przekierowuje ruch internetowy.
- Konfiguruje strony błędów.
- Ogranicz dostęp do niektórych plików.
- Odmów dostępu do określonych adresów IP lub zakresów adresów IP.
- Rozszerza funkcjonalność związaną z innymi wywołaniami modułów i plikami konfiguracyjnymi. Wszystkie dyrektywy związane z tą pozycją będą poprzedzone słowem „Włącz”.
Instalacja serwera WWW Apache
Apache został pierwotnie zaprojektowany do pracy z technologią PHP, ale może również bezproblemowo współpracować z. NET, co czyni go bardziej skutecznym niż Microsoft IIS, który jest współpracownikiem serwerów korzystających z IIS i zapewnia pełne wsparcie PHP bez konieczności zmień konfigurację.
Aby zainstalować i uruchomić serwer WWW, musisz najpierw pobrać go z oficjalnej strony. Zawsze znajdź najnowszą wersję dostępnego oprogramowania i sprawdź, czy zostanie zidentyfikowana jako Win32 Binary, w tym OpenSSL.
Wersja ma wbudowany system instalacji i ochrony danych. Po wybraniu jest pobierany na komputer. Kliknij dwukrotnie ikonę pliku, aby rozpocząć proces, który jest prosty, ponieważ towarzyszy mu asystent.
Jednym z pierwszych okien, które dostarczają niezbędnych informacji, aby serwer sieciowy mógł połączyć się z siecią, jest okno informacyjne. Tam użytkownik wypełnia krótki formularz, dodając nazwę domeny sieciowej, nazwę serwera i adres e-mailadministrator. Dla pierwszych dwóch opcji wybierz localhost.
Następnie pojawi się okno instalacji, w którym wymienione są wszystkie dostępne komponenty. Zaznacz je wszystkie i sprawdź, czy istnieje folder c:appserv Apache2.2. Następnie skonfiguruj serwer WWW Apache.
Monitor sieciowy na pasku zadań
Po zainstalowaniu Apache upewnij się, że zostało to zrobione poprawnie. Aby to zrobić, przejdź do menu „Start” i znajdź opcję „Uruchom”. Pojawi się wyskakujące okienko, w którym wpiszesz cmd, pojawi się systemowy ekran wyskakujący. Aby upewnić się, że użytkownik działa jako administrator, kliknij prawym przyciskiem myszy okno i wybierz „Uruchom jako administrator”.
Algorytm instalacji:
- Znajdź folder Apache bin w konsoli Windows, w tym celu wpisz w konsoli następujące zdanie - c: appserv Apache2.2? w.
- Po wprowadzeniu naciśnij Enter, a komponent systemu będzie wyglądał tak - C: appserv Apache2.2? W>.
- W folderze bin wpisz http:.exe -k install i naciśnij Enter.
- Wyświetlony zostanie komunikat podobny do „. Apache 2.2: usługa już zainstalowana”. Ta wiadomość sprawdzi, czy Apache został pomyślnie zainstalowany.
Jednym z najskuteczniejszych sposobów sprawdzenia, czy Apache działa poprawnie, jest sprawdzenie, czy monitor aplikacji jest aktywny. Widać to na pasku zadań. Jeśli nie jest aktywny, aktywuj go, przechodząc do menu Start, Wszystkie programy i Apache http Server 2.2., kliknij Monitoruj serwer Apache i aktywuj go.
Monitor jest przydatny, ponieważ pozwala zatrzymać serwer,wstrzymaj i aktywuj go w pełnym komforcie bez przechodzenia do okna konsoli, wystarczy kliknąć ikonę na pasku zadań, aby otworzyć okno sterowania.
Wskazówki dotyczące instalacji systemu Linux
Jeśli użytkownik posiada stronę internetową i potrzebuje platformy do jej hostowania, możesz skorzystać z usług jednego z dostawców hostingu lub spróbować samodzielnie hostować swoją stronę na serwerze.
Algorytm instalacji:
- Pobierz najnowszą stabilną wersję Apache.
- Pobierz pliki źródłowe zgodnie z systemem.
- Wyodrębnij pliki oprogramowania.
- Następnie pobrane pliki będą musiały zostać rozpakowane: gunzip -d httpd-2_0_NN.tar.gz; tar xvf
- To tworzy nowy katalog w bieżącym katalogu z plikami źródłowymi.
- Zaraz po pojawieniu się plików poinformuj urządzenie, gdzie znaleźć wszystkie oryginalne pliki. Najprostszym sposobem, aby to zrobić, jest zaakceptowanie wszystkich ustawień domyślnych i po prostu wpisanie:./configure.
- Skonfiguruj Apache, pod warunkiem, że nie było problemów z instalacją i kompilacją. Użytkownik dostosowuje konfigurację, co jest równoznaczne z edycją pliku httpd.conf. Zwykle jest edytowany za pomocą edytora tekstu - vi PREFIX /conf/httpd.conf. Aby wprowadzić jakiekolwiek zmiany, musisz być rootem.
- Sprawdź działanie serwera.
Aplikacja w sieci WWW
Apach jest używany głównie do przesyłania statycznych i dynamicznych stron do sieci WWW. Wiele aplikacji jest zaprojektowanych zśrodowiska implementacji Apache lub będą wykorzystywać cechy tego serwera. Apach to komponent serwerowy w popularnej platformie aplikacji LAMP wraz z językami programowania MySQL i PHP, Perl, Python i Ruby, w tym bazą danych Oracle i serwerem aplikacji IBM WebSphere. Mac OS X integruje go jako część własnego serwera WWW i obsługuje aplikacje WebObjects.
Apache jest używany do wielu innych zadań, w których zawartość musi być dostępna w bezpieczny i niezawodny sposób. Na przykład podczas udostępniania plików z komputera osobistego do Internetu. Użytkownik, który ma zainstalowany Apache na swoim pulpicie, może dowolnie umieszczać pliki w głównym katalogu dokumentów, skąd mogą zostać udostępnione.
Programiści aplikacji internetowych czasami używają lokalnej wersji Apache do podglądu i testowania kodu podczas tworzenia. Microsoft Internet Information Services (IIS) jest głównym konkurentem Apache, podobnie jak serwer WWW Sun Java System firmy Sun Microsystems i wiele innych aplikacji, takich jak Zeus Web-Server.
Niektóre z największych witryn na świecie są obsługiwane przez Apache. Fronton wyszukiwarki Google jest oparty na zmodyfikowanej wersji o nazwie Google Web Server (GWS). Wiele projektów Wikipedii działa również na serwerach Apache.