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 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 18.04 LTS.
Requisits
- Un servidor VPS Cloud que executi Ubuntu 18.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-get install default-jdk -y
Un cop instal·lada, comprova la versió de Java amb l'ordre següent:
# java --version
Hauries de veure un resultat similar:
openjdk 11.0.4 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Ubuntu-1ubuntu218.04.3, mixed mode, sharing)
Descarrega Tomcat
Abans de començar, hauràs de crear un grup i un usuari que executaran el servei Tomcat.
Pots fer-ho amb l'ordre següent:
# groupadd tomcat
# useradd -s /bin/false -g tomcat -d /home/tomcat tomcat
A continuació, descarrega la versió d'Apache Tomcat desitjada, pots comprovar-la a la pàgina oficial de Tomcat. Exemple amb l'última disponible:
# wget https://dlcdn.apache.org/tomcat/tomcat-10/v10.0.14/bin/apache-tomcat-10.0.14.zip
Un cop descarregat, descomprimeix el fitxer amb l'ordre següent:
# unzip apache-tomcat-10.0.14.zip
Després mou el directori extret al directori /home/:
# mv apache-tomcat-10.0.14 /home/tomcat
Després, canvia la propietat del directori /home/tomcat a tomcat amb l'ordre següent:
# chown -R tomcat:tomcat /home/tomcat
# chmod -R 755 /home/tomcat/
Configura la interfície de gestió web de Tomcat
Per accedir a la interfície de gestió web de Tomcat, hauràs d'afegir un usuari i una contrasenya per accedir a la manager-gui i a l'admin-gui. Pots fer-ho editant el fitxer /home/tomcat/conf/tomcat-users.xml:
# nano /home/tomcat/conf/tomcat-users.xml
Afegeix 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"/>
Desa i tanca el fitxer quan hagis acabat.
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ó de host, edita el fitxer següent:
# nano /home/tomcat/webapps/host-manager/META-INF/context.xml
Afegeix l'adreça IP a la màquina virtual remota on vulguis tenir accés per a l'administració de host.
<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" />
Per a l'administració de l'aplicació, edita el fitxer següent:
# nano /home/tomcat/webapps/manager/META-INF/context.xml
Afegeix l'adreça IP a la màquina virtual remota on vulguis tenir accés per a l'administració de host.
<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 Systemd per a Tomcat
A continuació, hauràs de crear el fitxer de servei systemd per gestionar el servei de Tomcat. Pots crear-lo amb l'ordre següent:
# nano /etc/systemd/system/tomcat.service
Afegeix 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=/home/tomcat"
Environment="CATALINA_HOME=/home/tomcat"
Environment="CATALINA_PID=/home/tomcat/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/home/tomcat/bin/startup.sh
ExecStop=/home/tomcat/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
Desa 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 tomcat
També pots verificar el servei Tomcat amb l'ordre següent:
# systemctl status tomcat
Hauries 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
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 més avall:
Ara, fes clic a App Manager o Host Manager. Et demanarà que proporcionis un nom d'usuari i una contrasenya tal com es mostra a la pantalla següent:
Proporciona el teu nom d'usuari admin i fes clic al botó de Sign In. Se't redirigirà al tauler de Manager App o de Host Manager:
Configura Nginx com a Reverse Proxy
També pots configurar Nginx com a Reverse Proxy 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-get install nginx -y
Un cop instal·lat, crea un fitxer nou de configuració de virtual host per a Tomcat.
# nano /etc/nginx/sites-available/tomcat.conf
Afegeix 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 virtual host del servidor web de Nginx per aplicar la configuració:
# ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/
systemctl restart nginx
Enhorabona! Ja pots accedir al servidor Tomcat a través de l'URL http://ejemplo.com sense especificar el port Tomcat 8080.