====== Setup Production (OLD) ====== ===== Déploiement sur un serveur Apache ===== À lire : [[https://www.bogotobogo.com/python/Flask/Python_Flask_HelloWorld_App_with_Apache_WSGI_Ubuntu14.php]] Sur un serveur **Ubuntu 18.04** disposant déjà d'**Apache 2.4**. Installer **mod_wsgi** sudo apt install libapache2-mod-wsgi-py3 Installer **python3-venv** sudo apt install python3-venv * Créer un dossier, par exemple **/var/www/flaskapp/** * Créer un environnement virtuel * Y installer Flask sudo mkdir /var/www/flaskapp cd /var/www/flaskapp sudo python3 -m venv venv source venv/bin/activate sudo pip3 install Flask Copier les fichiers de l'application. /var/www/flaskapp ├── app.py ├── myapp.wsgi ├── static │ ├── js │ │ └── main.js │ └── css │ └── main.css ├── templates │ ├── article.html │ ├── base.html │ └── home.html └── venv └── ... Contenu du fichier **/var/www/flaskapp/myapp.wsgi** : #!/usr/bin/python import sys sys.path.insert(0, "/var/www/flaskapp/") from app import app as application Créer un fichier de configuration pour Apache : ServerName monsite.com ServerAdmin admin@monsite.com WSGIDaemonProcess myapp user=www-data group=www-data threads=5 WSGIProcessGroup myapp WSGIScriptAlias / /var/www/flaskapp/myapp.wsgi AllowOverride all Require all granted Allow from all ErrorLog ${APACHE_LOG_DIR}/monsite.com/error.log CustomLog ${APACHE_LOG_DIR}/monsite.com/access.log combined Le dossier **/var/log/apache2/monsite.com** pour les logs doit exister. Activer le site et recharger Apache : sudo a2ensite monsite.conf sudo systemctl reload apache2