Pobierz prezentację
Pobieranie prezentacji. Proszę czekać
2
Czym jest Apache Tomcat?
Tomcat jest jednym z bardziej popularnych kontenerów aplikacji webowych rozwijany w ramach projektu Apache. Jako kontener aplikacji jest serwerem, który umożliwia uruchamianie aplikacji internetowych w technologiach Java Servlets i Java Server Pages (JSP) Tomcat jest wykorzystywany w takich serwerach aplikacji JEE (J2EE) jak Apache Geronimo. Jest jednak również bardzo popularnym kontenerem dla samodzielnych aplikacji (niewymagających pełnego serwera aplikacji) pisanych w środowisku Spring Framework.
3
Co wchodzi w skład pakietu?
Zaczynając od wersji 4.0, Tomcat składa się z 3 komponentów: Catalina – kontener servletów. Zawera specyfikacje Sun Microsystem dotyczące Java servletów oraz JavaServer Pages (JSP). W Tomcat kluczowy element reprezentuje bazę danych zawierającą nazwy użytkowników, hasła oraz przypisane użytkownikom role (podobnie jak w systemach Unixowych). Dzięki różnym implementacjom elementu bazodanowego Catalina może być używana w systemach z już istniejącym systemem autentykacji użytkowników, których jest automatycznie importowany do systemu zabezpieczeń Tomcat.
4
cd. Co wchodzi w skład pakietu?
Coyote – jest komponentem nasłuchującym przychodzące połączenia na określonym porcie TCP i przekazującym je do przypisanego silnika Tomcat w celu obsłużenia zapytania. Odpowiada również za poprawną komunikację zwrotną do klienta. Jasper – jest Tomcatowym silnikiem JSP. Przetwarza pliki JSP w celu skompilowania ich do kodu Java jako servlety, wykorzystywane następnie przez komponent Catalina. Jasper pracuje w tle, dzięki czemu pliki JSP są przetwarzane na bieżąco.
5
Przygotowanie systemu dla Tomcat
Wstępne wymagania: użytkownik nie będący rootem pakiet Java OpenJDK
6
Tworzenie użytkownika
logowanie do systemu z uprawnieniami roota logowanie za pomocą SSH przełączenie użytkownika za pomocą komendy su dodanie nowego użytkownika # adduser praktyki # passwd praktyki przyznanie uprawnień super usera (dodanie do grupy wheel) # gpasswd -a praktyki wheel sprawdzenie ustawień - logowanie do systemu używając użytkownika praktyki
7
Pakiet Java oraz użytkownik tomcat
Tomcat wymaga środowiska Javy w celu poprawnego uruchamiania dowolnych webowych aplikacji Java. instalacja środowiska Java $ sudo yum install java openjdk-devel (lub inna dostępna dystrybucja) dodanie grupy i użytkownika tomcat $ sudo groupadd -r tomcat $ sudo useradd -d /usr/local/tomcat -r -s /bin/bash -U tomcat
8
Instalacja Tomcat Apache Tomcat jest wydany w różnych wersjach odpowiednich do rożnych wersji specyfikacji JSP oraz Java Servlet. Odpowiednie archiwum z binariami dla wybranego wydanie serwera Tomcat należy pobrać ze strony projektu, a następnie rozpakować w stosownym miejscu w systemie plików, dla przykładu w katalogu /opt lub /usr/local. # export tver=7.0.59 # wget 7/v${tver}/bin/apache-tomcat-${tver}.tar.gz # tar xf apache-tomcat-${tver}.tar.gz # mv apache-tomcat-${tver} /usr/local/tomcat
9
cd. Instalacja Tomcat Standardowo uruchomiony Tomcat nasłuchuje na porcie 8080 na wszystkich dostępnych interfejsach oraz lokalnie na interfejsie loopback na porcie Nie wymaga również uprawnień administracyjnych użytkownika root w domyślnej konfiguracji co powinno zostać zachowane. W tym celu skorzystamy z osobnego, dedykowanego pod usługę konta tomcat.
10
cd. Instalacja Tomcat - uprawnienia
Następnie uaktualniamy uprawnienia na wypakowanych z archiwum plikach. Uwaga! użytkownik tomcat na którym będzie działać usługa nie powinien mieć uprawnień do modyfikacji plików konfiguracyjnych czy binarnych odpowiedzialnych za uruchamianie aplikacji, ponieważ z poziomu aplikacji może takich zmian w systemie plików dokonać jeśli tylko uprawnienia na to mu zezwalają. # chown tomcat.tomcat -R /usr/local/tomcat
11
cd. Instalacja Tomcat – uszczelnianie systemu
- katalog conf/ # chmod 750 /usr/local/tomcat/conf/ # chown root.tomcat /usr/local/tomcat/conf/ # cd /usr/local/tomcat/conf/ # chown root.tomcat tomcat-users.xml web.xml server.xml logging.properties context.xml catalina.policy catalina.properties # chmod 640 tomcat-users.xml web.xml server.xml logging.properties context.xml catalina.policy catalina.properties katalogi lib/ i bin/ # chown -R root.tomcat /usr/local/tomcat/lib /usr/local/tomcat/bin
12
Zarządzanie usługą - uruchamianie
Tomcat dostarcza własne skrypty przygotowujące środowisko uruchomieniowe Javy pod serwer. Skrypty odpowiedzialne za uruchomianie usługi umieszczone są wewnątrz podkatalogu bin wypakowanego archiwum. Główne z nich to startup.sh i shutdown.sh, stanowiące w rzeczywistości parę wraperów odpowiedzialnych za ustawienie zmiennych i wywołanie głównego skryptu startującego usługę tj. catalina.sh wraz z odpowiednimi parametrami. Jeśli z poziomu użytkownika root wykonamy te skrypty serwer wystartuje na uprawnieniach superużytkownika. Dlatego w celu uruchomienia usługi na uprawnieniach nowo przygotowanego konta można użyć narzędzie su. Ręcznie usługę startujemy zawsze z poziomu dedykowanego użytkownika. # su - tomcat -c /usr/local/tomcat/bin/startup.sh # su - tomcat -c /usr/local/tomcat/bin/shutdown.sh
13
cd. Zarządzanie usługą - status
Status uruchomionego serwera można sprawdzić za pomocą standardowego narzędzia ps po procesie catalina, ewentualnie z pomocą narzędzia jps (java vm ps) $ jps -v | grep Bootstrap $ ps aux | grep catalina.startup.Bootstrap Można uruchomić dowolną przeglądarkę i na porcie 8080 naszego interfejsu publicznego sprawdzić czy usługa prawidłowo wystartowała. Na ekranie powinny załadować się pliki z domyślnej strony startowej z katalogu webapps. firefox
14
Zadanie dodatkowe – przekierowanie portów
Tomcat , a raczej proces uruchomieniowy JVM jak każdy inny wymagający pracy na porcie poniżej 1024 w systemach unixowych wymaga uprawnień administracyjnych użytkownika root. Tomcat nie posiada możliwości zrzucania uprawnień jak serwer Apache. Dlatego uruchamiany powinien być na uprawnieniach zwykłego użytkownika, a co za tym idzie na porcie powyżej uprawnionego zakresu. Ruch z portu 80 może być przekierowany za pomocą reguł iptables lub przy użyciu narzędzia jak jsvc, gdy nie jest wykorzystywany na tym porcie inny serwer WWW. # iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080
Podobne prezentacje
© 2024 SlidePlayer.pl Inc.
All rights reserved.