Konfiguracja serwera TOMCAT 4.1
Serwer Tomcat to sztandarowy produkt projektu Jakarta opracowywanego przez Apache Software Foundation. Jest on implementacją specyfikacji Java Servlet SDK 2.2 firmy Sun oraz Java Server Pages 1.1. Tomcat działa bezproblemowo w systemach UNIX, Windows NT i Windows 2000. Użytkownicy systemów Windows 9x powinni zapoznać się ze stroną WWW poświęconą projektowi Tomcat, zawierającą wskazówki dotyczące konfiguracji tego serwera w tych systemach.
Istnieje co najmniej kilka różnych podejść do zagadnienia konfiguracji serwera Tomcat. Poniżej zaprezentowana będzie wersja proponowana przez autora książki „Java Servlet i Java Servlet Pages”- Marty Hall’a.
Zgodnie z jego zaleceniami konfiguracja serwera Tomcat składa się z ośmiu podsta-wowych kroków:
1. Instalacja serwera Apache Tomcat
Plik instalacyjny można pobrać ze strony
http://jakarta.apache.org/builds/jakarta-tomcat-4.0/release/.
Należy zwrócić uwagę na zgodność wersji JDK z wersją Tomcat-a. Jeżeli w systemie zainstalowana jest wersja JDK 1.4 należy wybrać wersję „LE”. Jeżeli mamy JDK 1.3 wybieramy wersję standardową.
Na przykład dla Jakarta Tomcat 4.1.24 oraz JDK 1.4 należy wybrać plik jakarta-tomcat-4.1.24-LE-jdk14.zip.
2. Włączenie ROOT Context
ROOT Context jest domyślną aplikacją internetową w Tomkat-cie. W wersji Tomcat 3.0 aplikacja ta jest domyślnie włączona. Jednakże od wersji Tomcat 4.1.12 i nowszej jest wyłączona. Aby ją włączyć należy usunąć znacznik komentarza w pliku in-stall_dir/conf/server.xml w linii:
W najnowszej wersji Tomcat 5.0.3 może wystąpić błąd, polegający na tym, że brak jest znaku „/” backslash na końcu linii. Wtedy oczywiście należy go tam umieścić.
3. Włączenie wywoływania Serwletów
Element Invoker Servlet umożliwia uruchamianie serwletów bez koniecznych zmian w pliku WEB-INF/web.xml. Wystarczy wtedy umieścić serwlet w katalogu WEB-INF/classes i można go wywołać bezpośrednio przez adres URL w postaci http://host/serlet/ServletName. Jest to niezmiernie wygodne na wczesnym etapie na-uki JSP. Aż do wersji Tomcat 4.1.12 Invoker Servlet był włączony domyślnie. W wersjach nowszych jest on wyłączony ze względów bezpieczeństwa sieciowego.
Aby włączyć Invoker Servlet należy usunąć znacznik komentarza w elemencie serv-let-mapping w pliku install_dir/conf/web.xml ( ale nie w pliku .../server.xml, i nie należy mylić tego pliku z plikiem web.xml w katalogu WEB-INF)
4. Ustawienie numer portu na 80
W celu uniknięcia konfliktów z istniejącymi serwerami WWW zarówno Tomcat, jak i JSWDK używają niestandardowych portów. W razie wykorzystywania jednego z tych produktów do wstępnego tworzenia i testowania serwletów i stron JSP bez używania innego serwera WWW, zapewne najwygodniejsze jest używanie standardowego portu HTTP o numerze 80.
W przypadku Tomcata 3.0 numer portu można zmienić edytując plik
katalog_instalacyjny/server.xml. W pliku tym należy odszukać poniższy wiersz i za-mienić w nim liczbę 8080 na 80:
W przypadku serwera Tomcat 4.1 postępujemy następująco.
Zakładamy, że nie mamy żadnych serwisów na porcie 80. Zmiana ta umożliwi korzy-stanie z URL w postaci: http://localhost/blabla zamiast http://localhost:8080/blabla.
Uwaga: potrzebne będą uprawnienia administratora w systemie Unix. W przypad-ku Windows XP, który automatycznie uruchamia IIS na porcie 80, należy wyłączyć IIS.
Aby zmienić nr portu należy otworzyć plik install_dir/conf/server.xml i zmienić atry-but polecenia Connector z 8080 na 80 jak poniżej:
port="80" ...
... />
5. Włączenie powtórnego załadowania Serwletów do pamięci.
Następnym krokiem jest polecić serwerowi Tomcat sprawdzanie modyfikacji daty pliku class wymaganego przez serwlet i załadować go powtórnie do pamięci, gdy nastąpiła jakaś zmiana od ostatniego ładowania. Zwalnia to trochę działanie serwera, lecz ta zmiana zapobiega konieczności wyłączania i ponownego włączania serwera po każdej zmianie i powtórnej kompilacji serwletu.
Aby włączyć funkcję Servlet Reloading należy wejść do pliku install_dir/conf/server.xml i dodać linię DefaultContext do głównego elementu Service ustawiając atrybut reloadale na true. Najłatwiej dokonać tego odszukując następujący komentarz:
Tuż pod tym komentarzem należy umieścić linię kodu:
6. Ustawić zmienną JAVA_HOME
Jeśli wraz z Tomcatem używa się JDK 1.2 lub 1.3, należy określić wartość zmiennej środowiskowej JAVA_HOME i podać w niej nazwę katalogu instalacyjnego JDK. W przypadku JDK 1.1 określanie tej zmiennej środowiskowej nie jest konieczne. Najprostszym sposobem podania wartości zmiennej środowiskowej JAVA HOME jest dodanie linii w pliku
autoexec.bat:
set JAVA_HOME=C:J2sdkl.4.0_05
Można także dokonać tego, zmieniając skrypt startowy startup (w przypadku Tomcata 3) lub catalina.bat Należy w notatniku otworzyć plik
install_dir/bin/catalina.bat i umieścić następujący kod tuż pod ostatnią linią komentarzy początkowych i zapamiętać zmianę:
if not "%JAVA HOME%" = = "" goto gotJavaHome
set JAVA_HOME=C:J2sdkl.4.0_05
:gotJavaHome
7. Zmiana ustawień pamięci systemu MSDOS.
Podczas uruchamiania Tomcata lub JSWDK w systemach MS Windows 95 lub MS Windows 98 najczęściej trzeba dokonać modyfikacji wielkości pamięci przydzielanej dla zmiennych środowiskowych programów MS DOS. W przeciwnym wypadku może pojawić się komunikat:
„Out of environmental Space”.
W tym celu należy uruchomić nowe okno trybu MS DOS, kliknąć ikonę znajdującą się w jego lewym, górnym narożniku i z wyświetlonego menu wybrać opcję Właściwości. Następnie należy przejść na zakładkę Pamięć i z listy rozwijanej Środowisko pierwotne wybrać wartość 2816.
8. Ustawienie zmiennej CATALINA_HOME (opcjonalne)
Jeżeli zdarzy się nam utworzyć kilka kopii skryptów startowych startup i zamykających serwer shutdown dobrze jest ustawić zmienną środowiskową CATALINA_HOME, która umożliwia odniesienie się do najwyższego poziomu w katalogu instalacyjnym Apache Tomcat. Zmienna ta zawiera informację dla serwera gdzie jest główny katalog Tomcat-a.
Zmiana ta nie jest konieczna, jeśli jesteśmy pewni że nie ma innych kopii tych plików.