Apache Tomcat es un servidor web de código abierto que está diseñado para mostrar páginas web en Java. Se implementa de forma generalizada y alimenta diversas aplicaciones web de misión crítica en todo el mundo.
Como guía de inicio, este artículo explica cómo instalar Apache Tomcat 8, la última versión estable de Apache Tomcat, en una instancia de servidor CentOS 7.
Prerrequisitos
Antes de seguir leyendo, necesitas lo siguiente:
- Implementar una nueva instancia del servidor CentOS 7.
- Iniciar sesión en esta máquina desde tu terminal SSH como un usuario sudo no root.
Paso 1: Actualizar tu sistema CentOS
Lo primero es lo primero, necesitas actualizar el sistema al estado estable más reciente:
1 2 |
sudo yum install epel-release sudo yum update -y && sudo reboot |
Utiliza el mismo usuario sudo para iniciar sesión en el sistema después de que finalice el reinicio.
Paso 2: Instalar Java
Debes instalar Java SE 7.0 o posterior para que Apache Tomcat pueda ejecutarse correctamente. Aquí, instalaremos OpenJDK Runtime Environment 1.8.0 utilizando YUM:
1 |
sudo yum install java-1.8.0-openjdk.x86_64 |
Ahora, puedes confirmar tu instalación con:
1 |
java -version |
La salida se asemejará a lo siguiente:
1 2 3 4 |
openjdk version "1.8.0_91" OpenJDK Runtime Environment (build 1.8.0_91-b14) OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode) |
Paso 3: Crear un usuario dedicado para Apache Tomcat
Por motivos de seguridad, debes crear un usuario no root dedicado “tomcat” que pertenezca al grupo “tomcat”:
1 2 3 |
sudo groupadd tomcat sudo mkdir /opt/tomcat sudo useradd -s /bin/nologin -g tomcat -d /opt/tomcat tomcat |
De esta manera, creaste un usuario “tomcat” que pertenece al grupo “tomcat”. No puedes utilizar esta cuenta de usuario para iniciar sesión en el sistema. El directorio de inicio es /opt/tomcat, que es donde residirá el programa Apache Tomcat.
Paso 4: Descargar e instala la última versión de Apache Tomcat
Siempre puedes encontrar la última versión estable de Apache Tomcat 8 en su página de descarga oficial, que es 8.0.33 en el momento de la escritura de este post.
En la sección “Distribuciones binarias” y luego en la lista “Core”, usa el enlace que apunta al archivo “tar.gz” para componer un comando wget:
1 2 3 |
cd ~ wget http://www-us.apache.org/dist/tomcat/tomcat-8/v8.0.33/bin/apache-tomcat-8.0.33.tar.gz sudo tar -zxvf apache-tomcat-8.0.33.tar.gz -C /opt/tomcat --strip-components=1 |
Paso 5: Configurar los permisos adecuados
Antes de poder ejecutar Apache Tomcat, debes configurar los permisos adecuados para varios directorios:
1 2 3 4 5 6 7 8 9 10 11 |
cd /opt/tomcat sudo chgrp -R tomcat conf sudo chmod g+rwx conf sudo chmod g+r conf/* sudo chown -R tomcat logs/ temp/ webapps/ work/ sudo chgrp -R tomcat bin sudo chgrp -R tomcat lib sudo chmod g+rwx bin sudo chmod g+r bin/* |
Paso 6: Configurar un archivo de unidad Systemd para Apache Tomcat
Como cuestión de conveniencia, debes configurar un archivo de unidad Systemd para Apache Tomcat:
1 |
sudo vi /etc/systemd/system/tomcat.service |
Debes rellenar este archivo con:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
[Unit] Description=Apache Tomcat Web Application Container After=syslog.target network.target [Service] Type=forking Environment=JAVA_HOME=/usr/lib/jvm/jre 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=/bin/kill -15 $MAINPID User=tomcat Group=tomcat [Install] WantedBy=multi-user.target |
Tienes que guardar y salir:
1 |
:wq |
Paso 7: Instalar haveged, un programa relacionado con la seguridad
Por motivos de seguridad, también debes instalar haveged:
1 2 3 |
sudo yum install haveged sudo systemctl start haveged.service sudo systemctl enable haveged.service |
Paso 8: Inicia y prueba Apache Tomcat
Ahora, inicia el servicio Apache Tomcat y configúralo para que se ejecute al iniciar el sistema:
1 2 |
sudo systemctl start tomcat.service sudo systemctl enable tomcat.service |
Para probar Apache Tomcat en un navegador web, necesitas modificar las reglas del firewall:
1 2 |
sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp sudo firewall-cmd --reload |
Luego, puedes probar tu instalación de Apache Tomcat visitando la siguiente URL desde un navegador web:
1 |
http://[your-Vultr-server-IP]:8080 |
Si nada sale mal, verás la página de inicio predeterminada de Apache Tomcat.
Paso 9: Configurar la interfaz de administración web de Apache Tomcat
Para utilizar la “Manager App” y el “Administrador de host” en la interfaz web de Apache Tomcat, debes crear un usuario administrador para tu servidor Apache Tomcat:
1 |
sudo vi /opt/tomcat/conf/tomcat-users.xml |
Dentro del segmento </tomcat-users …>…</tomcat-users>, inserta una línea para definir un usuario administrador:
1 |
<user username="yourusername" password="yourpassword" roles="manager-gui,admin-gui"/> |
Recuerda reemplazar “yourusername” y “yourpassword” por sus propios valores, cuanto menos comunes mejor.
Debes guardar y salir:
1 |
:wq |
Reinicia Apache Tomcat para que tus modificaciones surtan efecto:
1 |
sudo systemctl restart tomcat.service |
Actualiza la página de Apache Tomcat desde tu navegador web. Inicia sesión en la “Manager App” y el “Host manager” con las credenciales que configuraste anteriormente.
La configuración de Apache Tomcat está completa. Ahora puedes usarlo para desplegar tus propias aplicaciones.