
În acest articol va fi prezentat un ghid detaliat pentru instalarea și configurarea programelor Apache, Python și PostgreSQL pentru a asigura funcționarea proiectului Django pe sistemul de operare MS Windows. Django include deja un server de dezvoltare simplificat pentru testarea locală a codului, dar pentru aplicații de producție este necesar un server web mai sigur și mai puternic. Vom configura mod_wsgi pentru a interacționa cu proiectul nostru și vom seta Apache ca poartă către lumea externă.
Este important de menționat că instalarea și configurarea se vor desfășura pe sistemul de operare MS Windows 10 cu arhitectură de 32 de biți. De asemenea, reacția pe 32 de biți va fi universală și va funcționa pe arhitectura de 64 de biți. Dacă aveți nevoie de o instalare pe 64 de biți, repetați aceleași acțiuni pentru distribuțiile de 64 de biți ale programelor, ordinea acțiunilor va fi identică.
Ca proiect Django, vom folosi programul Severcart. Acesta este destinat gestionării circulației cartușelor, contabilizării echipamentului de imprimare și contractelor de furnizare și întreținere. Instalarea tuturor programelor și modulelor se va realiza în directorul C:severcart. Locația nu este esențială.
Python
Primul pas este descărcarea și instalarea Python de pe site-ul Python. Selectăm Windows ca sistem de operare și versiunea pe 32 de biți. La momentul redactării acestui articol, versiunea curentă este 3.9.0rc2.
După ce ați descărcat fișierul de instalare, faceți clic dreapta pe acesta și selectați „Rulați ca administrator”. Ar trebui să vedeți ecranul de mai jos.

Selectăm căsuțele de lângă opțiunile „Install launcher for all users (recommended)” și „Add Python 3.9 to PATH” și apăsăm pe „Customize installation”.

Selectăm căsuțele de lângă „pip”, „py launcher”, „for all users (requires elevation)” și apăsăm „Next”.

Selectăm toate câmpurile de introducere ca în imaginea de mai sus și apăsăm pe „Install”.

Pentru a ne asigura că instalarea a fost efectuată cu succes, deschideți cmd și introduceți python. Dacă instalarea a fost efectuată cu succes, ar trebui să vedeți un prompt similar cu cel de mai jos.

Instalăm mod_wsgi.
Descărcăm pachetul compilat cu mod_wsgi de pe site.
. Modulul servește ca un intermediar între serverul Apache și proiectul Django. Cel mai recent pachet va avea numele mod_wsgi-4.7.1-cp39-cp39-win32.whl. Rețineți că pachetul a fost compilat pentru versiunea Windows CPython de 32 de biți 3.9. De asemenea, merită menționat că instalarea evidentă a modulului pip install mod_wsgi va eșua, deoarece în timpul instalării va fi necesar un compilator Visual Studio C++. Considerăm că instalarea completă a compilatorului pentru un singur pachet Python pe Windows nu este rațională.
Instalăm modulul folosind managerul standard de pachete pip în cmd sau powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Descărcăm distribuția de pe site .
Cea mai recentă versiune a serverului web este Apache 2.4.46 win32 VS16. De asemenea, pentru ca programul să funcționeze, este necesar să aveți instalat anterior pachetul „Visual C++ Redistributable for Visual Studio 2019 x86”.
Dezarhivăm distribuția Apache în directorul C:severcartApache24, apoi schimbăm linia cu numărul 37 cu a noastră.
Define SRVROOT "C:severcart/Apache24"
Verificăm funcționarea Apache, executând în linia de comandă
C:/severcart/Apache24/bin> httpd.exe
Ca rezultat, ar trebui să vedem în browser la adresa linia „It works!”.

Instalăm serviciul Apache, pentru aceasta vom executa în linia de comandă de sub Administrator instrucțiunea:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Apoi vom conecta modulul mod_wsgi la Apache. Pentru aceasta, vom executa în linia de comandă instrucțiunea
C:Windowssystem32>mod_wsgi-express module-config
Ca rezultat, în ieșirea standard vor fi tipărite liniile:
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"
Creăm fișierul C:severcartApache24confextrahttpd-wsgi.conf și copiem acolo liniile tipărite mai sus.
Conectăm noua configurație la fișierul principal httpd.conf.
Include conf/extra/httpd-wsgi.conf
Salvăm modificările, repornim serviciile Apache.
Net stop Apache24
Net start Apache24
PostgreSQL
Instalăm PostgreSQL preluat de pe site . Versiunea curentă a produsului software este 12. Avantajele distribuției rusești față de cea canonică sunt prezentate pe același site.










Pașii pentru instalare sunt prezentați mai sus și nu necesită comentarii. Instalarea este extrem de simplă.
Creăm o bază de date în postgres, unde vor fi stocate ulterior structurile de date ale proiectului 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;

Baza de date a fost creată. Acum desfășurăm proiectul Django.
Instalăm aplicația web.
Pentru aceasta, descărcăm arhiva zip de pe site. și îl dezarhivăm în catalogul C:severcartapp

Facem modificările în fișierul de configurare principal C:severcartappconfsettings_prod.py pentru a specifica detaliile de conectare la baza de date

Dicționarul Python DATABASES conține detaliile de conectare la baza de date. Detalii despre configurare găsiți aici
Instalăm pachetele Python necesare pentru funcționarea aplicațiilor în cadrul proiectului Django
C:severcartapptkinstaller>python install.py

În timpul execuției scriptului, va avea loc inițializarea bazei de date cu tabele, constrângeri, indecși și altele, iar va fi solicitat să creați un utilizator sub care va funcționa aplicația.
Conectăm aplicația Django la serverul Apache, pentru aceasta completăm fișierul de configurare
httpd-wsgi.conf cu următorul text
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# pentru Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# pentru 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
Reîncărcăm serviciul Apache și verificăm funcționarea aplicației

Asta e tot. Vă mulțumim că ați citit.
În următorul articol, vom crea un arhivă auto-extrăgătoare în InnoSetup pentru implementarea rapidă a proiectului Django pe computerul clientului. Pentru cei care doresc să repete toate acțiunile pe sunt încărcate toate distribuțiile utilizate.
Sursa: habr.com
