
In dit artikel wordt een gedetailleerde handleiding gepresenteerd voor de installatie en configuratie van de programma's Apache, Python en PostgreSQL om de werking van een Django-project in het besturingssysteem MS Windows te waarborgen. Django bevat al een vereenvoudigde ontwikkelserver voor lokaal testen van code, maar voor productie gerelateerde taken is een veiligere en krachtigere webserver vereist. We zullen mod_wsgi instellen om te communiceren met ons project en Apache configureren als een gateway naar de buitenwereld.
Het is vermeldenswaard dat de installatie en configuratie zal plaatsvinden in het besturingssysteem MS Windows 10 met een 32-bits architectuur. Ook de 32-bits versie zal universeel zijn en werken op een 64-bits architectuur. Als u een 64-bits installatie nodig heeft, herhaal dan dezelfde stappen voor 64-bits distributies van de programma's; de volgorde van de acties zal identiek zijn.
Als Django-project zullen we het programma Severcart gebruiken. Dit is ontworpen om het verplaatsen van cartridges te beheren, de drukapparatuur te registreren en de leverings- en onderhoudsovereenkomsten bij te houden. Alle programma's en modules zullen worden geĆÆnstalleerd in de map C:severcart. De locatie is niet cruciaal.
Python
De eerste stap is het downloaden en installeren van Python van de Python-website. Kies Windows als besturingssysteem en de 32-bits versie. Op het moment van schrijven is de actuele versie 3.9.0rc2.
Nadat u het installatiebestand heeft gedownload, klikt u met de rechtermuisknop op het installatiebestand en kiest u 'Uitvoeren als administrator'. U zou het scherm hieronder moeten zien.

Zet vinkjes bij de opties 'Install launcher for all users (recommended)' en 'Add Python 3.9 to PATH' en klik op 'Customize installation'.

Zet vinkjes bij 'pip', 'py launcher', 'for all users (requires elevation)' en klik op 'Next'.

Kies alle invoervelden zoals in de afbeelding hierboven en klik op 'Install'.

Om te controleren of de installatie succesvol was, opent u cmd en typt u python. Als de installatie succesvol was, zou u een prompt moeten zien zoals de onderstaande.

Installeer mod_wsgi.
Download het gecompileerde pakket met mod_wsgi van de website.
De module fungeert als een tussenpersoon tussen de Apache-server en het Django-project. Het nieuwste pakket heeft de naam mod_wsgi-4.7.1-cp39-cp39-win32.whl. Let op dat het pakket is gecompileerd voor 32-bits Windows CPython versie 3.9. Het is ook belangrijk om op te merken dat de duidelijke installatie van het pakket met pip install mod_wsgi waarschijnlijk zal mislukken, aangezien een Visual Studio C++-compiler tijdens de installatie nodig is. Het is niet praktisch om de compiler volledig te installeren voor slechts ƩƩn Python-pakket op Windows.
We installeren de module met behulp van de standaard pakketbeheerder pip in cmd of powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Download het distributiepakket van de website. .
De nieuwste versie van de webserver is Apache 2.4.46 win32 VS16. Daarnaast is een vooraf geĆÆnstalleerd pakket 'Visual C++ Redistributable for Visual Studio 2019 x86' nodig voor de werking van het programma.
Pak het distributiepakket van Apache uit naar de C:severcartApache24-map, en wijzig de regel met nummer 37 naar jouw eigen pad.
Define SRVROOT "C:/severcart/Apache24"
We controleren de werking van Apache door de volgende opdracht in de opdrachtprompt uit te voeren:
C:/severcart/Apache24/bin> httpd.exe
Als resultaat zouden we in de browser het volgende adres moeten zien: de tekst 'It works!'.

We installeren de Apache-service; voer hiervoor de volgende opdracht uit in de opdrachtprompt als Administrator:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Vervolgens koppelen we de mod_wsgi-module aan Apache. Voer hiervoor de volgende opdracht in de opdrachtprompt uit:
C:Windowssystem32>mod_wsgi-express module-config
Als resultaat worden de volgende regels naar de standaarduitvoer gedrukt:
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"
Maak het bestand C:severcartApache24confextrahttpd-wsgi.conf aan en plak de hierboven afgedrukte regels daarin.
Koppel de nieuwe configuratie aan het hoofdhttpd.conf-bestand.
Include conf/extra/httpd-wsgi.conf
Sla de wijzigingen op en herstart de Apache-services.
Net stop Apache24
Net start Apache24
PostgreSQL
Installeer PostgreSQL van de site. De huidige versie van het product is 12. De voordelen van de Russische distributie ten opzichte van de canonieke versie zijn op dezelfde website te vinden.










De installatie-instructies zijn hierboven uiteengezet en vereisen geen verdere toelichting. De installatie is uiterst eenvoudig.
Maak een database in postgres waar de datastructuren van het Django-project later opgeslagen zullen worden.
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

De database is aangemaakt. Nu zetten we het Django-project op.
We installeren de webapplicatie.
Hiervoor downloaden we een zip-archief van de website. en unzippen in de map C:severcartapp

Breng wijzigingen aan in het hoofdconfiguratiebestand C:severcartappconfsettings_prod.py om de databaseverbinding in te stellen

De Python-woordenlijst DATABASES bevat de verbindingsgegevens voor de database. Verdere details over de configuratie vindt u hier
Installeer de noodzakelijke Python-pakketten voor het functioneren van applicaties binnen het Django-project
C:severcartapptkinstaller>python install.py

Tijdens het uitvoeren van het script worden de database-initialisatieprocessen uitgevoerd, zoals tabellen, constraints, indexen, enzovoort, en er wordt gevraagd om een gebruiker te creƫren die zal worden gebruikt in de applicatie.
Verbind de Django-applicatie met de Apache-server door het configuratiebestand aan te vullen
httpd-wsgi.conf met de volgende tekst
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# voor Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# voor 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
Herstart de Apache-service en controleer de werking van de applicatie

Dat is alles. Bedankt voor het lezen.
In het volgende artikel gaan we een zelfuitpakkend installatiearchief maken in InnoSetup voor een snelle implementatie van het Django-project op de computer van de klant. Voor degenen die alle stappen willen herhalen op zijn alle benodigde distributies geüpload.
Bron: habr.com
