wiki:ins_tomcat_servidor_ssl

Version 3 (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 1. Interfaz gráfica autenticación para acceder a Manager App

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

Figura 1. Interfaz gráfica del Manager App

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 .war en el siguiente enlace:

para poder subir un .war se puede hacer desde esta interfaz, cargando el archivo .war o tambien se puede realizar desde una consola y moviendo el archivo .war al directorio $CATALINA_HOME/webapps/

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