Cet article fournira des instructions détaillées pour installer et configurer les programmes Apache, Python et PostgreSQL afin d'assurer le fonctionnement d'un projet Django sous MS Windows. Django inclut déjà un serveur de développement léger pour tester le code localement, mais les tâches liées à la production nécessitent un serveur Web plus sécurisé et plus puissant. Nous allons configurer mod_wsgi pour interagir avec notre projet et configurer Apache comme passerelle vers le monde extérieur.
Il convient de noter que l'installation et la configuration seront effectuées sous le système d'exploitation MS Windows 10 32 bits. De plus, la réponse 32 bits sera universelle et fonctionnera sur une architecture 64 bits. Si vous avez besoin d'une installation 64 bits, répétez les mêmes étapes pour les distributions de logiciels 64 bits, la séquence d'actions sera identique.
Nous utiliserons le programme Severcart comme projet Django. Il est conçu pour gérer le mouvement des cartouches, en tenant compte du matériel d'impression et des contrats de fourniture et de service. Tous les programmes et modules seront installés dans le répertoire C:severcart. L'emplacement n'a pas d'importance.
Python
La première étape consiste à télécharger et installer Python à partir du site Web Python. Sélectionnez Windows comme système d'exploitation et la version 32 bits. Au moment de la rédaction, la version actuelle est la 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
Cochez les cases à côté de « Installer le lanceur pour ajouter un utilisateur (recommandé) » et « Ajouter Python 3.9 au PATH » et cliquez sur « Personnaliser l'installation ».
Cochez les cases à côté de « pip », « py launcher », « pour tous les utilisateurs (nécessite une élévation) » et cliquez sur « Suivant ».
Sélectionnez tous les champs de saisie comme dans l'image ci-dessus et cliquez sur « Installer ».
Pour vérifier que l'installation a réussi, ouvrez cmd et tapez python. Si l'installation a réussi, vous devriez voir une invite similaire à celle ci-dessous
Installer mod_wsgi
Téléchargez le package compilé avec mod_wsgi depuis le site
Installez le module à l'aide du gestionnaire de packages pip standard dans cmd ou PowerShell :
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl
Apache
Téléchargez la distribution depuis le site
La dernière version du serveur Web est Apache 2.4.46 win32 VS16. De plus, pour que le programme fonctionne, vous aurez besoin d'un package préinstallé « Visual C++ Redistributable pour Visual Studio 2019 x86 ».
Décompressez la distribution Apache dans le répertoire C:severcartApache24, puis remplacez le numéro de ligne 37 par le vôtre
Define SRVROOT "C:/severcart/Apache24"
On vérifie le fonctionnement d'Apache en s'exécutant sur la ligne de commande
C:/severcart/Apache24/bin> httpd.exe
Par conséquent, ils devraient être visibles dans le navigateur à l'adresse
Nous installons le service Apache ; pour ce faire, exécutez les instructions suivantes sur la ligne de commande en tant qu'administrateur :
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Ensuite, connectons le module mod_wsgi à Apache. Pour ce faire, exécutez l'instruction sur la ligne de commande
C:Windowssystem32>mod_wsgi-express module-config
En conséquence, les lignes suivantes seront imprimées sur 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éez un fichier C:severcartApache24confextrahttpd-wsgi.conf et copiez-collez les lignes imprimées ci-dessus.
Nous connectons la nouvelle configuration au fichier httpd.conf principal
Inclure conf/extra/httpd-wsgi.conf
Enregistrez les modifications, redémarrez les services Apache
Net stop Apache24
Net start Apache24
PostgreSQL
Installer PostgreSQL extrait du site
Les étapes d'installation sont présentées ci-dessus et ne nécessitent aucun commentaire. L'installation est extrêmement simple.
Nous créons une base de données dans postgres, où seront ensuite stockées les structures de données du projet Django
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. Maintenant, nous déployons le projet Django.
Installation de l'application Web
Pour ce faire, téléchargez l'archive zip depuis le site
Nous apportons des modifications au fichier de configuration principal C:severcartappconfsettings_prod.py pour spécifier les détails de connexion à la base de données
Le dictionnaire Python DATABASES contient des détails sur la connexion à la base de données. En savoir plus sur la configuration ici
Installation de packages Python importants pour exécuter des applications dans un projet Django
C:severcartapptkinstaller>python install.py
Pendant l'exécution du script, la base de données sera initialisée avec des tables, des constructions, des index, etc., et il vous sera demandé de créer un utilisateur au nom duquel le travail sera effectué dans le programme.
On connecte l'application Django au serveur Apache, pour cela on ajoute le fichier de configuration
httpd-wsgi.conf avec le texte suivant
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
<Directory "c:/severcart/app/static">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory "c:/severcart/app/media">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"
<Directory "c:/severcart/app/conf/">
<Files wsgi_prod.py>
Require all granted
</Files>
</Directory>
Redémarrez le service Apache et vérifiez que l'application fonctionne
C'est tout. Merci pour la lecture.
Dans le prochain article, nous créerons une archive d'installation auto-extractible dans InnoSetup pour déployer rapidement un projet Django sur l'ordinateur du client. Pour ceux qui veulent répéter toutes les étapes
Source: habr.com