
V tem članku bomo predstavili podrobna navodila za namestitev in konfiguracijo programov Apache, Python in PostgreSQL za omogočanje delovanja Django projekta v operacijskem sistemu MS Windows. Django že vključuje poenostavljen strežnik za razvoj za lokalno testiranje kode, vendar za produkcijske naloge potrebujemo varnejši in močnejši spletni strežnik. Nastavili bomo mod_wsgi za interakcijo z našim projektom in konfigurirali Apache kot prehod v zunanji svet.
Pomembno je omeniti, da bo namestitev in nastavitev potekala v operacijskem sistemu MS Windows 10 z 32-bitno arhitekturo. 32-bitna različica bo delovala tudi na 64-bitni arhitekturi. Če potrebujete 64-bitno namestitev, ponovite iste korake za 64-bitne distribucije programov, postopek bo enak.
Kot Django projekt bomo uporabili program Severcart. Ta je namenjen upravljanju s premiki kartuš, evidentiranju tiskalnih naprav ter pogodbam o dobavi in vzdrževanju. Vsa programska oprema in moduli bodo nameščeni v imenik C:severcart. Lokacija ni odločilna.
Python
Prvi korak je prenos in namestitev Pythona s spletne strani Python. Izberite Windows kot operacijski sistem in 32-bitno različico. Ob pisanju tega članka je trenutna različica 3.9.0rc2.
Ko prenesete namestitveno datoteko, z desno tipko miške kliknite na namestitveno datoteko in izberite 'Zaženi kot skrbnik'. Na zaslonu bi morali videti spodnjo sliko.

Vklopite oba polja 'Install launcher for all users (recommended)' in 'Add Python 3.9 to PATH' ter kliknite na 'Customize installation'.

Vklopite vsa polja, kot je prikazano na zgornji sliki in kliknite 'Install'.

Izberite vsa vhodna polja, kot je prikazano zgoraj, in pritisnite 'Install'.

Da se prepričate, da je bila namestitev uspešna, odprite cmd in vnesite python. Če je bila namestitev uspešna, bi morali videti poziv, podoben tistemu prikazanemu spodaj.

Namestite mod_wsgi.
Prenesite skompilirani paket mod_wsgi s spletne strani.
Modul izvršava funkcije posrednika između servera Apache i Django projekta. Najnoviji paket će imati ime mod_wsgi-4.7.1-cp39-cp39-win32.whl. Imajte na umu da je paket kompajliran za 32-bitnu verziju Windows CPython 3.9. Takođe, treba napomenuti da će očigledna instalacija modula pip install mod_wsgi verovatno završiti greškom, jer će tokom instalacije biti potreban kompajler Visual Studio C++. Smatramo neoptimalnim instalirati ceo kompajler zbog jednog Python paketa na Windowsu.
Instaliramo modul pomoću standardnog paketnog menadžera pip u cmd ili powershell-u:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Preuzimamo distributiv sa sajta .
Najnovija verzija web servera je Apache 2.4.46 win32 VS16. Takođe, za rad programa biće potreban unapred instaliran paket "Visual C++ Redistributable for Visual Studio 2019 x86".
Raspakujemo distributiv Apache-a u direktorijum C:severcartApache24, zatim menjamo red sa brojem 37 na svoj.
Define SRVROOT "C:severcartApache24"
Proveravamo rad Apache-a, izvršavajući u komandnoj liniji
C:severcartApache24bin> httpd.exe
Kao rezultat toga, u pretraživaču treba da vidimo na adresi red "It works!".

Instaliramo Apache servis, za to izvršavamo u komandnoj liniji kao administrator:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Nakon toga povezujemo modul mod_wsgi sa Apache-om. Za to izvršavamo u komandnoj liniji uputstvo
C:Windowssystem32>mod_wsgi-express module-config
Kao rezultat, na standardnom izlazu biće odštampane linije:
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 tamo odštampane linije iznad.
Povezujemo novu konfiguraciju sa glavnim fajlom httpd.conf
Include conf/extra/httpd-wsgi.conf
Čuvamo izmene, ponovo pokrećemo Apache servise
Net stop Apache24
Net start Apache24
PostgreSQL
Instaliramo PostgreSQL preuzet sa sajta . Trenutna verzija proizvoda je 12. Prednosti ruskog distributivnog paketa u odnosu na kanonički predstavljene su na istom sajtu.










Koraci za instalaciju su predstavljeni iznad i ne zahtevaju dodatne komentare. Instalacija je izuzetno jednostavna.
Kreiramo Bazu podataka u postgres-u, gde ć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;

Baza podataka je kreirana. Sada pokrećemo Django projekat.
Instaliramo web aplikaciju
Za to preuzimamo zip arhivu sa sajta. in unpacking to the directory C:severcartapp

We make changes to the main configuration file C:severcartappconfsettings_prod.py to specify the database connection details

The Python dictionary DATABASES contains the connection details for the database. For more setup information, read here
We install the necessary Python packages for the applications to function within the Django project
C:severcartapptkinstaller>python install.py

During the script execution, the database will be initialized with tables, constraints, indexes, and more, and you will be prompted to create a user under which the program will operate.
We connect the Django application to the Apache server by adding to the configuration file
httpd-wsgi.conf the following text
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# for 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
We restart the Apache service and check the application operation

That's all. Thank you for reading.
In the next article, we will create a self-extracting installer archive in InnoSetup for quick deployment of the Django project on the client's computer. For those who want to repeat all the steps on all necessary distributions are uploaded.
Izvor: habr.com
