TIKDEM

  • Société
  • Solutions
    • Logiciels
      • TikMedical
      • TikONGS
      • TikCompta
      • TikFORMS
    • Services SAAS
      • Seafile
      • Odoo
  • Nos services
    • Développements sur mesure
      • Développements Python
      • Développements mobiles
      • Développement Facebook API
    • Formations
    • Hébergement
  • Contacts
  • Blog
Vous êtes ici : Accueil / Archives pour Apache

Déploiement d’une application Flask avec Apache et Ubuntu

24/06/2017 par TIKDEM TEAM

Chez TIKDEM, nous portons un grand intérêt au micro-framework Flask.

La courbe d’apprentissage pour un développeur qui maîtrise déjà le langage Python est bien plus courte que pour des frameworks plus riches en fonctionnalités natives tels que Django, Symfony ou Yii.

Un autre intérêt de cet outil est qu’il consomme moins de ressources et impose moins de contraintes de déploiement.

Il s’agit là de points idéaux lorsqu’on réalise, par exemple, une application web spécialisée ou encore embarquée sur un Raspberry.

Dans ce tutoriel nous partons du principe que vous connaissez déjà les bases de Flask et que vous savez exécuter une application. Vous savez donc déjà, qu’une fois exécutée, l’application est accessible en local depuis l’adresse

http://localhost:5000

Considérons que Python, PIP, Flask et Virtualenv soient déjà installés sur le serveur de déploiement et partons du principe que votre application se trouve dans un fichier /chemin/FlaskBot/mybot.py et aie été  testée.

Supposons que vous souhaitiez déployer cette application et y accéder depuis une adresse de type http://flask.monnomdedomaine.com .

Nous allons pour cela accéder à cette application à partir d’Apache en mettant en œuvre Web Server Gateway Interface.

Créons un répertoire approprié et copions-y notre code

mkdir /var/www/FlaskBot/
cp /chemin/FlaskBot/mybot.py /var/www/FlaskBot/

il faut ensuite renommer notre fichier Python en __init__.py
cd /var/www/FlaskBot/FlaskBot
mv mybot.py __init__.py

Nous allons définir les configurations Python nécessaires

sudo virtualenv Virtenv
source Virtenv/bin/activate

Pour vérifier que l’application est bien fonctionnelle, lançons le serveur Flask
sudo python /var/www/FlaskBot/FlaskBot/__init__.py
Le message  » * Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) » apparaît. Cela permet de vérifier que le serveur se lance en ligne de commande; Inutile de chercher à y accéder à partir du navigateur parce que la configuration n’est pas encore achevée.

Créons et éditons à présent un Virtual Host Apache pour notre application.

sudo vi  /etc/apache2/sites-available/flask.monnomdedomaine.com.conf


<VirtualHost *:80>
ServerName flask.monnomdedomaine.com
ServerAdmin admin@monnomdedomaine.com
WSGIScriptAlias / /var/www/FlaskBot/flaskapp.wsgi
<Directory /var/www/FlaskBot/FlaskBot/>
Order allow,deny
Allow from all
</Directory>
Alias /static /var/www/FlaskBot/FlaskBot/static
<Directory /var/www/FlaskBot/FlaskBot/static/>
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/flask.monnomdedomaine.com.log
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Activons ce Virtual Host

cd /etc/apache2/sites-available/
sudo a2ensite flask.monnomdedomaine.com.conf

et finalisons la configuration du fichier WSGI qui va indiquer au serveur d’applications quelle application exécuter.

sudo vi /var/www/FlaskBot/flaskapp.wsgi


#!/usr/bin/python
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/FlaskBot/")

from FlaskBot import app as application
application.secret_key = ‘VOTRE CLE’

Il ne reste plus qu’à redémarrer Apache


sudo service apache2 restart

et votre application est accessible à l’adresse http://flask.monnomdedomaine.com

Catégorie(s) : Actualités technologiques, Déploiements Étiqueté : Apache, Flask, Python, Ubuntu

Recherche

Derniers articles

  • Installation du serveur SEAFILE sous Ubuntu 16.04
  • Comment activer et configurer le module GED d’OpenERP 7
  • Introduction au développement de « Facebook Messenger Bots »
  • Déploiement d’une application Flask avec Apache et Ubuntu
  • Réalisation d’un robot Facebook Messenger

Étiquettes

Apache Facebook Flask Messenger Bot odoo Python Ubuntu

Nos coordonnées

Nos locaux sont situés à Kinshasa, dans la Commune de Ngaliema, Place commerciale de Ma Campagne, Avenue Trèfles N°6.

Tél. : +243 85 94 03 401
Tél. : +243 99 81 83 481
Email : contact@tikdem.com

Votre projet

Nous sommes toujours ravis d'étudier les projets proposés par nos prospects et saurons vous conseiller.
En effet, même si vos besoins ne correspondent pas à nos compétences, nous pouvons vous recommander les services de nos partenaires (sociétés ou consultants indépendants).

Retrouvons-nous sur les réseaux sociaux

Retrouvez les dernières informations et actions de la société sur nos pages Facebook et LinkedIn

FacebookLinkedin

Copyright © 2019 · TIKDEM SARL - Tous droits réservés · Réalisation TIKDEM SARL