Skip to content

Configuración por defecto en Tomcat

PabloDeAlbu edited this page Mar 11, 2019 · 1 revision

En los sistemas Debian-based (Debian, Ubuntu, etc)

En la mayoría de los entornos de producción (y en algunos de desarrollo) instalaremos tomcat a partir de un paquete mediante el instalador del sistema (apt-get). Antes de poder comenzar a utilizar la instalación de DSpace, será necesario configurar algunos parámetros por defecto en Tomcat.

NOTA: en los siguientes ejemplos supondremos que la versión instalada de tomcat es tomcat8.

Configuración de usuario y grupo de tomcat

Por defecto, el sistema operativo crea el usuario y grupo tomcat8, asociando todos los directorios utilizados por Tomcat (/etc/tomcat8, /var/log/tomcat8, etc...) al grupo y usuario tomcat8. Hay casos particulares dondes sólo se configura el grupo como tomcat8 y el usuario como root (por ejemplo el caso de /etc/tomcat8). En otros casos sucede al revés (por ejemplo en /var/log/tomcat8/catalina.out).

Supongamos que el dueño y grupo asociado al directorio de instalación de DSpace es 'user_example'. Para que Tomcat pueda escribir sobre los logs de DSpace, será necesario unificar el usuario y grupo que utiliza para su funcionamiento con el usuario que utilizamos en el sistema para compilar DSpace, cambiando de tomcat8:tomcat8 --> (A) --> user_example:user_example.

Para hacer ésto hay que ejecutar los siguientes comandos:

1- Detener Tomcat

sudo service tomcat8 stop

2- Editar los parámetros de inicio por defecto de Tomcat para el grupo y usuario

sudo nano /etc/default/tomcat8
#Editar variable TOMCAT8_USER=user_example
#Editar variable TOMCAT8_GROUP=user_example

3- Cambiar el grupo y/o usuario donde corresponda

(!) ATENCIÓN (!): antes de ejecutar cualquier de los siguientes archivos, hacer una verificación de cuáles archivos se modificarán quitando el parámetro -exec.

#Cambiamos los archivos con grupo y usuario igual a tomcat8:tomcat8 por user_example:user_example...
sudo find / -user tomcat8 -and -group tomcat8 -exec chown user_example:user_example {} \;
#Cambiamos los archivos con grupo :tomcat8 (y con usuario distinto a tomcat8) a :user_example...
sudo find / -not -user tomcat8 -and -group tomcat8 -exec chown :user_example {} \;
#Cambiamos los archivos con usuario tomcat8 (y con grupo distinto a tomcat8)  a user_example...
sudo find / -user tomcat8 -and -not -group tomcat8 -exec chown user_example {} \;

4- Actualizar tareas de rotación y cronjobs

Actualizar todas las referencias al usuario:grupo tomcat8:tomcat8 en las cronjobs definidas en el sistema (en /etc/cron.d por ejemplo) y las tareas de rotación de logs (en /etc/logrotate.d/tomcat8 por ejemplo):

/etc/logrotate.d/tomcat8

/var/log/tomcat8/catalina.out {
  copytruncate
  weekly
  rotate 52
  compress
  missingok
  create 640 tomcat8 adm
}

PASAR A

/var/log/tomcat8/catalina.out {
  copytruncate
  weekly
  rotate 52
  compress
  missingok
  create 640 user_example adm
}

5- Reiniciamos Tomcat.

sudo service tomcat8 start

Configuración JVM

Aumentar memoria máxima de JVM

1- Abrir un editor sobre el archivo /etc/default/tomcat8

sudo nano /etc/default/tomcat8

2- Cambiar opción -Xmx128m por una mayor cantidad de memoria (por ejemplo -Xmx2048m) en la variable JAVA_OPTS.