Apache Tomcat - konfiguracja wirtualnych hostów Skip to content →

Apache Tomcat – konfiguracja wirtualnych hostów

Apache Tomcat – kontener aplikacji webowych, który obecnie jest rozwijany przez fundację Apache.  Umożliwia uruchamianie aplikacji internetowych w technologiach Java Servlets oraz Java Server Pages.

Hosty wirtualne (virtual hosts) to podstawowa jednostka reprezentująca stronę lub domenę. Odpowiednie utworzenie hostów pozwala na uruchomienie więcej niż jednej aplikacji w ramach tego samego kontenera.

Wyobraźmy sobie sytuację, w której mamy jedną maszynę z zainstalowanym oprogramowaniem i chcemy na niej hostować dwie aplikacje. Dodatkowym wymaganiem jest, aby każda z nich była dostępna pod innym adresem, np. virtualhost1.localhost  oraz virtualhost2.localhost .  Celem konfiguracji hostów jest „wskazanie serwerowi” jakie pliki powinny być ładowane przy próbie pobrania zawartości dla każdej z nich.

Edycja konfiguracji serwera Apache Tomcat

Na samym początku musimy dodać hosty do konfiguracji serwera. W tym celu otwórzmy plik server.xml , który znajduje się w folderze conf w lokalizacji instalacji Tomcat’a. Przedstawiony poniżej kod należy umieścić w sekcji <Engine> .

Obie konfiguracje są bardzo podobne, różnią się jedynie numerami hostów.

Sekcja host

name Nazwa hosta.
appBase Lokalizacja plików aplikacji, która ma być dostępna przez dany host.
unpackWARs Flaga informująca o tym, że chcemy, aby nasza aplikacja, która zostanie załadowana jako archiwum War, została automatycznie rozpakowana.
autoDeploy Flaga wskazująca, że chcemy aby nasza aplikacja została automatycznie zbudowana podczas gdy Tomcat będzie uruchomiony. Domyślnie ustawione jest true.

Sekcja alias to sekcja określająca adres żądań obsługiwanych przez danych host.

W sekcji values określamy konfigurację logów, które będą zapisywane przez nasz kontener.

className Nazwa klasy implementująca interfejs Value.
directory Lokalizacja, w której będą zapisywane pliki z logami.
prefix Prefix dodawany do nazwy plików.
suffix Suffix dodawany do nazwy plików – w tym przypadku rozszerzenie pliku.
pattern Wzór zapisu pojedynczej linii pliku.

Mając dodaną konfigurację możemy zapisać plik server.xml i przejść do dalszych czynności.

Podmiana DNS

Kolejnym krokiem konfiguracji jest nadpisanie adresów DNS dla obu hostów. W tym celu musimy edytować plik hosts znajdujący się pod adresem:

  • Windows –  C:/Windows/System32/Drivers/etc/
  • Linux –  /etc/hosts/

Polecenie przekierowania wydajemy dopisując dwie linijki

Obie nazwy hostów podpinamy pod IP naszego lokalnego serwera czyli 127.0.0.1 .

Zapiszmy edytowany plik. Pamiętaj, że plik ten jest plikiem systemowym, więc do jego edycji potrzebujesz uprawnień administratora.

Zawartość stron

Etap konfiguracji mamy już za sobą. Teraz musimy sprawdzić czy wszystko działa tak jak założyliśmy. W tym celu utwórz dwa pliki index.html  z następującymi zawartościami

Oba pliki powinniśmy umieścić odpowiednio w folderach webapps/virtualhost1/ROOT/  oraz webapps/virtualhost2/ROOT/ . Folder ROOT to folder, z którego ładowany jest główny kontekst aplikacji.

Jeżeli poprawnie skonfigurowałeś hosty to przy wejściu na adresy http://virtualhost1.localhost:8080  oraz http://virtualhost2.localhost:8080  zobaczysz komunikaty Virtual host number 1 oraz Virtual host number 2.

Przydatne linki

  1. Pełna dokumentacja klasy apache.catalina.valves.AccessLogValve znajduje się tutaj – link do tomcat.apache.org/tomcat-7.0-doc/api/org/apache/catalina/valves/AccessLogValve.html
  2. Pełna dokumentacja konfiguracji hostów Tomcat znajduje się pod adresem tomcat.apache.org/tomcat-7.0-doc/config/host.html
  3. tomcat.apache.org/tomcat-7.0-doc/config/context.html

 

Published in Administration