wiki:ins_tomcat_servidor_ssl

Version 6 (modified by pbuitrago, 5 years ago) (diff)

--

Instalación del servidor Apache Tomcat 7 en un servidor de prueba (Debian 9) e instalar y configurar un certificado ssl (https://)


Notas:

  • Este manual fue probado en GNU/Linux Debian 9 Stretch de 64bits
  • Usaremos $ para describir los comandos que se usaran con usuario regular.
  • Usaremos # para describir los comandos que se usaran con superusuario.

Instalación del servidor Apache Tomcat 7 en un servidor de prueba (Debian 9)

1.- Se procede a descargar el servidor Apache Tomcat desde https://tomcat.apache.org/download-70.cgi. Entre los paquetes que se encuentra, para este manual de descargo https://www-us.apache.org/dist/tomcat/tomcat-7/v7.0.92/bin/apache-tomcat-7.0.92.tar.gz.

2.- Una ves descargado el archivo apache-tomcat-7.0.92.tar.gz se procedió a mover dicho archivo al directorio /var/lib/

#mv apache-tomcat-7.0.92.tar.gz /var/lib/

3.- Se procede a descomprimir el archivo y cambiar el nombre del directorio a tomcat7

# tar -xzvf apache-tomcat-7.0.92.tar.gz
# mv apache-tomcat-7.0.92 tomcat7 

Entonces /var/lib/tomcat7 -> están los fuentes del servidor

Estructura de directorios La jerarquía de directorios de instalación de Tomcat incluye:

  • bin - arranque, cierre, y otros scripts y ejecutables.
  • common - clases comunes que pueden utilizar Catalina y las aplicaciones web.
  • conf - ficheros XML y los correspondientes DTD para la configuración de Tomcat.
  • logs - logs de Catalina y de las aplicaciones.
  • server - clases utilizadas solamente por Catalina.
  • shared - clases compartidas por todas las aplicaciones web.
  • webapps - directorio que contiene las aplicaciones web.
  • work - almacenamiento temporal de ficheros y directorios.

4.- Para correr el Tomcat procede acceder hasta el directorio /var/lib/tomcat7/bin/ y ejecutar el archivo catalina.sh

root@debian9:/var/lib/tomcat7/bin# ./catalina.sh start
Using CATALINA_BASE:   /var/lib/tomcat7
Using CATALINA_HOME:   /var/lib/tomcat7
Using CATALINA_TMPDIR: /var/lib/tomcat7/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /var/lib/tomcat7/bin/bootstrap.jar:/var/lib/tomcat7/bin/tomcat-juli.jar
Tomcat started.

5.- y Finalmente se levanta el navegador de su preferencia y coloca la ruta http://localhost:8080 (ver figura 1)

Figura 1. Interfaz gráfica del servidor Apache Tomcat

En la interfaz podemos observar tres botones:

  • "Server Status" -> (Estado del servidor)
  • "Manager App" -> (Aplicación de administrador )
  • "Host Manager" -> (gerente de host)

Para acceder a cualquiera de estas instancia esta restringida por unos usuarios que se debe configurar en $CATALINA_HOME/conf/tomcat-user.xml donde la variable $CATALINA_HOME se refiere al directorio base en la cual se resuelve la mayoria de las rutas relativas. si no se ha configura Tomcat el directorio base, entonces $CATALINA_BASE se establecerá con el valor donde esta instalado el Tomcat. para nuestro caso $CATALINA_BASE = /var/lib/tomcat7

Dentro del archivo tomcat-user.xml se puede encontrar los siguientes roles:

  • manager-gui -> Acceso a la interfaz HTML
  • manager-status -> Acceso a la pagina Estado del servidor
  • manager-script
  • manager-jmx

Para nuestro caso solo vamos a utilizar o definir los roles manager-gui y manager-status y para la misma procedemos agregar dentro del archivo tomcat-user.xml

/var/lib/tomcat7# vim tomcat-user.xml

Donde vamos agregar la siguiente sección:

<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>
<user username="admin" password="s3cret" roles="admin-gui"/>
</tomcat-users>

Guardamos y procedemos a probar los roles en la pagina httplocalhost:8080 haciendo clic en el botón "Manager App"

Figura 2. Interfaz gráfica autenticación para acceder a Server Status

Introducimos el usuario y contraseña asignada en el archivo tomcat-user.xml

Figura 3. Interfaz gráfica del Server Status

Hasta este instante se tiene corriendo el servidor Apache Tomcat 7 (que es un contenedor de aplicaciones web) y se configuro los usuarios para acceder a las diferentes secciones. Ahora procederemos a mostrar los pasos para correr una aplicación web en el contenedor Apache tomcat 7, para la misma debemos de disponer un archivo de aplicación web (.war) (Nota: WAR es un archivo JAR utilizado para distribuir una colección de JavaServer? Pages, servlets, clases Java, archivos XML, bibliotecas de tags y páginas web estáticas (HTML y archivos relacionados) que juntos constituyen una aplicación web. ) -> https://es.wikipedia.org/wiki/WAR_(archivo)

Para este manual vamos a correr el servidor Murachí que se dispone del archivo .war en el siguiente enlace Murachi.war

Para subir un .war al servidor se puede realizar de dos maneras.

1.- Se puede realizar desde un terminal y accediendo al directorio $CATALINA_HOME/webapps/ para este paso se descargar el archivo Murachi.war al HOME del servidor y luego se mueve el archivo al directorio $CATALINA_HOME/webapps/

$HOME# mv Murachi.war $CATALINA_HOME/webapps/

2.- Usando la interfaz gráfica del servidor Tomcat sección Manager App o desde la sección Server Status (ver figura 3) hacer clic en la sección Listar Aplicaciones y bajar hasta la sección Archivo WAR a desplegar (ver figura 4)

Figura 4. Sección Archivo WAR a desplegar

hacemos clic en el botón Seleccionar archivo luego de seleccionar el archivo Murachi.war hacemos clic en el botón Desplegar (ver figura 5)

Figura 5. Selección del archivo Murachi.war a desplegar

Una ves cargado y desplegado en archivo Murachi.war podemos observar en la sección Aplicaciones donde se visualizan las aplicaciones que estan contenida en el servidor Tomcat que ya aparece la aplicación Murachi (ver figura 6)

Figura 6. Sección Aplicaciones - lista de aplicaciones en Tomcat

Para poder correr el servicio de Murachí vamos a requerir instalar y configurar un certificado SSL en el servidor tomcat ya que el servicio de murachi requiere el uso del protocolo HTPPS

Para la misma vamos a mostrar los pasos para realizar la instalación y configuración del certificado:

Instalación y configuración de un certificado digital al servidor Tomcat (ssl)


fuente de: https://unpocodejava.com/2016/04/29/como-crear-un-certificado-autofirmado-para-tomcat-y-nginx/

## openssl req -x509 -sha256 -newkey rsa:2048 -keyout tomcat.key -out tomcat.crt -days 1024 -nodes

root@debian9:/var/lib/tomcat7# openssl req -x509 -sha256 -newkey rsa:2048 -keyout tomcat.key -out tomcat.crt -days 1024 -nodes
Generating a RSA private key
...........+++++
.....................+++++
writing new private key to 'tomcat.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:VE
State or Province Name (full name) [Some-State]:Merida
Locality Name (eg, city) []:Merida
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Fundacion Cenditel
Organizational Unit Name (eg, section) []:Seguridad
Common Name (e.g. server FQDN or YOUR name) []:Murachi
Email Address []:seguridad@cenditel.gob.ve
root@debian9:/var/lib/tomcat7#  

## openssl pkcs12 -export -out keystore.pkcs12 -in tomcat.crt -inkey tomcat.key

root@debian9:/var/lib/tomcat7# openssl pkcs12 -export -out keystore.pkcs12 -in tomcat.crt -inkey tomcat.key
Enter Export Password:
Verifying - Enter Export Password:
root@debian9:/var/lib/tomcat7#

##

Attachments (15)

Download all attachments as: .zip