Dariusz Dahm

Dariusz Dahm

Toruń, kujawsko-pomorskie, Polska
Dariusz Dahm

Apache serwer stron WWW dla każdego

Opublikowano: 15 kwietnia 2009, kategoria » Edukacja, Internet

Serwer WWW to program, który odbiera nadesłane siecią żądanie i odpowiada na nie, czyli jeśli wpisujemy w przeglądarce jakiś adres to przeglądarka wysyła żądanie do serwera, a serwer w odpowiedzi na to żądanie wyświetla nam w oknie przeglądarki żądana stronę.

WWW –( w skrócie World Wide Web) – jest hipertekstowym, multimedialnym, sieciowym systemem informacyjnym opartych na publicznym dostępie, którego pierwotnym i w chwili obecnej nadal podstawowym zadaniem WWW jest publikowanie informacji. Aby uzyskać dostęp do tak udostępnianej informacji, trzeba posłużyć się programem komputerowym, który nazywamy przeglądarką internetową. Przeglądarka łączy się z serwerem internetowym, skąd pobiera pewien zbiór informacji określany jako strona internetowa. Strona internetowa może zostać wyświetlona, zapisana w lokalnym systemie plików czy wydrukowana. Zawartość strony internetowej jest hipertekstem, znaczy to, że użytkownik oglądając stronę internetową może podążać za hiperłączami, które przenoszą go do innych stron internetowych w ramach tego samego serwera internetowego lub innych dostępnych w ramach sieci. Często korzystanie z WWW nazywa się „surfowaniem po sieci„.

serwer ApacheNazwę Apache można różnie tłumaczyć, są zwolennicy, którzy twierdza, iż nazwa pochodzi od gry słów „a patch”, czyli „łatka” i ma sugerować, iż serwer Apache to program, który składa się z bloku już istniejącego kodu i doklejonego do niego łat (patch), ale spora grupa osób uważa to za głupi żart podważający autorytet programistów tworzących ten program. Dlatego też grupa trzeźwo myślących fachowców lansuje pogląd, iż nazwa pochodzi od nazwy słynących z waleczności i wytrwałości północnoamerykańskiego plemienia Indian Apache.

Serwer Apache jest programem nie komercyjnym pracuje nad min grupa ochotników zwanej Zespołem Apache (The Apache Group), która ma pełna swobodę w akceptowaniu i odrzucaniu sugestii z zewnątrz od użytkowników.

Serwer Apache pochodzi w prostej linii od innego serwera WWW, opracowanego przez rząd stanów Zjednoczonych, a ściślej przez Krajowe Centrum Zastosowań Superkomputerów (NCSA, National Center for Supercomputing Applications). W dokumencie FAQ dla serwera Apache dostępnego na stronie http://www.apache.org/docs/FAQ.html można przeczytać:

… serwer Apache oparty został na kodzie i rozwiązaniach zastosowanych w najpopularniejszym w owych czasach serwerze http – programie httpd 1.3 opracowanych w NCSA w początkach roku 1995.

Warto tu wspomnieć, iż opracowanie serwera, w NCSA było finansowane z pieniędzy podatników, dlatego też kod jest dostępny dla każdego, można go skopiować i na bazie togo kodu stworzyć własny serwer.

Apache jest jednym z najpopularniejszych serwerów WWW używanych w Internecie szacuje się ze około 68% serwerów WWW to właśnie serwery Apache. Serwer ten jest, dlatego tak popularny, iż spełnia wszystkie wymaganie stawiane serwerom tego typu, a mianowicie:

  • Pracuje szybko, co pozwala obsługiwać wiele żądań bez większego obciążania komputera, na którym pracuje.
  • Pracuje w trybie wielozadaniowym, co umożliwia obsługiwanie wielu żądań
  • Weryfikować tożsamość klientów
  • Reagować na błędy, np. gdy nie może znaleźć żądane strony
  • Uzgodnić z klientem język komunikacji
  • Udostępniać dane w różnym formacie
  • Możliwość wykorzystania w charakterze serwera pośredniczącego (Proxy)
  • Zapewnić bezpieczeństwo danych

Tak mniej więcej przedstawia się zakres usług, które według twórców serwera program ten powinien zapewniać. Oczywiście można by też wymyślić wiele innych funkcji, które mogłyby się przydać w przyszłości lub ulepszyć serwer lub wręcz przeciwnie pogorszyć jego działanie.

Serwer Apache dostępny jest praktycznie dla wszystkich systemów operacyjnych. W wielu dystrybucjach Linux jest dołączany standardowo, w systemie Windows program ten należy zainstalować i dlatego też praca ta opierać się będzie na instalacji i konfiguracji w systemie Windows.

Jak działa Apache?

Odwołując się do jakiejś strony WWW wpisujmy jej adres i przeglądarka za pośrednictwem Internetu przesyła komunikat do sytemu (w tym przypadku serwera WWW) dostępnego pod tym adresem, który musi być uruchomiony. Komunikat taki trafia do portu 80, który jest domyślnym portem dla serwerów WWW, a właściwie dla protokołu HTTP.

  • HTTP – (ang. Hypertext Transfer Protocol) to protokół sieci WWW (World Wide Web). Jest on wykorzystywany przy każdej transakcji. Właśnie za pomocą protokołu HTTP przesyła się żądania udostępnienia dokumentów WWW i informacje o kliknięciu odnośnika oraz informacje z formularzy. Zadaniem stron WWW jest publikowanie informacji – natomiast protokół HTTP właśnie to umożliwia. Protokół HTTP jest tak użyteczny, ponieważ udostępnia znormalizowany sposób komunikowania się komputerów ze sobą. Określa on formę żądań klienta dotyczących danych oraz formę odpowiedzi serwera na te żądania.
  • Porty protokołu to pojęcie związane z protokołem TCP-IP używanym w Internecie do rozróżniania wielu różnych usług i połączeń na serwerze. Porty protokołu są oznaczone za pomocą liczb całkowitych z zakresu od 1 do 65535. Niektóre porty (od 1 do 1023) są zarezerwowane na standardowe usługi takie jak WWW albo poczta elektroniczna. Przykładowo jeśli jakiś host est serwerem WWW i poczty elektronicznej to program chcący otworzyć stronę WWW na tym hoście musi otworzyć port 80 a chcąc wysłać email musi otworzyć port 25.

Każdy adres składa się z trzech podstawowych elementów:

<metody>://<adresu-hosta>/<bezwzględnej-scieżki-dostepu>

Np. http://www.wp.pl

server Apache

W przykładzie tym metodą wysłania komunikatu przez przeglądarkę jest protokół HTTP po tym właśnie protokole przeglądarka wie gdzie ma wysłać i na jakim porcie nasłuchiwać odpowiedzi. Kolejny element nazwa hosta w tym przykładzie jest to www.wp.pl jest to zrozumiała i łatwa do zapamiętania dla człowieka nazwa. Nazwa ta trafia do serwera DNS, który zamienia ja na adres IP zrozumiały dla komputerów.

  • DNS – (ang. Domain Name System) – to system serwerów oraz protokół komunikacyjny zapewniający zamianę adresów znanych użytkownikom Internetu na adresy zrozumiałe dla sieci komputerowej. Dzięki wykorzystaniu DNS nazwa mnemoniczna, np. www.wp.pl może zostać zamieniona na odpowiadające jej adres IP, czyli 212.77.100.101.
  • IP – (ang.Internet Protocol) – to protokół komunikacyjny, używany powszechnie w Internecie i sieciach lokalnych

I na podstawie IP komunikat zostaje wysłany do właściwego komputera. Trzeci element, czyli bezwzględna ścieżka dostępu jest w tym danym przykładzie domyślna i wskazuje na plik, który jest domyślnie uruchamiany przez serwer, jeśli nie zostanie podany w adresie. Najczęściej jest to plik typu index.html lub inny ustawiony w opcjach konfiguracyjnych serwera. Po takim zinterpretowaniu adresu w oknie naszej przeglądarki ukarze się żądana przez nas strona.

Serwer Apache jest przystosowany do pracy w systemach wielozadaniowych i dostępny jest zarówno dla platform Unix jak i Windows.
Program Apache wykonywany jest zwykle jako proces drugoplanowy, każda uruchomiona kopia jest odpowiedzialna za obsługę witryny WWW dostępnej w odpowiednim katalogu. W systemie Windows Apache pracuje jako pojedynczy proces o kliku wątkach, z których każde obsługuje jedno połączenie. W stanie spoczynku serwer Apache prowadzi jedynie nasłuch na adresach IP oraz portach wyszczególnionych a pliku konfiguracyjnym. Po otrzymaniu żądania HTTP, Apache dobiera je analizuje oraz odpowiada na podstawie zasad zapisanych w pliku konfiguracyjnym.

Plik konfiguracyjny jest podstawowym narzędziem dla administratora do konfiguracji, zarządzania i sterowania serwerem, a administrator ma do dyspozycji około 150 dyrektyw oraz kilkanaście opcji wywołania, pozwalającymi kierować procesem uruchamiania serwera.

Warto przeczytać:

  • Dyrektywy blokowe serwera HTTP ApacheDyrektywy blokowe serwera HTTP Apache Apache udostępnia cały szereg tzw. dyrektyw blokowych (ang. block directives). Dyrektywy te pozwalają na ograniczenie innych zawartych w nich dyrektyw określonych dla plików, katalogów […]
  • Pliki konfiguracyjne ApachePliki konfiguracyjne ApacheApache jest najszerzej stosowanym serwerem HTTP w Internecie. Jego udział wśród serwerów wynosił około 65%. W połączeniu z interpreterem języka skryptowego PHP i bazą danych MySQL, Apache […]
  • Bezpieczeństwo serwera ApacheBezpieczeństwo serwera ApacheJednym z aspektów funkcjonowania serwera WWW jest bezpieczeństwo udostępnianych danych i informacji. Udostępnianie komputera osobom postronnym jest bardzo niebezpieczne i można to […]
  • Apache – Serwery wirtualneApache – Serwery wirtualneOd jakiegoś czasu można zaobserwować niesłychany wzrost popularności serwerów WWW. O ile jakiś czas temu firma czy organizacja mogła zadowolić się stroną WWW zamieszczoną w podkatalogu […]

Jeden komentarz

  1. Złośliwe_Klikniecie |

    zrobienie własnej stronki na xampie i appache to jedno ale migracja całego katalogu, bazy i adresów to druga strona. Czasami zrobienie strony to 30-40 godzin a przeniesienie strony na realny hosting 10-20 godzin. Z tego co widziałem to fajna wtyczka do wordpresa „wp migration db” się pojawiała i z apacha na dowolny hosting można to w końcu bez problemu przenieść. Ja próbowałem ostatnio w http://www.webd.pl opublikować i support rzeczywiście zawsze pomaga efektywnie

    Odpowiedz

Więc, co o tym myślisz?