Cuenta gratuita: Instalación de Spring Boot en una instancia de Oracle Linux

En este tutorial, utilizará una cuenta gratuita de Oracle Cloud Infrastructure para configurar una instancia informática de Oracle Linux. A continuación, instalará una aplicación de Spring Boot y accederá a su nueva aplicación desde Internet. Por último, este tutorial incluye todos los pasos necesarios para configurar una red virtual para su host y conectar el host a Internet.

Las tareas clave incluyen cómo:

  • Configurar un compartimento para el trabajo de desarrollo.
  • Instalar su instancia de Oracle Linux y conectarla a su red virtual en la nube (VCN).
    • Configure una red virtual en la nube de Oracle Cloud Infrastructure y los servicios de red relacionados necesarios para que su host se conecte a Internet.
    • Configure las claves de cifrado ssh para acceder a Oracle Linux Server.
  • Configurar reglas de entrada para la VCN.
  • Configurar Spring Boot en la instancia.
  • Conectarse a la instancia desde Internet.

A continuación, se muestra un diagrama simplificado de la configuración de la instancia de Linux.

Diagrama de los componentes necesarios para ejecutar una aplicación de Spring Boot en Oracle Cloud Infrastructure

Para obtener información adicional, consulte:

Antes de empezar

Para completar correctamente este tutorial, debe tener lo siguiente:

Requisitos

1. Configuración de un compartimento para desarrollo

Configure un compartimento para el desarrollo.

Creación de un compartimento

Cree un compartimento para los recursos que cree en este tutorial.

  1. Conéctese a la consola de Oracle Cloud Infrastructure.
  2. Abra el menú de navegación y haga clic en Identidad y seguridad. En Identidad, haga clic en Compartimentos.
  3. Haga clic en Crear compartimento.
  4. Rellene la siguiente información:
    • Nombre: <your-compartment-name>
    • Descripción: Compartment for <your-description>.
    • Compartimento principal: <your-tenancy>(root)
  5. Haga clic en Crear compartimento.

Referencia: Creación de un compartimento

2. Instalación de una red virtual en la nube

Utilice el flujo de trabajo Iniciar asistente de VCN para crear una nueva red virtual en la nube (VCN).

El flujo de trabajo realiza varias cosas al instalar la VCN:

  • Crea una VCN.
  • Agrega un gateway de Internet que permite las conexiones de Internet.
  • Crea y configura subredes públicas y privadas para la VCN.
  • Configura tablas de rutas y listas de seguridad para las subredes.

Para obtener más información sobre las redes virtuales en la nube, consulte Gestión de subredes y VCN.

Revisión de los pasos de instalación

Para crear una VCN, realice estos pasos:

Importante

Los pasos proporcionados son para una cuenta gratuita. Si utiliza una cuenta de pago, los pasos pueden diferir de los que se muestran aquí.
  1. Abra el menú de navegación , seleccione Red y, a continuación, seleccione Redes virtuales en la nube.
  2. Si es necesario, seleccione el compartimento en el control Compartment de la navegación izquierda.
  3. Haga clic en Iniciar asistente de VCN.
  4. Seleccione Crear una VCN con conexión a Internet.
  5. Haga clic en Iniciar asistente de VCN.
  6. Configure la VCN. El cuadro de diálogo de configuración contiene las siguientes secciones.

    Información Básica

    Introduzca el nombre de la VCN y seleccione un compartimento.

    • Nombre: <name-for-the-vcn>

      Introduzca un nombre para la VCN. Evite introducir información confidencial.

    • Compartimento: <your-compartment-name>

      Seleccione el compartimento.

    Configurar VCN

    • Mantenga los valores por defecto para el bloque IPv4 CIDR de VCN y la resolución de DNS.

    Configurar subred pública

    • Mantenga los valores por defecto para el tipo de dirección IP y el bloque IPv4 CIDR.

    Configurar subred privada

    • Mantenga los valores por defecto para el tipo de dirección IP y el bloque IPv4 CIDR.
  7. Haga clic en Siguiente.
  8. Revise las selecciones. Haga clic en Anterior para volver atrás y realizar cambios.
  9. Haga clic en Crear para crear la VCN.

    El sistema crea la VCN y todos sus recursos. Puede tardar unos minutos.

    Una vez finalizada la creación, haga clic en View VCN para ver la nueva VCN.

3. Instalación de una instancia de Oracle Linux

Utilice el flujo de trabajo Crear una instancia de VM para crear una nueva instancia informática.

El flujo de trabajo realiza varias acciones al instalar la instancia:

  • Crea e instala una instancia informática que ejecuta Oracle Linux.
  • Seleccione la VCN y la subred pública para conectar la instancia de Oracle Linux a Internet.
  • Crea un par de claves ssh que usted utilizará para conectarse a la instancia.
Revisión de los pasos de instalación

Para empezar a instalar una instancia con el flujo de trabajo Crear una instancia de VM, siga estos pasos:

Importante

Los pasos proporcionados son para una cuenta gratuita. Si utiliza una cuenta de pago, los pasos pueden diferir de los que se muestran aquí.
  1. Abra el menú de navegación y seleccione Recursos informáticos. En Recursos informáticos, seleccione Instancias.
  2. Haga clic en Crear instancia.

    Se muestra la página Crear instancia informática.

  3. Seleccione el nombre y el compartimento.

    Opciones iniciales

    • Nombre: <name-for-the-instance>

      Introduzca un nombre para la instancia. Evite introducir información confidencial.

    • Crear en compartimento: <your-compartment-name>

      Seleccione el compartimento. Utilice el compartimento creado en el paso anterior.

  4. Revise la configuración de Ubicación.
    • Acepte los valores por defecto. Se le asignará un dominio de disponibilidad.

    Los valores por defecto son similares a los siguientes:

    • Dominio de disponibilidad: AD-1
    • Tipo de capacidad: Capacidad bajo demanda
    • Dominio de errores: Permitir a Oracle elegir el mejor dominio de errores
    Nota

    En Cuenta gratuita, utilice la opción Siempre gratis elegible para el dominio de disponibilidad.
  5. Revise la configuración de Seguridad.
    • Acepte los valores por defecto.

    Los valores por defecto son similares a los siguientes:

    • Instancia blindada: desactivada
    • Recursos informáticos confidenciales: desactivado
  6. Revise la configuración de Imagen y unidad. Haga clic en Editar.
    Nota

    A continuación se incluyen datos de muestra para una máquina virtual Ampere A1. Los valores reales pueden ser diferentes.
    • Mantenga la imagen por defecto de Oracle Linux 8.
    • Haga clic en Cambiar unidad.
    • Seleccione Máquina Virtual.
    • Para la serie de unidades, seleccione Ampere.
    • Seleccione VM.Standard.A1. Flexibilice la unidad "Siempre gratis".
    • Seleccione 1 OCPU.
    • Haga clic en Seleccionar unidad.

    Los valores seleccionados son similares a los siguientes:

    • Imagen: Oracle Linux 8
    • Compilación de imagen: <current-build-date>
    • Unidad: VM.Standard.A1. Flexible
    • OCPU: 1
    • Memoria (GB): 6
    • Ancho de banda de red (Gbps): 1
    Nota

    En Cuenta gratuita, use las opciones de unidad Siempre gratis elegible.
  7. Revise la configuración de Red. Seleccione la VCN que ha creado en el paso anterior. Los valores de red son similares a los siguientes:
    • Red virtual en la nube: <su-vcn>
    • Subnet: <pubic-subnet-for-your-vcn>
    • Opciones de inicio: -
    • Registro de DNS:
    • Utilizar grupos de seguridad de red para controlar el tráfico: no
    • Asignar una dirección IPv4 pública:
    • Dirección IPv4 privada: asignada automáticamente al crear
    • Dirección IPv6: no disponible
  8. Revise la configuración de Agregar claves SSH. Acepte los valores por defecto proporcionados por el flujo de trabajo.
    • Seleccione la opción Generar un par de claves para mí.
    • Haga clic en Guardar clave privada y Guardar clave pública para guardar las claves SSH privadas y públicas para esta instancia informática.

    Si desea utilizar sus propias claves SSH, seleccione una de las opciones para proporcionar su clave pública.

    Nota

    Guarde sus archivos de claves privadas y públicas en una ubicación segura. No podrá volver a recuperar las claves una vez creada la instancia informática.
  9. Revise la configuración de Volumen de inicio.

    Seleccione el valor Usar cifrado en tránsito. Deje los otros dos valores en blanco.

  10. Revise la configuración de Volumen en bloque. Utilice los valores por defecto proporcionados por el flujo de trabajo, que no selecciona ningún volumen en bloque. Puede agregar volúmenes en bloque más tarde.
  11. Haga clic en Crear para crear la instancia. El aprovisionamiento del sistema puede tardar varios minutos.

Ha creado correctamente una instancia de Oracle Linux para ejecutar un servidor web Apache.

4. Activación del acceso a Internet

El asistente de Crear una instancia de VM crea automáticamente una VCN para su instancia. Agrega una regla de entrada a su subred para permitir conexiones a Internet en el puerto 8080.

Creación de una regla de entrada para la VCN

Siga estos pasos para seleccionar la subred pública de la VCN y agregar la regla de entrada.

  1. Abra el menú de navegación y haga clic en Red y, a continuación, haga clic en Redes virtuales en la nube.
  2. Seleccione la VCN que ha creado.
  3. Con la nueva VCN mostrada, haga clic en el enlace de la subred <nombre-de-su-subred>.

    La información de subred pública se muestra con las listas de seguridad en la parte inferior de la página. Se muestra un enlace a la lista de seguridad por defecto de la VCN.

  4. Haga clic en el enlace Lista de seguridad por defecto.

    Se muestran las reglas de entrada por defecto para su VCN.

  5. Haga clic en Agregar reglas de entrada.

    Se muestra un cuadro de diálogo Agregar reglas de entrada.

  6. Rellene la regla de entrada con la siguiente información.

    Rellene la regla de entrada de la siguiente forma:

    • Sin estado: marcada
    • Tipo de origen: CIDR
    • CIDR de origen: 0.0.0.0/0
    • Protocolo IP: TCP
    • Rango de puertos de origen: (déjelo en blanco)
    • Rango de puertos de destino: 8080
    • Descripción: Permitir conexiones HTTP
  7. Haga clic en Agregar reglas de entrada.
    Ahora se permiten las conexiones HTTP. La VCN está configurada para Spring Boot.
Ha creado correctamente una regla de entrada que hace que su instancia esté disponible desde Internet.

5. Instalación y configuración de Spring Boot

A continuación, instale todo el software necesario para la aplicación Spring Boot.

Configuración del puerto para la instancia
  1. Abra el menú de navegación y haga clic en Recursos informáticos. En Recursos informáticos, haga clic en Instancias.
  2. Haga clic en el enlace a la instancia que ha creado en el paso anterior.

    En la página Detalles de instancia, consulte la sección Acceso a instancias. Anote la dirección IP pública que el sistema ha creado automáticamente. Utilizará esta dirección IP para conectarse a su instancia.

  3. Abra una ventana Terminal o Símbolo del sistema.
  4. Cambie al directorio donde haya almacenado las claves de cifrado ssh que ha creado.
  5. Conéctese a la instancia con este comando SSH
    ssh -i <your-private-key-file> opc@<x.x.x.x>

    Dado que ha identificado su clave pública al crear la instancia, este comando le conecta a la instancia. Ahora puede ejecutar los comandos sudo para instalar e iniciar el servidor.

  6. Active una conexión HTTP en el puerto 8080.
    sudo firewall-cmd --permanent --add-port=8080/tcp
    sudo firewall-cmd --reload

El firewall está configurado para Spring Boot.

Instalación de Git

Instale Git v2 mediante el proyecto de la comunidad IUS (https://ius.io/). Vaya hasta la versión actual del paquete del núcleo de Git y descárguelo en el directorio ~/temp.

  1. Por ejemplo, la descarga del RPM de Git tiene un aspecto similar al siguiente.
    cd
    mkdir temp
    cd ~/temp
    wget https://repo.ius.io/7/x86_64/packages/g/git224-core-2.24.2-1.el7.ius.x86_64.rpm                        
    
  2. Instale el RPM con yum.
    sudo yum install git224-core-2.24.2-1.el7.ius.x86_64.rpm
  3. Pruebe el resultado.
    git --version
    git version 2.24.2

Git está instalado.

Instalación de JDK 8
  1. Instale OpenJDK 8 con yum.
    sudo yum install java-1.8.0-openjdk-devel
    java -version
  2. Defina JAVA_HOME en .bashrc.

    Actualice el archivo:

    vi ~/.bashrc

    En el archivo, agregue el siguiente texto y guarde el archivo:

    # set JAVA_HOME
    export JAVA_HOME=/etc/alternatives/java_sdk

    Active el comando anterior en la ventana actual.

    source ~/.bashrc

Java está instalado.

Instalación de Maven 3.6

Instale Maven desde un reflejo de Apache. Vaya a la página de descarga del sitio principal de Maven (https://maven.apache.org/). Obtenga la URL de la última versión y descárguela con wget.

  1. Descargue el archivo zip de Maven, por ejemplo:
    wget http://apache.mirrors.pair.com/maven/maven-3/3.6.3/binaries/apache-maven-3.6.3-bin.tar.gz
  2. Extraiga los archivos de programa.
    sudo tar xvfz apache-maven-3.6.3-bin.tar.gz
  3. Instale los archivos del programa moviendo los archivos al directorio /opt.
    sudo mv apache-maven-3.6.3 /opt/
  4. Agregue la ruta de Maven /opt/apache-maven-3.6.3/bin a la variable de entorno PATH y obtenga .bashrc.
    vi ~/.bashrc
    export PATH=$PATH:/opt/apache-maven-3.6.3/bin
    source ~/.bashrc
                        

Maven está listo para su uso.

Creación de la aplicación de Spring Boot

Siga estos pasos para configurar la aplicación de Spring Boot:

  1. Desde el directorio de inicio, consulte la guía de Spring Boot Docker con Git:
    git clone http://github.com/spring-guides/gs-spring-boot-docker.git
  2. Cambie al directorio gs-spring-boot-docker/initial.
  3. Edite el archivo Application.java: src/main/java/hello/Application.java.
  4. Actualice el código con lo siguiente:
    
    package hello;
    
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @SpringBootApplication
    @RestController
    public class Application {
    
        @RequestMapping
        public String home(){
            return "<h1>Spring Boot Hello World!</h1>";
        }
        
        public static void main(String[] args) {
            SpringApplication.run(Application.class, args);
        }
        
    }
                        
  5. Guarde el archivo.
  6. Utilice Maven para crear la aplicación.
    mvn package

    Obtiene un mensaje de que se ha realizado correctamente.

    [INFO] BUILD SUCCESS
  7. Ejecute la aplicación.
    java -jar target/gs-spring-boot-docker-0.1.0.jar
  8. Pruebe la aplicación desde la línea de comandos o desde un explorador.
    • Desde un nuevo terminal, conéctese a la instancia con sus claves SSH y pruébelo con curl:
      curl -X GET http://localhost:8080
    • Desde el explorador, conéctese a la dirección IP pública asignada a la instancia: http://<x.x.x>:8080.

    En la instancia o en el explorador, verá Spring Boot Hello World!

¡Enhorabuena! Ha creado correctamente una aplicación de Spring Boot en la instancia.