Com instal·lar Apache Tomcat 9 a Debian 10


Apache Tomcat és un programari de servidor d'aplicacions web gratuït, madur, robust i popular que s'utilitza per servir aplicacions basades en Java. És una implementació de codi obert de les tecnologies Java Servlet, JavaServer Pages (JSP), Java Expression Language i Java WebSocket, desenvolupada per l'Apache Software Foundation (ASF).

Aquest tutorial us guiarà pel procés d'instal·lació i configuració de la darrera versió de Tomcat 9 al vostre servidor Debian 10 Linux.

Abans de començar amb aquest tutorial, assegureu-vos que teniu un compte d'usuari no root amb privilegis sudo al vostre servidor. Si no, podeu configurar-ne un mitjançant la nostra guia sobre Com crear un nou usuari de Sudo a Ubuntu/Debian.

Pas 1: instal·leu Java a Debian 10

Per instal·lar la darrera versió de Tomcat 9 al vostre servidor Debian 10, heu de tenir Java instal·lat al servidor perquè pugueu executar el codi de l'aplicació web Java.

Primer, actualitzeu l'índex del paquet de programari del sistema mitjançant l'ordre apt tal com es mostra.

$ sudo apt update

A continuació, instal·leu el paquet Java Development Kit mitjançant l'ordre apt.

$ sudo apt install default-jdk

Un cop finalitzada la instal·lació de Java, comproveu la versió de Java instal·lada al sistema mitjançant l'ordre següent.

$ java -version

Pas 2: instal·leu Tomcat a Debian 10

Per motius de seguretat, Tomcat hauria de ser instal·lat i executat per un usuari sense privilegis (és a dir, no root). Crearem un nou grup i usuari Tomcat per executar el servei Tomcat al directori /opt/tomcat (instal·lació de Tomcat).

$ sudo mkdir /opt/tomcat
$ sudo groupadd tomcat
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

Un cop hàgim configurat l'usuari tomcat, ara descarregueu l'última versió de Tomcat 9 (és a dir, 9.0.30) des de l'eina de línia d'ordres curl per descarregar el fitxer tarball i extreure l'arxiu al directori /opt/tomcat.

$ curl -O http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.30/bin/apache-tomcat-9.0.30.tar.gz
$ sudo tar xzvf apache-tomcat-9*tar.gz -C /opt/tomcat --strip-components=1

A continuació, assigneu els permisos a l'usuari de Tomcat per tenir accés al directori d'instal·lació de Tomcat /opt/tomcat.

$ cd /opt/tomcat
$ sudo chgrp -R tomcat /opt/tomcat
$ sudo chmod -R g+r conf
$ sudo chmod g+x conf
$ sudo chown -R tomcat webapps/ work/ temp/ logs/

Pas 3: creeu un fitxer de servei Tomcat systemd

Crearem un nou fitxer de servei systemd per gestionar i executar Tomcat com a servei sota systemd. Per crear un fitxer de servei, hauríeu de saber on està instal·lat Java, ja que es coneix com a JAVA_HOME mitjançant l'ordre següent.

$ sudo update-java-alternatives -l

A partir de la sortida anterior, el nostre JAVA_HOME és:

/usr/lib/jvm/java-1.11.0-openjdk-amd64

Un cop coneixem el nostre JAVA_HOME, podem crear el fitxer de servei systemd anomenat tomcat.service al directori /etc/systemd/system executant-lo.

$ sudo nano /etc/systemd/system/tomcat.service

Enganxeu el contingut següent al vostre fitxer tomcat.service.

[Unit]
Description=Apache Tomcat Web Application Container
After=network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

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

A continuació, torneu a carregar el systemd per aplicar els nous canvis, de manera que conegui el nostre fitxer tomcat.service.

$ sudo systemctl daemon-reload

Finalment, podeu iniciar i verificar l'estat del servei Tomcat executant les ordres següents.

$ sudo systemctl start tomcat
$ systemctl status tomcat
$ systemctl enable tomcat

Pas 4: habiliteu l'inici de sessió per a Tomcat Manager i Host Manager

Per accedir a les aplicacions web manager-gui i admin-gui que inclou Tomcat, hem d'habilitar l'inici de sessió al nostre servidor Tomcat editant el fitxer tomcat-users.xml tal com es mostra.

$ sudo nano /opt/tomcat/conf/tomcat-users.xml

Afegiu la configuració següent a les etiquetes , amb el nom d'usuari i la contrasenya correctes com es mostra.

<role rolename="admin-gui,manager-gui"/> 
<user username="admin" password="password" roles="admin-gui,manager-gui"/>

La configuració anterior implica que s'afegeixen els rols admin-gui i manager-gui a un usuari anomenat \admin amb una contrasenya de \tecmint123.

Pas 5: habiliteu l'inici de sessió remot a Tomcat Manager i Host Manager

Per motius de seguretat, l'accés a les aplicacions Tomcat Manager i Host Manager està bloquejat per defecte al localhost (el servidor on es desplega).

Tanmateix, podeu habilitar l'accés remot des d'una adreça IP específica o qualsevol amfitrió o xarxa a les aplicacions Tomcat Manager i Host Manager, tal com s'explica a continuació.

Per a l'aplicació Tomcat Manager, escriviu:

$ sudo nano /opt/tomcat/webapps/manager/META-INF/context.xml

Per a l'aplicació Host Manager, escriviu:

$ sudo nano /opt/tomcat/webapps/host-manager/META-INF/context.xml

A l'interior, comenta la restricció de l'adreça IP per permetre l'accés des de qualsevol xarxa.

<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" />-->
</Context>

De manera alternativa, activeu l'accés remot des de la vostra pròpia adreça IP 192.168.0.103 o des d'una xarxa (192.168.0.0) afegint l'adreça IP a la llista.

allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.103" />-->
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|192.168.0.*" />-->

Deseu els fitxers i reinicieu el servei Tomcat per mantenir els nostres canvis en vigor.

$ sudo systemctl restart tomcat

Pas 6: accediu a la interfície web de Tomcat

Per accedir a una interfície web de Tomcat des de qualsevol navegador, heu d'obrir el port 8080 per permetre el trànsit al servei Tomcat al tallafoc escrivint.

$ sudo ufw allow 8080

Ara accediu a la interfície de gestió web de Tomcat anant al nom de domini o a l'adreça IP del vostre servidor seguit del port 8080 al vostre navegador.

http://server_domain_or_IP:8080

Accedim a l'aplicació Gestor a l'URL següent, haureu d'introduir les credencials del compte.

http://server_domain_or_IP:8080/manager/html

Accedim al gestor d'amfitrió a l'URL següent, haureu d'introduir les credencials del compte.

http://server_domain_or_IP:8080/host-manager/html/

Això és tot! La vostra instal·lació de Tomcat s'ha completat, ara podeu implementar i executar aplicacions web Java. Si teniu cap pregunta o pensament per compartir, poseu-vos en contacte amb nosaltres mitjançant el formulari de comentaris a continuació.