
U ovom članku ćemo predstaviti detaljnu uputu za instalaciju i konfiguraciju programa Apache, Python i PostgreSQL kako bismo podržali rad Django projekta na operativnom sistemu MS Windows. Django već uključuje pojednostavljeni razvojni server za lokalno testiranje koda, ali za produkcijske zadatke potreban je sigurniji i moćniji web server. Konfigurićemo mod_wsgi za interakciju s našim projektom i postavićemo Apache kao ulaznu tačku u vanjski svet.
Važno je napomenuti da će instalacija i podešavanje biti obavljeni na operativnom sistemu MS Windows 10 sa 32-bitnom arhitekturom. Takođe, 32-bitna verzija će biti univerzalna i radit će na 64-bitnoj arhitekturi. Ako vam je potrebna 64-bitna instalacija, ponovite iste korake za 64-bitne distribucije softvera, redosled koraka će biti isti.
Kao Django projekat koristićemo program Severcart. On je namenjen upravljanju kretanjem kartica, praćenju štampačkih uređaja i ugovorima o nabavci i održavanju. Instalacija svih programa i modula biće izvršena u direktorijumu C:severcart. Lokacija nije od suštinskog značaja.
Python
Prvi korak je preuzimanje i instalacija Pythona sa web stranice Python. Odabrati Windows kao operativni sistem i 32-bitnu verziju. U vreme pisanja ovog članka trenutna verzija je 3.9.0rc2.
Nakon preuzimanja instalacionog fajla, desnim klikom na instalacioni fajl odaberite "Pokreni kao administrator". Trebalo bi da vidite ekran ispod.

Postavite oznake pored opcija "Install launcher for all users (recommended)" i "Add Python 3.9 to PATH" i kliknite na "Customize installation".

Postavite oznake pored "pip", "py launcher", "for all users (requires elevation)" i kliknite na "Next".

Odaberite sva polja za unos kao na slici iznad i kliknite na "Install".

Da biste se uverili da je instalacija uspela, otvorite cmd i otkucajte python. Ako je instalacija uspešna, trebali biste videti prompt sličan onome prikazanom ispod.

Instaliramo mod_wsgi
Preuzimamo kompajlirani paket s mod_wsgi sa sajta
. Modul služi kao posrednik između Apache servera i Django projekta. Najnoviji paket nosi naziv mod_wsgi-4.7.1-cp39-cp39-win32.whl. Imajte na umu da je paket kompajliran za 32-bitni Windows CPython verziju 3.9. Također treba napomenuti da će očigledna instalacija modula pip install mod_wsgi najvjerojatnije završiti greškom, jer će biti potreban Visual Studio C++ kompajler. Smatramo da nije opravdano instalirati cijeli kompajler radi jednog Python paketa na Windows-u.
Instaliramo modul pomoću standardnog paketnog menadžera pip u cmd ili powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Preuzimamo distribuciju sa stranice .
Najnovija verzija web servera je Apache 2.4.46 win32 VS16. Također, za rad programa potreban je unaprijed instalirani paket "Visual C++ Redistributable for Visual Studio 2019 x86".
Raspakiramo distribuciju Apache u katalog C:severcartApache24, zatim mijenjamo redak s brojem 37 na svoj.
Define SRVROOT "C:/severcart/Apache24"
Provjeravamo rad Apache-a, izvršavajući u komandnoj liniji
C:/severcart/Apache24/bin> httpd.exe
Kao rezultat trebali bismo vidjeti u pregledniku na adresi redak «It works!».

Instaliramo Apache uslugu, za to izvršavamo u komandnoj liniji kao Administrator sljedeću instrukciju:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Zatim povezujemo mod_wsgi modul s Apache-om. Za to izvršavamo u komandnoj liniji instrukciju
C:Windowssystem32>mod_wsgi-express module-config
Kao rezultat, na standardni izlaz bit će ispisane naredbe:
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"
Kreiramo datoteku C:severcartApache24confextrahttpd-wsgi.conf i kopiramo u nju ispisane naredbe iznad.
Povezujemo novu konfiguraciju s glavnom datotekom httpd.conf
Include conf/extra/httpd-wsgi.conf
Spremamo izmjene, ponovno pokrećemo Apache usluge
Net stop Apache24
Net start Apache24
PostgreSQL
Instaliramo PostgreSQL preuzet sa stranice . Trenutna verzija proizvoda je 12. Prednosti ruskog distribucije u odnosu na kanoničku predstavljene su na istoj stranici.










Akcije za instalaciju navedene su gore i ne zahtijevaju komentare. Instalacija je veoma jednostavna.
Kreiramo DB u postgres-u, gdje će se kasnije čuvati strukture podataka Django projekta.
C:severcartpostgresqlbin>psql -h 127.0.0.1 -U postgres -W
CREATE DATABASE severcart WITH ENCODING='UTF8' OWNER=postgres CONNECTION LIMIT=-1 template=template0;

DB je kreirana. Sada razvijamo Django projekt.
Instaliramo web aplikaciju
Za to preuzimamo zip arhivu sa stranice. i raspakiramo u katalog C:severcartapp

Unosimo izmjene u glavni конфигурационный файл C:severcartappconfsettings_prod.py za određivanje podataka za povezivanje s BД

Python rječnik DATABASES sadrži podatke za povezivanje s BД. Detalje o postavkama pročitajte ovdje
Instaliramo Python pakete bitne za rad aplikacija unutar Django projekta
C:severcartapptkinstaller>python install.py

Tijekom rada skripte bit će izvršena inicijalizacija BД s tablicama, konstruktorima, indeksima i ostalim, a bit će ponuđeno da se kreira korisnik pod kojim će se raditi u programu.
Povezujemo Django aplikaciju sa serverom Apache, za to dodajemo u конфигурационный файл
httpd-wsgi.conf sljedeći tekst
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# za Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# za 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
Ponovno pokrećemo Apache uslugu i provjeravamo rad aplikacije

Na tome je sve. Hvala što ste pročitali.
U sljedećem članku ćemo kreirati instalacijski samoraspakirajući arhiv u InnoSetup za brzo postavljanje Django projekta na računalima klijenata. Za one koji žele ponoviti sve korake na učitani su svi korišteni distributivni paketi.
Izvor: habr.com
