
In diesem Artikel wird eine detaillierte Anleitung zur Installation und Konfiguration der Programme Apache, Python und PostgreSQL zur Unterstützung eines Django-Projekts unter MS Windows bereitgestellt. Django beinhaltet bereits einen vereinfachten Entwicklungsserver für lokale Code-Tests, aber für produktionsbezogene Aufgaben ist ein sichererer und leistungsfähigerer Webserver erforderlich. Wir werden mod_wsgi konfigurieren, um mit unserem Projekt zu interagieren, und Apache als Gateway in die Außenwelt einrichten.
Es sei darauf hingewiesen, dass die Installation und Konfiguration unter MS Windows 10 mit 32-Bit-Architektur stattfinden wird. Auch die 32-Bit-Variante wird universell sein und auf 64-Bit-Architektur funktionieren. Falls Sie die 64-Bit-Installation benötigen, wiederholen Sie die gleichen Schritte für die 64-Bit-Distributionen der Programme; die Vorgehensweise bleibt identisch.
Für unser Django-Projekt verwenden wir das Programm Severcart. Es dient der Verwaltung von Kartuschbewegungen sowie der Nachverfolgung von Druckgeräten und Liefer- und Wartungsverträgen. Die Installation aller Programme und Module erfolgt im Verzeichnis C:severcart. Der Speicherort ist nicht entscheidend.
Python
Der erste Schritt besteht darin, Python von der Python-Website herunterzuladen und zu installieren. Wählen Sie Windows als Betriebssystem und die 32-Bit-Version. Zum Zeitpunkt der Erstellung dieses Artikels ist die aktuelle Version 3.9.0rc2.
Nachdem Sie die Installationsdatei heruntergeladen haben, klicken Sie mit der rechten Maustaste auf die Installationsdatei und wählen Sie „Als Administrator ausführen“. Sie sollten den untenstehenden Bildschirm sehen.

Setzen Sie die Häkchen bei den Kontrollkästchen „Install launcher for all users (recommended)“ und „Add Python 3.9 to PATH“ und klicken Sie auf „Installation anpassen“.

Setzen Sie die Häkchen bei „pip“, „py launcher“, „für alle Benutzer (erfordert Erhöhung)“ und klicken Sie auf „Weiter“.

Wählen Sie alle Eingabefelder wie im obigen Bild und klicken Sie auf „Installieren“.

Um sicherzustellen, dass die Installation erfolgreich war, öffnen Sie die Eingabeaufforderung (cmd) und geben Sie python ein. Wenn die Installation erfolgreich war, sollten Sie eine Eingabeaufforderung sehen, die ähnlich wie die folgende aussieht.

Installieren Sie mod_wsgi.
Laden Sie das kompilierte Paket mit mod_wsgi von der Website herunter.
. Das Modul fungiert als Vermittler zwischen dem Apache-Server und dem Django-Projekt. Das aktuellste Paket hat den Namen mod_wsgi-4.7.1-cp39-cp39-win32.whl. Beachten Sie, dass das Paket für die 32-Bit-Version von Windows CPython 3.9 kompiliert wurde. Es ist auch erwähnenswert, dass die offensichtliche Installation des Moduls pip install mod_wsgi wahrscheinlich mit einem Fehler enden wird, da während der Installation ein Visual Studio C++ Compiler benötigt wird. Wir halten es für unpraktisch, den Compiler nur für ein Python-Paket in Windows zu installieren.
Wir installieren das Modul mit dem Standardpaketmanager pip in cmd oder powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Wir laden das Distributionpaket von der Website herunter .
Die aktuellste Version des Webservers ist Apache 2.4.46 win32 VS16. Außerdem wird für das Programm das zuvor installierte Paket "Visual C++ Redistributable for Visual Studio 2019 x86" benötigt.
Wir entpacken das Apache-Distributionpaket in das Verzeichnis C:severcartApache24, anschließend ändern wir die Zeile mit der Nummer 37 auf unseren eigenen
Define SRVROOT "C:\/severcart\/Apache24"
Wir überprüfen die Funktion von Apache, indem wir in der Eingabeaufforderung den Befehl ausführen
C:\/severcart\/Apache24\/bin> httpd.exe
Das Ergebnis sollte im Browser unter der Adresse angezeigt werden die Zeile „It works!“.

Wir installieren den Apache-Dienst, dazu führen wir den folgenden Befehl in der Eingabeaufforderung als Administrator aus:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Anschließend binden wir das Modul mod_wsgi an Apache an. Dazu führen wir in der Eingabeaufforderung den Befehl aus
C:Windowssystem32>mod_wsgi-express module-config
Das Ergebnis wird in der Standardausgabe die folgenden Zeilen enthalten:
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"
Wir erstellen die Datei C:severcartApache24confextrahttpd-wsgi.conf und fügen die oben ausgegebenen Zeilen dort ein.
Wir binden die neue Konfiguration in die Hauptdatei httpd.conf ein
Include conf\/extra\/httpd-wsgi.conf
Wir speichern die Änderungen und starten die Apache-Dienste neu
Net stop Apache24
Net start Apache24
PostgreSQL
Wir installieren PostgreSQL von der Website . Die aktuelle Version des Produkts ist 12. Die Vorteile der russischen Distribution gegenüber der kanonischen sind auf derselben Website dargestellt.










Die Installationsschritte sind oben aufgeführt und bedürfen keiner Kommentare. Die Installation ist äußerst einfach.
Wir erstellen eine DB in postgres, in der später die Datenstrukturen des Django-Projekts gespeichert werden
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

Die DB wurde erstellt. Jetzt setzen wir das Django-Projekt auf.
Wir installieren die Webanwendung
Dazu laden wir das Zip-Archiv von der Website herunter. und entpacken wir in das Verzeichnis C:severcartapp

Wir nehmen Änderungen an der Hauptkonfigurationsdatei C:severcartappconfsettings_prod.py vor, um die Verbindungsdaten zur Datenbank anzugeben

Das Python-Wörterbuch DATABASES enthält die Verbindungsdaten zur Datenbank. Einzelheiten zur Einrichtung finden Sie hier
Wir installieren wichtige Python-Pakete für die Zusammenarbeit von Anwendungen innerhalb des Django-Projekts
C:severcartapptkinstaller>python install.py

Im Laufe der Skriptausführung wird die Datenbank mit Tabellen, Constraints, Indizes und anderen Elementen initialisiert, und es wird angeboten, einen Benutzer zu erstellen, unter dem die Arbeit im Programm ausgeführt wird.
Wir verbinden die Django-Anwendung mit dem Apache-Server, indem wir die Konfigurationsdatei ergänzen
httpd-wsgi.conf mit folgendem Text
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# für Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# für 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
Wir starten den Apache-Dienst neu und überprüfen die Funktion der Anwendung

Das ist alles. Vielen Dank, dass Sie bis hierher gelesen haben.
Im nächsten Artikel werden wir ein selbstentpackendes Installationsarchiv in InnoSetup erstellen, um das Django-Projekt schnell auf dem Computer des Kunden bereitzustellen. Für diejenigen, die alle Schritte wiederholen möchten auf wurden alle verwendeten Distributionen hochgeladen.
Quelle: habr.com
