Instalación de servidor Thredds
The THREDDS Data Server (TDS) is a web server that provides metadata and data access for scientific datasets, using a variety of remote data access protocols.
Requisitos previos
Instalamos Thredds 4.6.13 (release 19 de febrero de 2019) sobre máquina virtual con sistema operativo Ubuntu 16.0.4 LTS con los siguientes requisitos:
- JDK8
- Tomcat8
- Apache2 (para redireccionamiento de tráfico) o nginx
Para comprobar nuestra versión de Ubuntu tecleamos en una ventana de comandos:
cat /etc/issue
También debemos saber si nuestra máquina es de 32 o 64B:
uname -m
Instalar JDK8
Instalamos como administrador:
sudo apt-get update
sudo apt-get install openjdk-8-jre-headless
Comprobamos la instalación:
java -version
sudo update-alternatives --display java
JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java"
Agregar la línea anterior permite que todos los usuarios en el sistema tengan acceso a la variable de entorno JAVA_HOME. Se debe recargar el archivo para aplicar los cambios:
source /etc/environment
echo $JAVA_HOME
Instalación de Tomcat8
Instalamos como administrador:
sudo apt-get install tomcat8 tomcat8-admin
Añadimos usuarios para el manejo del "manager-gui". Para ello modificamos el archivo tomcat-users.xml y ponemos lo siguiente (recordando descomentar el párrafo):
<tomcat-users>
<role rolename="manager-gui"/>
<user username="youUserName" password="yourPassword" roles="manager-gui"/>
</tomcat-users>
Ampliamos la memoria JAVA que usa Tomcat. Para ello añadimos -Xmx4096m a las opciones de JAVA_OPTS en el archivo /etc/default/tomcat8
Por el hecho de instalar sobre Tomcat, el arhivo /usr/share/tomcat8/bin/catalina.sh apunta al archivo setenv.sh, que puede o no existir. Si no existe lo creamos en el mismo directorio y en él escribimos:
JAVA_OPTS="-server -Xmx4096m -Xms4096m"
Reiniciamos Tomcat:
sudo service tomcat8 restart
Comprobamos que el servicio está levantado introduciendo en el navegador web nuestra IP seguida del puerto 8080: http://localhost:8080
Instalar Thredds
Descargamos el fichero war:
sudo wget http://artifacts.unidata.ucar.edu/content/repositories/unidata-releases/edu/ucar/tds/4.6.13/tds-4.6.13.war
Y movemos el archivo war al directorio webapps dentro del Tomcat. Arrancamos el tomcat y a través del manager desplegamos el thredds. Aunque se haya desempaquetado el archivo war, el catálogo aún no es operativo.
Creamos un directorio que albergará datos propios del catálogo Thredds:
sudo mkdir /var/lib/tomcat8/content/thredds
Y cambiamos los permisos para dárselos a tomcat:
sudo chown -R tomcat8:tomcat8 content/
Copiamos todo el contenido del directorio /var/lib/tomcat8/webapps/thredds/WEB-INF/altContent al nuevo directorio creado content/thredds/
Y ahora indicamos esta nueva opción en tomcat. Modificamos el archivo /usr/share/tomcat8/bin/setenv.sh:
CONTENT_ROOT="-Dtds.content.root.path=/var/lib/tomcat8/content"
NORMAL="-d64 -Xmx4090m -Xms512m -server"
MAX_PERM_GEN="-XX:MaxPermSize=256m"
HEADLESS="-Djava.awt.headless=true"
JAVA_PREFS_SYSTEM_ROOT="-Djava.util.prefs.systemRoot=/var/lib/tomcat8/content/thredds/javaUtilPrefs -Djava.util.prefs.userRoot=/var/lib/tomcat8/content/thredds/javaUtilPrefs"
#
JAVA_OPTS="$CONTENT_ROOT $NORMAL $MAX_PERM_GEN $HEADLESS $JAVA_PREFS_SYSTEM_ROOT"
Reiniciamos Tomcat:
sudo service tomcat8 restart
Comprobamos que el servicio está levantado introduciendo en el navegador web nuestra IP:
http://localhost:8080/thredds