
Cet article fournira un guide détaillé sur l'installation et la configuration des programmes Apache, Python et PostgreSQL pour faire fonctionner un projet Django sous le systÚme d'exploitation MS Windows. Django inclut déjà un serveur de développement simplifié pour les tests de code en local, mais pour des tùches de production, un serveur web plus sécurisé et puissant est requis. Nous configurerons mod_wsgi pour interagir avec notre projet et configurerons Apache comme passerelle vers le monde extérieur.
Il est Ă noter que l'installation et la configuration se feront sous le systĂšme d'exploitation MS Windows 10 avec une architecture 32 bits. De plus, la version 32 bits sera universelle et fonctionnera Ă©galement sur une architecture 64 bits. Si vous avez besoin d'une installation 64 bits, rĂ©pĂ©tez les mĂȘmes Ă©tapes pour les distributions 64 bits des programmes, la sĂ©quence d'actions sera identique.
Comme projet Django, nous utiliserons le programme Severcart. Il est destiné à gérer le déplacement de cartouches, le suivi des équipements d'impression et des contrats de fourniture et de maintenance. L'installation de tous les programmes et modules se fera dans le répertoire C:severcart. L'emplacement n'est pas critique.
Python
La premiÚre étape consiste à télécharger et à installer Python depuis le site web de Python. Nous choisissons Windows comme systÚme d'exploitation et la version 32 bits. Au moment de la rédaction de cet article, la version actuelle est 3.9.0rc2.
AprÚs avoir téléchargé le fichier d'installation, cliquez avec le bouton droit sur le fichier d'installation et sélectionnez « Exécuter en tant qu'administrateur ». Vous devriez voir l'écran ci-dessous.

Nous activons les cases à cocher « Install launcher for all users (recommended) » et « Add Python 3.9 to PATH » et cliquons sur « Customize installation ».

Nous sélectionnons les cases à cocher « pip », « py launcher », « for all users (requires elevation) » et cliquons sur « Next ».

Nous remplissons tous les champs d'entrée comme sur l'image ci-dessus et cliquons sur « Install ».

Pour vous assurer que l'installation a réussi, ouvrez cmd et tapez python. Si l'installation est réussie, vous devriez voir un invite similaire à celui ci-dessous.

Installation de mod_wsgi.
Téléchargez le paquet compilé avec mod_wsgi depuis le site.
. Le module joue le rÎle d'intermédiaire entre le serveur Apache et le projet Django. Le dernier paquet aura pour nom mod_wsgi-4.7.1-cp39-cp39-win32.whl. Notez que le paquet est compilé pour la version 32 bits de Windows CPython 3.9. Il est également à noter que l'installation évidente du module pip install mod_wsgi échouera probablement, car un compilateur Visual Studio C++ sera requis pendant l'installation. Installer tout le compilateur juste pour un paquet Python sur Windows est jugé peu pratique.
Nous installons le module Ă l'aide du gestionnaire de paquets standard pip dans cmd ou powershell :
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Téléchargez le distributeur depuis le site .
La version la plus récente du serveur Web est Apache 2.4.46 win32 VS16. De plus, le programme nécessitera le paquet 'Visual C++ Redistributable for Visual Studio 2019 x86' déjà installé.
Nous décompressons le distributeur Apache dans le répertoire C:severcartApache24, puis modifions la ligne numéro 37 en y mettant notre propre chemin
Define SRVROOT "C:severcart/Apache24"
Vérifions le fonctionnement d'Apache en exécutant dans l'invite de commande
C:/severcart/Apache24/bin> httpd.exe
En consĂ©quence, nous devrions voir dans le navigateur Ă l'adresse la chaĂźne «Ăa fonctionne!».

Nous installons le service Apache, pour cela, exécutons dans l'invite de commande avec les droits d'administrateur l'instruction :
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Ensuite, nous connecterons le module mod_wsgi à Apache. Pour cela, exécutons dans l'invite de commande l'instruction
C:Windowssystem32>mod_wsgi-express module-config
En conséquence, les lignes suivantes seront imprimées dans la sortie standard :
LoadFile "c:/severcart/python/python39.dll"
LoadModule wsgi_module "c:/severcart/python/lib/site-packages/mod_wsgi/server/mod_wsgi.cp39-win32.pyd"
WSGIPythonHome "c:/severcart/python"
Créons le fichier C:severcartApache24confextrahttpd-wsgi.conf et copions-y les lignes imprimées ci-dessus.
Connectons la nouvelle configuration au fichier principal httpd.conf
Include conf/extra/httpd-wsgi.conf
Enregistrons les modifications, redémarrons les services Apache
Net stop Apache24
Net start Apache24
PostgreSQL
Installons PostgreSQL tĂ©lĂ©chargĂ© depuis le site . La version actuelle du produit logiciel est 12. Les avantages de la distribution russe par rapport Ă la distribution canonique sont prĂ©sentĂ©s sur le mĂȘme site.










Les Ă©tapes d'installation sont prĂ©sentĂ©es ci-dessus et ne nĂ©cessitent pas de commentaires. L'installation est extrĂȘmement simple.
CrĂ©ons une base de donnĂ©es dans postgres, oĂč les structures de donnĂ©es du projet Django seront ensuite stockĂ©es.
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

La base de données a été créée. Nous déployons maintenant le projet Django.
Installons l'application web
Pour cela, téléchargeons l'archive zip depuis le site. et décompressons-le dans le répertoire C:severcartapp

Modifions le fichier de configuration principal C:severcartappconfsettings_prod.py pour indiquer les informations de connexion à la base de données

Le dictionnaire Python DATABASES contient les informations de connexion à la base de données. Pour plus de détails sur la configuration, veuillez lire ici
Nous installons les paquets Python nécessaires pour faire fonctionner les applications dans le projet Django
C:severcartapptkinstaller>python install.py

Au cours de l'exécution du script, l'initialisation de la base de données avec les tables, contraintes, index et autres sera effectuée, et il vous sera proposé de créer un utilisateur, qui sera utilisé pour travailler dans le programme.
Nous connectons l'application Django au serveur Apache, pour cela nous complétons le fichier de configuration
httpd-wsgi.conf avec le texte suivant
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# pour Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# pour Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"
Require all granted
Nous redémarrons le service Apache et vérifions le fonctionnement de l'application

C'est tout. Merci de votre lecture.
Dans le prochain article, nous allons créer un archive auto-extractible à installer avec InnoSetup pour un déploiement rapide du projet Django sur l'ordinateur du client. Pour ceux qui souhaitent répéter toutes les actions sur tous les packages utilisés ont été téléchargés.
Source : habr.com
