Este documento se ha migrado desde el original: Documentación/5 Manuales y documentación técnica/Documentación técnica/Instalación y Configuración/SGM_2012_10_Configuración para Tomcat 7.0.16.pdf en https://github.com/e-admin/alsigm/releases/download/Documentacion/Documentacion_ALSIGM_3.0.rar
Introducción
Visión general del sistema
AL SIGM es la plataforma de Tramitación Electrónica del MINETUR, solución integral para la tramitación electrónica de los procedimientos administrativos, que fomenta la interoperabilidad entre administraciones mediante su adaptación a estándares de comunicación así como la reutilización de recursos e información pública.
Finalidad del documento
El presente documento contiene la información necesaria para configurar el servidor de aplicaciones Tomcat 7.0.16 para la correcta ejecución de las aplicaciones proporcionadas con AL SIGM. Es necesario revisar en primer lugar el documento general de instalación de AL SIGM y configurar las particularidades de Tomcat siguiendo éste documento.
Definiciones y Abreviaturas
A continuación se expone una tabla con los diferentes acrónimos y abreviaturas utilizados a lo largo del documento, con su correspondiente definición.
Acrónimo / Abreviatura | Definición |
---|---|
MINETUR | Ministerio de Industria, Energía y Turismo |
IECISA | Informática El Corte Inglés S.A. |
SIGM | Sistema Integrado de Gestión de Expedientes Modular |
AL | Administración Local |
Configuración del servidor de aplicaciones
Driver JDBC
En el servidor de aplicaciones habrá que instalar el driver JDBC de la base de datos. En el caso de Tomcat 7.0.16, la librería del driver deberá ser copiada en el directorio lib del Tomcat
Configuración externalizada
Para que las aplicaciones de AL SIGM puedan acceder a la configuración externalizada
de AL SIGM es necesario copiar el jar sigem_configLocation.jar
al directorio lib
de
Tomcat.
Definición de datasources
En Tomcat 7.0.16 los datasources se definen en el fichero conf/server.xml
en la
sección GlobalNamingResources
.
Para Postgres por ejemplo, deberíamos meter en esa sección las siguientes líneas:
<!-- Comunes -->
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
name="jdbc/sigemAdmin"
driverClassName="org.postgresql.Driver"
type="javax.sql.DataSource"
url="jdbc:postgresql://localhost/sigemAdmin"
username="postgres" password="postgres"/>
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
name="jdbc/fwktd-dir3DS"
driverClassName="org.postgresql.Driver"
type="javax.sql.DataSource"
url="jdbc:postgresql://localhost/fwktd-dir3"
username="postgres" password="postgres"/>
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
name="jdbc/sisnot"
driverClassName="org.postgresql.Driver"
type="javax.sql.DataSource"
url="jdbc:postgresql://localhost/sisnot"
username="postgres" password="postgres"/>
<!-- Entidad 000 -->
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
driverClassName="org.postgresql.Driver"
name="jdbc/registroDS_000"
url="jdbc:postgresql://localhost/registro_000"
type="javax.sql.DataSource"
username="postgres" password="postgres"/>
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
driverClassName="org.postgresql.Driver"
name="jdbc/tramitadorDS_000"
url="jdbc:postgresql://localhost/tramitador_000"
type="javax.sql.DataSource"
username="postgres" password="postgres"/>
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
driverClassName="org.postgresql.Driver"
name="jdbc/eTramitacionDS_000"
url="jdbc:postgresql://localhost/eTramitacion_000"
type="javax.sql.DataSource"
username="postgres" password="postgres"/>
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
driverClassName="org.postgresql.Driver"
name="jdbc/archivoDS_000"
url="jdbc:postgresql://localhost/archivo_000"
type="javax.sql.DataSource"
username="postgres" password="postgres"/>
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
driverClassName="org.postgresql.Driver"
name="jdbc/tercerosDS_000"
url="jdbc:postgresql://localhost/registro_000"
type="javax.sql.DataSource"
username="postgres" password="postgres"/>
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
driverClassName="org.postgresql.Driver"
name="jdbc/fwktd-sirDS_000"
url="jdbc:postgresql://localhost:5432/fwktd-sir_000"
type="javax.sql.DataSource"
username="postgres" password="postgres"/>
<Resource auth="Container" logAbandoned="true"
maxIdle="10" maxActive="20" maxWait="-1"
removeAbandoned="true" removeAbandonedTimeout="5"
driverClassName="org.postgresql.Driver"
name="jdbc/fwktd-auditDS_000"
url="jdbc:postgresql://localhost:5432/fwktd-audit_000"
type="javax.sql.DataSource"
username="postgres" password="postgres"/>
Para definir datasources para otras bases de datos se puede consultar documentación de Tomcat: http://tomcat.apache.org/tomcat-7.0-doc/jndi-datasource-examples-howto.html
Una vez creados los datasources habría que asignarlos a los contextos de las aplicaciones. Para ello en la sección Valve
deberemos asociar cada contexto de aplicación con los datasources globales previamente definidos y siguiendo la correspondencia contexto-datasources indicada en el documento
Manual de Instalación de AL SIGM.
A continuación se puede ver un ejemplo de ésta correspondencia:
<Context docBase="SIGEM_AdministracionUsuariosWeb" path="/SIGEM_AdministracionUsuariosWeb"
reloadable="true">
<ResourceLink global="jdbc/eTramitacionDS_000" name="jdbc/eTramitacionDS_000" type="javax.sql.DataSource"/>
<ResourceLink global="jdbc/fwktd-auditDS_000" name="jdbc/fwktd-auditDS_000" type="javax.sql.DataSource"/>
</Context>
Activación de SSL en el servidor de aplicaciones
AL SIGM necesita que esté activo SSL en el servidor de aplicaciones. Por defecto los puertos utilizados son los siguientes:
Puerto | Descripción |
---|---|
8080 | Puerto HTTP |
8443 | Puerto HTTP seguro con autenticación de cliente |
4443 | Puerto HTTP seguro sin autenticación de cliente |
Para configurar los puertos se debe editar el fichero conf/server.xml
y añadir los dos
conectores SSL:
<!-- PUERTO SEGURO CON AUTENTICACION DE CLIENTE-->
<Connector SSLEnabled="true" clientAuth="true"
keystoreFile="/home/sigem/SIGEM/certificados/certificadoServidor.pfx"
keystorePass="sigem" keystoreType="PKCS12" maxThreads="150" port="8443"
protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>
<!-- PUERTO SEGURO SIN AUTENTICACION DE CLIENTE-->
<Connector SSLEnabled="true" clientAuth="false"
keystoreFile="/home/sigem/SIGEM/certificados/certificadoServidor.pfx"
keystorePass="sigem" keystoreType="PKCS12" maxThreads="150" port="4443"
protocol="HTTP/1.1" scheme="https" secure="true" sslProtocol="TLS"/>
Solución de error CSRF Security Error
Este error se produce por un problema en la implementación de DWR en Tomcat 7. Para
solucionarlo es necesario modificar la tag Context
en el fichero context.xml
de
configuración de Tomcat y añadir useHttpOnly="false"
. El resultado final debe
ser el siguiente:
<Context useHttpOnly="false">
Despliegue de aplicaciones
Los ficheros war correspondientes a las aplicaciones de AL SIGM se deben copiar en el
directorio webapps
una vez realizados todos los pasos de configuración anteriores. Una
vez copiados se puede arrancar el Tomcat.