Important
Aquest article és obsolet i pot contenir informació desactualitzada. Si us plau, consulta la documentació més recent per obtenir la informació actualitzada.
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 al món. Tomcat actua com un servidor de desenvolupament que es pot utilitzar per provar i crear aplicacions que utilitzen 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 utilitzant un servidor Cloud Ubuntu 22.04 LTS.
Requisits
- Un servidor VPS Cloud que executi Ubuntu 22.04 LTS o superior.
- Una IP estàtica configurada al teu servidor.
- Una contrasenya 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 superior. 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 similar:
openjdk 11.0.15 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.22.04.1, mixed mode, sharing)Descarrega Tomcat
Abans de començar, utilitza l'ordre:
# apt updateHauràs de crear un usuari i donar-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-la a la pàgina oficial de Tomcat. Exemple amb l'última disponible:
# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.23/bin/apache-tomcat-10.0.23.zipUn cop descarregat, descomprimeix el fitxer amb l'ordre següent:
# unzip apache-tomcat-10.0.23.zip && mv apache-tomcat-10.0.23/* /opt/tomcatDesprés, canvia la propietat del directori /opt/tomcat a Tomcat amb l'ordre següent:
# chown -R tomcat:tomcat /opt/tomcat/
# chmod -R 755 /opt/tomcat/Accedeix al 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.
Configura la interfície de gestió web de Tomcat
A continuació, hauràs de permetre que Tomcat Manager i Host Manager siguin accessibles des de la teva IP remota.
Per a l'aplicació d'administració d'amfitrions, edita el fitxer següent:
# nano /opt/tomcat/webapps/host-manager/META-INF/context.xmlAfegeix l'adreça IP de la màquina virtual remota des d'on vulguis tenir accés a l'administració d'amfitrions.
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|your-remote-system-ip" />Desa i tanca el fitxer quan hagis acabat.
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 Tomcat amb les ordres següents:
# systemctl daemon-reload
# systemctl start tomcatTambé pots comprovar el servei 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; vendor preset: enabled)
Active: active (running) since Sun 2019-10-06 06:57:39 UTC; 19s ago
Process: 17893 ExecStart=/home/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 17903 (java)
Tasks: 43 (limit: 1114)
CGroup: /system.slice/tomcat.service
└─17903 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/home/tomcat/conf/logging.properties -Djava.util.logging.
Oct 06 06:57:39 ubuntu1804 systemd[1]: Starting Tomcat servlet container...
Oct 06 06:57:39 ubuntu1804 startup.sh[17893]: Tomcat started.
Oct 06 06:57:39 ubuntu1804 systemd[1]: Started Tomcat servlet container.Accedeix a la interfície web de Tomcat
Nota: haurem d'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, com es mostra més avall:
Ara, fes clic a App Manager o Host Manager. Et demanarà que proporcionis un nom d'usuari i una contrasenya, com es mostra a la pantalla següent:
Proporciona 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:
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 de 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 ejemplo.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 de NGINX per aplicar la configuració:
# ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/
# systemctl restart nginxObtenir 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:
# apt install certbot python3-certbot-nginxI configurar el certificat amb l'ordre:
# certbot --nginx -d ejemplo.com -d www.ejemplo.comPots trobar més informació al nostre article: Obtenir certificats 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 Tomcat 8080.
Recorda que, si tens consultes sobre aquesta o qualsevol altra qüestió relacionada amb els teus servidors a Clouding, no dubtis a escriure a soporte@clouding.io Som al teu costat per al que necessitis, consulta'ns!