Niveau gratuit : installation de Flask sur une machine virtuelle Ubuntu

Dans ce tutoriel, vous utilisez un compte Niveau gratuit d'Oracle Cloud Infrastructure pour configurer une instance Ubuntu. Vous configurez ensuite un environnement virtuel pour votre hôte. Pour finir, vous installez Flask, une structure d'application Web légère pour Python.

Les principales tâches expliquent comment :

  • configurer un compartiment pour le travail de développement,
  • installer l'instance Ubuntu Linux et la connecter au réseau cloud virtuel,
    • configurer un réseau cloud virtuel Oracle Cloud Infrastructure et les services réseau associés requis pour que l'hôte se connecte à Internet,
    • configurer des clés de cryptage ssh pour accéder au serveur Ubuntu Linux,
  • configurer des règles entrantes pour le réseau cloud virtuel,
  • installer Flask sur la machine virtuelle,
  • créer une application Python Hello World,
  • tester l'application.

Voici un diagramme simplifié de la configuration de votre machine virtuelle Linux.

Diagramme des composants nécessaires à l'exécution d'une structure d'application Web Flask sur Oracle Cloud Infrastructure

Pour plus d'informations, voir :

Avant de commencer

Pour réaliser ce tutoriel, vous devez disposer des éléments suivants :

Conditions requises

1. Configuration d'un compartiment pour le développement

Configurez un compartiment pour le développement.

Création d'un compartiment

Créez un compartiment pour les ressources que vous allez créer dans ce tutoriel.

  1. Connectez-vous à la console Oracle Cloud Infrastructure.
  2. Ouvrez le menu de navigation et cliquez sur Identité et sécurité. Sous Identité, cliquez sur Compartiments.
  3. Cliquez sur Créer un compartiment.
  4. Renseignez les informations suivantes :
    • Nom : <your-compartment-name>
    • Description : Compartiment pour <votre-description>.
    • Compartiment parent : <votre-location>(racine)
  5. Cliquez sur Créer un compartiment.

Référence : Création d'un compartiment

2. Installation d'une instance Ubuntu Linux

Utilisez le workflow Créer une instance de machine virtuelle pour créer une instance de calcul.

Le workflow effectue plusieurs opérations lors de l'installation de l'instance :

  • Il crée et installe une instance de calcul exécutant Ubuntu Linux.
  • Il crée un réseau cloud virtuel avec le sous-réseau et les composants requis pour connecter l'instance Ubuntu Linux à Internet.
  • Il crée la paire de clés ssh que vous utilisez pour vous connecter à l'instance.
Vérification des étapes d'installation

Pour commencer à installer une instance à l'aide du workflow Créer une instance de machine virtuelle, procédez comme suit :

Important

Les étapes indiquées concernent un compte Niveau gratuit. Si vous utilisez un compte payant, les étapes peuvent différer de celles indiquées ici.
  1. Cliquez sur l'icône Oracle Cloud pour accéder à la page de renvoi principale.
    • Faites défiler la page jusqu'à Ressources de lancement.
    • Sélectionnez le workflow Créer une instance de machine virtuelle.
    La page Créer une instance de calcul apparaît. Les sections de la page comprennent les éléments suivants :
    • Nom et compartiment
    • Placement
    • Sécurité
    • Image et forme
    • Mise en réseau
    • Ajouter des clés SSH
    • Volume d'initialisation
  2. Choisissez le nom et le compartiment.

    Options initiales

    • Nom : <name-for-the-instance>
    • Créer dans le compartiment : <nom-du-compartiment>

    Saisissez une valeur pour le nom ou utilisez la valeur par défaut fournie par le système. Pour le compartiment, sélectionnez celui qui a été créé.

  3. Vérifiez les paramètres Placement.
    • Utilisez les valeurs par défaut. Un domaine de disponibilité vous est affecté.

    Les données peuvent ressembler à ce qui suit :

    Domaine de disponibilité

    • Domaine de disponibilité : AD-1
    • Type de capacité : Capacité à la demande
    • Domaine de pannes : Laisser Oracle choisir le meilleur domaine de pannes
    Remarque

    Pour le niveau gratuit, utilisez l'option Admissible à Toujours gratuit pour le domaine de disponibilité.
  4. Vérifiez les paramètres de sécurité.
    • Utilisez les paramètres par défaut.

    Les données peuvent ressembler à ce qui suit :

    Sécurité

    • instance protégée : désactivée
    • Calcul confidentiel : désactivé
  5. Vérifiez les paramètres Image et forme. Modifiez l'image du système d'exploitation.
    • Cliquez sur Modifier.
    • Cliquez sur Modifier l'image.
    • Cliquez sur Ubuntu.
    • Sélectionnez Canonical Ubuntu 22.04 ou une version ultérieure.
    • Cliquez sur Sélectionner une image.
    Remarque

    Ci-dessous figurent des données échantillon pour une machine virtuelle AMD. Les valeurs réelles peuvent différer.

    Image et forme

    • Image : Canonical Ubuntu 22.04
    • Build d'image : <current-build-date>
    • Forme : VM.Standard.E2.1.Micro
    • OCPU : 1
    • Mémoire (Go) : 1
    • Bande passante réseau (Gbits/s) : 0.48
    Remarque

    Pour le niveau gratuit, utilisez les options de forme Admissible à Toujours gratuit.
    • Poursuivez jusqu'à la section suivante.
  6. Vérifiez les paramètres Fonctions de réseau. Apportez les modifications suivantes à la valeur par défaut.
    • Cliquez sur Modifier.
    • Réseau principal : sélectionnez Créer un réseau cloud virtuel.
    • Nom du nouveau réseau cloud virtuel : prenez le nom du réseau cloud virtuel généré ou indiquez un nom.
    • Créer dans le compartiment : <nom-du-compartiment>.
    • Sous-réseau : sélectionnez Créer un sous-réseau public.
    • Nom du nouveau sous-réseau : prenez le nom du sous-réseau généré ou indiquez un nom.
    • Créer dans le compartiment : <nom-du-compartiment>.
    • Bloc CIDR : prenez la valeur par défaut (par exemple, 10.0.0.0/24).
    • Adresse IPv4 publique : prenez la valeur par défaut de Affecter une adresse IPv4 publique.
    • Poursuivez jusqu'à la section suivante.
  7. Vérifiez les paramètres Ajouter des clés SSH. Utilisez les valeurs par défaut fournies par le workflow.
    • Sélectionnez l'option Générer une paire de clés pour moi.
    • Cliquez sur Enregistrer la clé privée et sur Enregistrer la clé publique afin d'enregistrer les clés SSH privée et publique pour cette instance de calcul.

    Si vous souhaitez utiliser vos propres clés SSH, sélectionnez l'une des options permettant de fournir votre clé publique.

    Remarque

    Placez les fichiers de clés privée et publique dans un emplacement sécurisé. Une fois l'instance de calcul créée, vous ne pouvez plus extraire les clés.
  8. Vérifiez les paramètres Volume d'initialisation.

    Désélectionnez le paramètre Indiquer une taille personnalisée de volume d'initialisation.

    Sélectionnez le paramètre Utiliser le cryptage en transit.

    Désélectionnez le paramètre Crypter ce volume avec une clé gérée par vous-même.

  9. Cliquez sur Créer pour créer l'instance. Le provisionnement du système peut prendre plusieurs minutes.
Vous avez créé une instance Ubuntu Linux.

3. Activation de l'accès Internet

L'assistant Créer une instance de machine virtuelle crée automatiquement un réseau cloud virtuel pour votre machine virtuelle. Ajoutez une règle entrante au sous-réseau pour autoriser les connexions Internet sur le port 5000.

Création d'une règle entrante pour le réseau cloud virtuel

Suivez ces étapes pour sélectionner le sous-réseau public du réseau cloud virtuel et ajouter la règle entrante.

  1. Ouvrez le menu de navigation et cliquez sur Fonctions de réseau, puis sur Réseaux cloud virtuels.
  2. Sélectionnez le réseau cloud virtuel que vous avez créé avec l'instance de calcul.
  3. Lorsque le nouveau réseau cloud virtuel est affiché, cliquez sur le lien du sous-réseau <nom-du-sous-réseau>.

    Les informations sur le sous-réseau public sont affichées avec les listes de sécurité en bas de la page. Un lien vers la liste de sécurité par défaut du réseau cloud virtuel s'affiche.

  4. Cliquez sur le lien Liste de sécurité par défaut.

    Les règles entrantes par défaut du réseau cloud virtuel sont affichées.

  5. Cliquez sur Ajouter des règles entrantes.

    La boîte de dialogue Ajouter des règles entrantes apparaît.

  6. Renseignez la règle entrante avec les informations suivantes.

    Renseignez la règle entrante comme suit :

    • Sans conservation de statut : option cochée
    • Type de source : CIDR
    • CIDR source : 0.0.0.0/0
    • Protocole IP : TCP
    • Plage de ports source : (à laisser vide)
    • Plage de ports de destination : 5000
    • Description : Autoriser les connexions HTTP

    Cliquez sur Ajouter une règle entrante. Les connexions HTTP sont désormais autorisées. Le réseau cloud virtuel est configuré pour le serveur Apache.

  7. Cliquez sur Ajouter des règles entrantes.
    Les connexions HTTP sont désormais autorisées. Le réseau cloud virtuel est configuré pour le serveur Apache.
Vous avez créé une règle entrante qui rend votre instance disponible à partir d'Internet.

4. Création d'une application Flask

Configurez Flask sur l'instance Ubuntu Linux, puis créez et exécutez une application Flask.

Installation et configuration de Flask

Pour configurer Flask avec Python 3, procédez comme suit :

  1. Ouvrez le menu de navigation et cliquez sur Compute. Sous Compute, cliquez sur Instances.
  2. Cliquez sur le lien menant vers l'instance que vous avez créée à l'étape précédente.

    Sur la page Détails de l'instance, consultez la section Accès à l'instance. Copiez l'adresse IP publique que le système a créée pour vous. Vous utilisez cette adresse IP pour vous connecter à l'instance.

  3. Ouvrez une fenêtre de terminal ou d'invite de commande.
  4. Changez de répertoire pour passer à celui dans lequel vous avez stocké les clés de cryptage ssh créées dans la partie 1.
  5. Connectez-vous à la machine virtuelle avec cette commande SSH.
    ssh -i <your-private-key-file> ubuntu@<x.x.x.x>

    Etant donné que vous avez identifié la clé publique lors de la création de la machine virtuelle, cette commande vous connecte à la machine virtuelle. Vous pouvez maintenant émettre les commandes sudo pour installer et démarrer le serveur.

  6. Mettez à jour les paramètres du pare-feu.

    Le pare-feu Ubuntu est désactivé par défaut. Toutefois, vous devez mettre à jour la configuration iptables pour autoriser le trafic HTTP. Pour mettre à jour iptables, exécutez les commandes suivantes :

    sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 5000 -j ACCEPT
    sudo netfilter-persistent save

    Les commandes ajoutent une règle pour autoriser le trafic HTTP via le port 5000 et enregistrent les modifications apportées aux fichiers de configuration iptables.

  7. Installez pip3 pour Python 3.
    sudo apt update
    sudo apt install -y python3-pip
  8. Installez et activez un environnement virtuel ainsi qu'un wrapper d'environnement virtuel.

    Vous pouvez utiliser un environnement virtuel pour gérer les dépendances du projet. Chaque projet peut se trouver dans son propre environnement virtuel pour héberger des groupes indépendants de bibliothèques Python.

    L'outil virtualenvwrapper est une extension de virtualenv. Il fournit un ensemble de commandes, ce qui rend l'utilisation des environnements virtuels beaucoup plus agréable. Il place également tous les environnements virtuels au même endroit. virtualenvwrapper fournit une fonction de saisie semi-automatique par tabulation pour les noms d'environnement.

    pip3 install virtualenv
    pip3 install virtualenvwrapper
  9. Configurez le wrapper d'environnement virtuel dans .bashrc.

    Mettez à jour le fichier :

    sudo vi .bashrc

    Ajoutez le texte ci-dessous à la fin du fichier, puis enregistrez ce dernier :

    # set up Python env
    export WORKON_HOME=~/envs
    export PATH=$PATH:/home/ubuntu/.local/bin
    export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
    export VIRTUALENVWRAPPER_VIRTUALENV_ARGS=' -p /usr/bin/python3 '
    source /home/ubuntu/.local/bin/virtualenvwrapper.sh

    Activez les commandes précédentes dans la fenêtre active.

    source ~/.bashrc
  10. Démarrez un environnement virtuel.
    mkvirtualenv flask01
    La commande renvoie : (flask01) ubuntu@<nom-instance-ubuntu>:~$
  11. Installez Flask.
    pip3 install Flask
  12. Créez une application "Hello, World!".

    Créez le fichier :

    sudo vi hello.py

    Saisissez le texte ci-dessous dans le fichier, puis enregistrez ce dernier :

    from flask import Flask
    app = Flask(__name__)
    
    @app.route('/')
    def hello_world():
        return 'Hello, World!'
    
    if __name__ == "__main__":
        app.run(host="0.0.0.0", port=int("5000"), debug=True)
  13. Exécutez le programme Python.
    export FLASK_APP=hello.py
    flask run --host=0.0.0.0
  14. Vous pouvez maintenant tester la structure de l'application.

    Dans un nouveau terminal, connectez-vous à la machine virtuelle Ubuntu avec les clés SSH. Ensuite, dans la ligne de commande, saisissez curl localhost:5000. Sinon, vous pouvez connecter le navigateur à l'adresse IP publique affectée à la machine virtuelle : http://<x.x.x.x>:5000.

    L'application renvoie Hello World! sur la machine virtuelle ou dans le navigateur.
Félicitations ! Vous avez installé Flask sur la machine virtuelle Oracle Cloud Infrastructure.

Etapes suivantes

Vous avez installé Flask et créé une application Python sur Oracle Cloud Infrastructure à l'aide d'une machine virtuelle Ubuntu.

Pour obtenir plus d'informations sur le développement avec les produits Oracle, consultez les sites suivants :