Com instal·lar Apache Tomcat a Ubuntu
Si voleu executar pàgines web que incloguin codificació de pàgines del servidor Java o servlets Java, podeu utilitzar Apache Tomcat. És un servidor web de codi obert i un contenidor de servlets, publicat per Apache Software Foundation.
Tomcat es pot utilitzar com a producte autònom, amb el seu propi servidor web o es pot combinar amb altres servidors web com Apache o IIS. La versió més recent de Tomcat és la 9.0.14 i es basa en Tomcat 8 i 8.5 i implementa Servlet 4.0, JSP 2.2.
S'han fet les millores següents a la nova versió:
- S'ha afegit compatibilitat amb HTTP/2.
- S'ha afegit compatibilitat per utilitzar OpenSSL per a TLS amb els connectors JSSE.
- S'ha afegit compatibilitat amb els amfitrions virtuals TLS (SNI).
En aquest tutorial us mostrarem com instal·lar Apache Tomcat 9 a Ubuntu 18.10 i versions anteriors d'Ubuntu.
Pas 1: instal·lació de Java
Per executar aplicacions web Java, Tomcat requereix que Java estigui instal·lat al servidor. Per complir amb aquest requisit, instal·larem OpenJDK tal com es mostra.
$ sudo apt update $ sudo apt install default-jdk
Pas 2: Creació d'un usuari de Tomcat
Per raons de seguretat, Tomcat s'hauria d'executar amb un usuari sense privilegis, és a dir, no root. És per això que crearem l'usuari i el grup tomcat que executaran el servei. Comenceu creant el grup tomcat:
$ sudo groupadd tomcat
A continuació, crearem un usuari tomcat, que serà membre del grup tomcat. La ubicació d'inici d'aquest usuari serà /opt/tomcat ja que aquí és on instal·larem Tomcat. L'intèrpret d'ordres s'estableix a /bin/false:
$ sudo useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat
Ara estem preparats per procedir al següent pas i descarregar Tomcat.
Pas 3: instal·lació d'Apache Tomcat
Per descarregar l'últim paquet disponible, aneu a la pàgina de descàrrega de Tomcat i agafeu la darrera versió.
En el moment d'escriure aquest tutorial, la darrera versió de Tomcat és la 9.0.14. Per descarregar aquesta versió, canvieu el vostre directori actual a una altra cosa. Per exemple, podeu utilitzar /tmp:
# cd /tmp
A continuació, utilitzeu l'ordre wget per descarregar l'arxiu Tomcat:
$ wget http://apache.cbox.biz/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz $ wget https://www.apache.org/dist/tomcat/tomcat-9/v9.0.14/bin/apache-tomcat-9.0.14.tar.gz.sha512
Si voleu verificar la suma sha512 del fitxer, podeu executar:
$ sha512sum apache-tomcat-9.0.14.tar.gz $ cat apache-tomcat-9.0.14.tar.gz.sha512
El valor resultant (hash) per als dos fitxers hauria de ser el mateix.
Com s'ha esmentat anteriorment, instal·larem Tomcat a /opt/tomcat. Haurem de crear aquest directori:
$ sudo mkdir /opt/tomcat
I ara podem extreure el paquet descarregat en aquest nou directori:
$ sudo tar xzvf apache-tomcat-9.0.14.tar.gz -C /opt/tomcat --strip-components=1
Ara navegueu a /opt/tomcat des d'on actualitzarem la propietat i els permisos de la carpeta:
# cd /opt/tomcat
I establiu el propietari del grup de /opt/tomcat a tomcat:
$ sudo chgrp -R tomcat /opt/tomcat
A continuació actualitzarem l'accés de lectura del grup tomcat al directori conf i establirem els permisos d'execució al directori:
$ sudo chmod -R g+r conf $ sudo chmod g+x conf
A continuació, farem que l'usuari de Tomcat sigui propietari dels directoris d'aplicacions web, treball, temps i registres:
$ sudo chown -R tomcat webapps/ work/ temp/ logs/
Ara s'han establert els permisos i les propietats adequats i estem preparats per crear un fitxer d'inici systemd, que ens ajudarà a gestionar el procés Tomcat.
Pas 4: creació d'un fitxer de servei SystemD per a Tomcat
Com que volem executar Tomcat com a servei, haurem de tenir un fitxer que ens ajudi a gestionar fàcilment el procés. Per a això, crearem un fitxer de servei systemd. Tomcat haurà de saber on es troba Java al vostre sistema.
Per trobar aquesta ubicació, utilitzeu l'ordre següent:
$ sudo update-java-alternatives -l
La sortida d'aquesta ordre us mostrarà la ubicació de JAVA_HOME.
Ara, utilitzant aquesta informació, estem preparats per crear el nostre fitxer de servei Tomcat.
$ sudo vim /etc/systemd/system/tomcat.service
Enganxeu el codi següent al fitxer:
[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
Assegureu-vos de configurar JAVA_HOME amb el del vostre sistema. Quan estigueu preparat, deseu el fitxer i tanqueu-lo. Ara, utilitzant l'ordre següent, torneu a carregar el dimoni systemd perquè pugui trobar el nostre nou fitxer de servei:
$ sudo systemctl daemon-reload
A continuació, inicieu el servei Tomcat:
$ sudo systemctl start tomcat
Podeu verificar l'estat del servei amb:
$ sudo systemctl status tomcat
Ara podeu provar Tomcat al vostre navegador utilitzant l'adreça IP del vostre sistema seguida del port predeterminat del servei 8080.
http://ip-address:8080
El resultat que hauríeu de veure és similar al que es mostra a la imatge següent:
En cas que no veieu la sortida anterior, potser haureu de permetre el port 8080 al vostre tallafoc, tal com es mostra.
$ sudo ufw allow 8080
Si voleu que Tomcat s'iniciï a l'arrencada del sistema, executeu:
$ systemctl enable tomcat
Pas 5: Configuració d'Apache Tomcat
Tomcat té una aplicació de gestor web que ve preinstal·lada. Per utilitzar-lo, haurem de configurar l'autenticació al nostre fitxer tomcat-users.xml. Obriu i editeu aquest fitxer amb el vostre editor de text preferit:
$ sudo vim /opt/tomcat/conf/tomcat-users.xml
Afegirem un usuari que podrà accedir a les interfícies de gestor i administrador. Per configurar aquest usuari, entre les etiquetes
, afegiu la línia següent:
<user username="Username" password="Password" roles="manager-gui,admin-gui"/>
Assegureu-vos de canviar:
- Nom d'usuari: amb l'usuari que voleu autenticar.
- Contrasenya: amb la contrasenya que voleu utilitzar per a l'autenticació.
Com que per defecte l'accés al gestor i al gestor d'amfitrió està restringit, volem eliminar o modificar aquestes restriccions. Per fer aquests canvis, podeu carregar els fitxers següents:
Per a l'aplicació Gestor:
$ sudo vim /opt/tomcat/webapps/manager/META-INF/context.xml
Per a l'aplicació Gestor d'amfitrió:
$ sudo vim /opt/tomcat/webapps/host-manager/META-INF/context.xml
Dins d'aquests fitxers, podeu comentar la restricció d'IP o permetre la vostra adreça IP pública. Amb el propòsit d'aquest tutorial, he comentat la línia:
Per fer els nostres canvis en directe, torneu a carregar el servei Tomcat amb:
$ sudo systemctl restart tomcat
Ara podeu provar l'aplicació del gestor accedint a http://ipaddress:8080/manager/. Quan se us demani el nom d'usuari i la contrasenya, utilitzeu els que hàgiu configurat anteriorment. La interfície que hauríeu de veure després és així:
Per accedir al gestor de l'amfitrió, podeu utilitzar http://adreça-ip:8080/gestor-amfitrió/.
Amb el gestor d'amfitrions virtuals, podeu crear amfitrions virtuals per a les vostres aplicacions Tomcat.
Pas 6: prova d'Apache Tomcat mitjançant la creació d'un fitxer de prova
Podeu comprovar si tot funciona correctament, creant un fitxer de prova dins del directori /opt/tomcat/webapps/ROOT/.
Creem aquest fitxer:
$ sudo vim /opt/tomcat/webapps/ROOT/tecmint.jsp
Dins d'aquest fitxer, enganxeu el codi següent:
<html> <head> <title>Tecmint post:TomcatServer</title> </head> <body> <START OF JAVA CODES> <% out.println("Hello World! I am running my first JSP Application"); out.println("<BR>Tecmint is an Awesome online Linux Resource."); %> <END OF JAVA CODES> </body> </html>
Deseu el fitxer i configureu la propietat tal com es mostra.
$ sudo chown tomcat: /opt/tomcat/apache-tomcat-8.5.14/webapps/ROOT/tecmint.jsp
Ara carregueu aquest fitxer al vostre navegador mitjançant http://ip-address:8080/tecmint.jsp.
Això és! Heu completat la configuració del vostre servidor Apache Tomcat i heu executat el vostre primer codi Java. Esperem que el procés us hagi estat fàcil i senzill. Si teniu cap problema, compartiu els vostres problemes mitjançant el formulari de comentaris a continuació.