Instalacja i konfiguracja Apache Tomcat na Ubuntu
Ten przewodnik opisuje kroki niezbędne do instalacji i konfiguracji Apache Tomcat na Ubuntu z Java 17, skonfigurowania go jako usługi systemowej oraz włączenia HTTPS z certyfikatem self-signed.
1. Instalacja Java 17
Aktualizacja menedżera pakietów i instalacja Java 17:
sudo apt update
sudo apt install openjdk-17-jdk -y
Weryfikacja instalacji Java:
java -version
Konfiguracja domyślnej wersji Java (jeśli zainstalowanych jest wiele wersji):
sudo update-alternatives --config java
Ustawienie zmiennej środowiskowej JAVA_HOME
:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Utrwalenie zmiennej JAVA_HOME
:
echo 'export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64' >> ~/.bashrc
source ~/.bashrc
Weryfikacja zmiennej JAVA_HOME
:
echo $JAVA_HOME
2. Instalacja Apache Tomcat
Pobranie Apache Tomcat:
wget https://dlcdn.apache.org/tomcat/tomcat-11/v11.0.2/bin/apache-tomcat-11.0.2.tar.gz
Rozpakowanie archiwum:
tar -xvzf apache-tomcat-11.0.2.tar.gz
Przeniesienie Tomcat do katalogu /opt
:
sudo mv apache-tomcat-11.0.2 /opt/tomcat
Ustawienie uprawnień do katalogu Tomcat:
sudo chown -R $USER:$USER /opt/tomcat
Uruchomienie Tomcat:
/opt/tomcat/bin/startup.sh
3. Konfiguracja Tomcat jako usługi systemowej
Utworzenie pliku usługi systemd:
sudo nano /etc/systemd/system/tomcat.service
Dodanie następującej zawartości do pliku usługi:
[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.target
Przeładowanie systemd i włączenie usługi:
sudo systemctl daemon-reload
sudo systemctl enable tomcat
Uruchomienie usługi Tomcat:
sudo systemctl start tomcat
Sprawdzenie statusu usługi:
sudo systemctl status tomcat
4. Włączenie HTTPS z certyfikatem self-signed
Generowanie certyfikatu self-signed:
keytool -genkey -alias tomcat -keyalg RSA -keystore /opt/tomcat/conf/keystore.jks -keysize 2048
- Podczas generowania certyfikatu należy podać wymagane informacje (np. hasło, nazwa organizacji, itp.).
Konfiguracja Tomcat dla HTTPS:
- Otwarcie pliku
server.xml
:
sudo nano /opt/tomcat/conf/server.xml
- Znalezienie elementu
<Connector>
dla HTTPS i odkomentowanie lub zmodyfikowanie go:
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="200" SSLEnabled="true">
<SSLHostConfig>
<Certificate certificateKeystoreFile="conf/keystore.jks"
type="RSA" certificateKeystorePassword="twoje_haslo_keystore"/>
</SSLHostConfig>
</Connector>
- Zapisanie i zamknięcie pliku.
Restart Tomcat, aby zastosować zmiany:
sudo systemctl restart tomcat
Test HTTPS: Otwórz przeglądarkę i przejdź do:
https://twoj-adres-ip:8443
5. Dodatkowe komendy
Zatrzymanie Tomcat:
sudo systemctl stop tomcat
Restart Tomcat:
sudo systemctl restart tomcat
Sprawdzenie logów:
sudo tail -f /opt/tomcat/logs/catalina.out
Rozwiązywanie problemów
- Jeśli Tomcat nie uruchamia się, sprawdź logi:
journalctl -u tomcat.service
- Upewnij się, że porty nie są zajęte:
sudo netstat -tulpn | grep LISTEN
- Sprawdź uprawnienia do katalogów:
ls -la /opt/tomcat
Wskazówki bezpieczeństwa
- Zmień domyślne hasła w pliku
tomcat-users.xml
- Usuń przykładowe aplikacje w środowisku produkcyjnym
- Regularnie aktualizuj Tomcat do najnowszej wersji
- Rozważ użycie firewalla do ograniczenia dostępu
Tomcat jest teraz w pełni zainstalowany i skonfigurowany do działania jako usługa systemowa z obsługą HTTPS!