Version 5 (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 del archivo .war en el siguiente enlace Murachi.war
para poder subir un .war se puede hacer desde esta interfaz, cargando el archivo .war o también se puede realizar desde una consola y moviendo el archivo .war al directorio $CATALINA_HOME/webapps/
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:
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)
- tomcat7-localhost.png (193.8 KB) - added by pbuitrago 5 years ago.
- tomcat-localhost-acceso-autenticacion-manager-app.png (181.1 KB) - added by pbuitrago 5 years ago.
- tomcat-localhost-seccion-manager-s.png (126.2 KB) - added by pbuitrago 5 years ago.
- Tomcat-seccion-desplegar-war.png (59.9 KB) - added by pbuitrago 5 years ago.
- Tomcat-desplegar-archivo-Murachi-war.png (11.1 KB) - added by pbuitrago 5 years ago.
- Tomcat-lista-de-aplicacione-Murachi.png (32.2 KB) - added by pbuitrago 5 years ago.
- pruebaservicioweb.war (973.0 KB) - added by pbuitrago 5 years ago.
- servidor-tomcat-certificado-ssl.png (194.5 KB) - added by pbuitrago 5 years ago.
- tomcat-cargar-desplegar-archivo-portal-war.png (11.6 KB) - added by pbuitrago 5 years ago.
- Tomcat-lista-de-aplicaciones-portal.png (13.5 KB) - added by pbuitrago 5 years ago.
- Portal-consumo-servicio-murachi.png (110.4 KB) - added by pbuitrago 5 years ago.
- listar_version_murachi.png (25.5 KB) - added by lcolina 5 years ago.
- VersionApiMurachi.war (34.5 KB) - added by lcolina 5 years ago.
- portal VersionApiMurachi.png (22.1 KB) - added by lcolina 5 years ago.
- consumo desde portal VersionApiMurachi.png (27.0 KB) - added by lcolina 5 years ago.
Download all attachments as: .zip