Apache Tomcat és un servlet de Java gratuït i de codi obert que proporciona un entorn de servidor web HTTP per executar aplicacions Java. És senzill, fàcil d'utilitzar i un dels servidors web més utilitzats del món. Tomcat actua com a servidor de desenvolupament que es pot utilitzar per provar i crear aplicacions que fan servir JSF 2, servlets/JSP o altres tecnologies web dinàmiques basades en Java.
En aquest tutorial, explicarem com instal·lar l'última versió d'Apache Tomcat amb un servidor Cloud amb Ubuntu 24.04.
Requisits
- Un servidor VPS Cloud amb Ubuntu 24.04 o una versió posterior.
- Una IP estàtica configurada al teu servidor.
- Una contrasenya de root configurada al teu servidor VPS a Espanya.
Instal·la Java
Apache Tomcat requereix que instal·lis la versió 8 de Java o una de posterior. Si no la tens instal·lada, pots fer-ho amb l'ordre següent:
# apt install default-jdk -yUn cop instal·lada, comprova la versió de Java amb l'ordre següent:
# java --versionHauries de veure un resultat semblant a aquest:
openjdk 21.0.3 2024-04-16
OpenJDK Runtime Environment (build 21.0.3+9-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 21.0.3+9-Ubuntu-1ubuntu1, mixed mode, sharing)Descarrega Tomcat
Abans de començar, instal·la el descompressor unzip:
# apt update && apt install unzipHauràs de crear un usuari i assignar-li els permisos corresponents:
# useradd -m -d /opt/tomcat -U -s /bin/false tomcatA continuació, descarrega la versió d'Apache Tomcat que vulguis. Pots consultar les versions disponibles a la pàgina oficial de Tomcat. Exemple amb l'última versió disponible:
# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.1.23/bin/apache-tomcat-10.1.23.zipUn cop descarregat, descomprimeix el fitxer amb l'ordre següent:
# unzip apache-tomcat-10.1.23.zip && mv apache-tomcat-10.1.23/* /opt/tomcatDesprés, canvia el propietari del directori /opt/tomcat a Tomcat amb l'ordre següent:
# chown -R tomcat:tomcat /opt/tomcat/
# chmod -R 755 /opt/tomcat/Obre el fitxer de configuració de Tomcat:
# nano /opt/tomcat/conf/tomcat-users.xmlAfegeix les línies següents damunt de la línia </tomcat-users>:
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="your-password" roles="manager-gui,admin-gui"/>Amb això ja tindràs un usuari administrador per accedir a Tomcat.
Crea el fitxer de servei de systemd per a Tomcat
A continuació, hauràs de crear el fitxer de servei de systemd per gestionar el servei de Tomcat. Pots crear-lo amb l'ordre següent:
# nano /etc/systemd/system/tomcat.serviceAfegeix les línies següents:
[Unit]
Description=Tomcat servlet container
After=network.target
[Service]
Type=forking
User=tomcat
Group=tomcat
Environment="JAVA_HOME=/usr/lib/jvm/default-java"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom"
Environment="CATALINA_BASE=/opt/tomcat"
Environment="CATALINA_HOME=/opt/tomcat"
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.targetDesa i tanca el fitxer. Després, torna a carregar el dimoni de systemd i inicia el servei de Tomcat amb les ordres següents:
# systemctl daemon-reload
# systemctl start tomcatTambé pots comprovar el servei de Tomcat amb l'ordre següent:
# systemctl status tomcatHauries de veure el resultat següent:
● tomcat.service - Tomcat servlet container
Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; preset: enabled)
Active: active (running) since Thu 2024-05-09 10:27:00 CEST; 6s ago
Process: 3926 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 3933 (java)
Tasks: 30 (limit: 4614)
Memory: 122.0M (peak: 122.4M)
CPU: 3.583s
CGroup: /system.slice/tomcat.service
└─3933 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/logging.propert>
May 09 10:27:00 amb-ubu24 systemd[1]: Starting tomcat.service - Tomcat servlet container...
May 09 10:27:00 amb-ubu24 startup.sh[3926]: Tomcat started.
May 09 10:27:00 amb-ubu24 systemd[1]: Started tomcat.service - Tomcat servlet container.Accedeix a la interfície web de Tomcat
Nota: caldrà obrir el port 8080 al tallafoc del tauler de client.
Ara Tomcat està instal·lat i s'executa al port 8080. Obre el navegador web i ves a l'URL http://your-server-ip:8080. Se't redirigirà al tauler de Tomcat, tal com es mostra a continuació:
Si intentes navegar per qualsevol de les seccions, se't denegarà l'accés amb un error 403. Això passa perquè, per defecte, Apache Tomcat només es pot administrar des de l'equip local i no de manera remota. Ho solucionarem configurant nginx com a servidor intermediari invers.
Configura NGINX com a servidor intermediari invers
També pots configurar NGINX com a servidor intermediari invers per al servidor Tomcat. Així, Nginx acceptarà les peticions al port 80 davant del servidor Tomcat.
Primer, instal·la el servidor web NGINX amb l'ordre següent:
# apt install nginx -yUn cop instal·lat, crea un fitxer de configuració d'amfitrió virtual nou per a Tomcat.
# nano /etc/nginx/sites-available/tomcat.confAfegeix les línies següents:
upstream tomcat {
server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;
}
server {
listen 80;
server_name tu-dominio.com;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://tomcat/;
}
}Desa i tanca el fitxer. Després, habilita el fitxer d'amfitrió virtual del servidor web NGINX per aplicar la configuració:
# ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/
# systemctl restart nginxObre el navegador web i ves a l'URL http://tu-dominio.com. Ara, fes clic a Manager App o Host Manager. Se't demanarà que introdueixis un nom d'usuari i una contrasenya, tal com es mostra a la pantalla següent:
Introdueix el teu nom d'usuari admin i fes clic al botó Sign In. Se't redirigirà al tauler de Manager App o de Host Manager:
Obtén un certificat SSL de Let's Encrypt
Ara, si necessites un certificat SSL, només hauràs d'instal·lar Let's Encrypt. Pots fer-ho amb l'ordre següent:
# apt install certbot python3-certbot-nginxI configurar el certificat amb l'ordre següent:
# certbot --nginx -d ejemplo.com -d www.ejemplo.comPots trobar més informació al nostre article: Obtén certificats de Let's Encrypt amb Certbot
Enhorabona! Ja pots accedir al servidor Tomcat a través de l'URL http://ejemplo.com sense especificar el port 8080 de Tomcat.
Recorda que, si tens dubtes sobre aquesta qüestió o qualsevol altra relacionada amb els teus servidors a Clouding, no dubtis a escriure a soporte@clouding.io Som al teu costat per a tot el que necessitis, consulta'ns!