Instalación de un servidor Tomcat en CentOS 7 aeioros servicios

Introducción

Apache Tomcat (también llamado Jakarta Tomcat o simplemente Tomcat) funciona como un contenedor de servlets desarrollado bajo el proyecto Jakarta en la Apache Software Foundation. Tomcat implementa las especificaciones de los servlets y de JavaServer Pages (JSP) de Oracle Corporation (aunque creado por Sun Microsystems).

En este artículo vamos a realizar una guia para instalar esta combinación ganadora Tomcat y CentOS en su ultima versión publicada.

Instalar maquina virtual Java

Apache Tomcat se ejecuta sobre una máquina virtual Java, que esta disponible en el repositorio de CentOS. Para actualizar el sistema e instalar java ejecute la siguiente orden:

yum clean all
yum update -y
yum install -y java-1.8.0-openjdk-devel

Con esto hemos instalado Java y tendremos el sistema preparado para ejecutar Tomcat.

Creación de usuario tomcat

Lo normal es crear un grupo con un usuario asignado que ejecutará Tomcat, con los siguientes comandos indicamos que el usuario no usa login, pertenece al grupo tomcat y tiene como directorio principal /opt/tomcat, esto se hace con las siguientes ordenes:

groupadd tomcat
useradd -M -s /bin/nologin -g tomcat -d /opt/tomcat tomcat

Instalación de tomcat

Descargamos Tomcat de la web oficial, por ejemplo en el enlace http://apache.rediris.es/tomcat/tomcat-8/v8.5.34/bin/apache-tomcat-8.5… y lo subimos al servidor mediante cualquier programa de FTP, lo normal es descomprimir en el servidor el archivo e independizar la versión instalada mediante un enlace simbólico por si en el futuro decidimos actualizar la versión de Tomcat, esto se hace con las siguientes ordenes:

tar xvf apache-tomcat-8.5.34.tar.gz
ln -s apache-tomcat-8.5.34 tomcat

A continuación tenemos que asignar permisos y propietario a la carpeta y a diferentes subcarpetas y ficheros, esto se hace con las siguientes ordenes:

cd /opt/tomcat
chgrp -R tomcat /opt/tomcat
chmod -R g+r conf
chmod g+x conf
#Por último asignmos el propietario a las carpetas principales
chown -R tomcat webapps/ work/ temp/ logs/

Como hemos descargado el software y no hemos utilizado ‘yum‘ para la instalación desde los repositorios, debemos crear un fichero de arranque y que lo sepa leer systemd, esto se hace con las siguientes ordenes:

vi /etc/systemd/system/tomcat.service

#El texto básico a incluir en el fichero puede ser:

# Systemd unit file for tomcat
[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=/opt/tomcat/bin/shutdown.sh

User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always

[Install]
WantedBy=multi-user.target