
V tomto článku bude představena podrobná příručka k instalaci a nastavení programů Apache, Python a PostgreSQL pro zajištění fungování Django projektu na operačním systému MS Windows. Django již obsahuje zjednodušený vývojový server pro lokální testování kódu, ale pro produkční úkoly je potřeba bezpečnější a výkonnější webový server. Nastavíme mod_wsgi pro interakci s naším projektem a nastavíme Apache jako bránu do vnějšího světa.
Je dobré poznamenat, že instalace a nastavení budou prováděny na operačním systému MS Windows 10 s 32bitovou architekturou. Také 32bitová verze bude univerzální a bude fungovat na 64bitové architektuře. Pokud potřebujete 64bitovou instalaci, opakujte stejné kroky pro 64bitové distribuce programů, postup bude identický.
Jako Django projekt použijeme program Severcart. Ten je určen k řízení pohybů cartridge, evidenci tiskových zařízení a smlouvám o dodávkách a údržbě. Instalace všech programů a modulů bude provedena v adresáři C:severcart. Umístění není zásadní.
CouchDB
Prvním krokem je stažení a instalace Pythonu z webových stránek Python. Vyberte Windows jako operační systém a 32bitovou verzi. V době psaní článku je aktuální verzí 3.9.0rc2.
Po stažení instalačního souboru klikněte pravým tlačítkem myši na instalační soubor a vyberte „Spustit jako správce“. Měli byste vidět obrazovku níže.

Zaškrtněte boxy „Install launcher for all users (recommended)“ a „Add Python 3.9 to PATH“ a klikněte na „Customize installation“.

Zaškrtněte boxy „pip“, „py launcher“, „for all users (requires elevation)“ a klikněte na „Next“.

Vyberte všechna pole jako na obrázku výše a klikněte na „Install“.

Abychom se ujistili, že instalace proběhla úspěšně, otevřete cmd a zadejte python. Pokud instalace proběhla úspěšně, měli byste vidět výzvu podobnou té níže.

Instalujeme mod_wsgi
Stáhněte zkompilovaný balíček s mod_wsgi z webu
. Modul slouží jako prostředník mezi serverem Apache a projektem Django. Nejsvěžejší balíček ponese název mod_wsgi-4.7.1-cp39-cp39-win32.whl. Všimněte si, že balíček je zkompilován pro 32bitovou Windows CPython verzi 3.9. Také stojí za zmínku, že zřejmá instalace modulu pip install mod_wsgi pravděpodobně skončí chybou, protože během instalace bude potřebný kompilátor Visual Studio C++. Považujeme za neefektivní instalovat kompilátor celé z důvodu jednoho Python balíčku na Windows.
Instalujeme modul pomocí standardního balíčkového manažera pip v cmd nebo powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Stahujeme distribuci z webu .
Nejsvěžejší verze webového serveru je Apache 2.4.46 win32 VS16. K práci této aplikace bude rovněž potřeba mít předem nainstalovaný balíček „Visual C++ Redistributable for Visual Studio 2019 x86“.
Rozbalíme distribuci Apache do adresáře C:severcartApache24, poté změníme řádek s číslem 37 na svůj
Define SRVROOT "C: /severcart /Apache24"
Ověřujeme funkčnost Apache pomocí příkazu v příkazovém řádku
C: /severcart /Apache24 /bin> httpd.exe
Měli bychom vidět ve svém prohlížeči na adrese řetězec „It works!“.

Instalujeme službu Apache, k tomu provedeme v příkazovém řádku s oprávněním správce následující příkaz:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Dále připojíme modul mod_wsgi k Apachi. K tomu vykonáme v příkazovém řádku příkaz
C:Windowssystem32>mod_wsgi-express module-config
Výsledkem bude vytištěna následující řádka:
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"
Vytvoříme soubor C:severcartApache24confextrahttpd-wsgi.conf a zkopírujeme tam vytištěné řádky výše.
Připojujeme novou konfiguraci k hlavnímu souboru httpd.conf
Include conf /extra /httpd-wsgi.conf
Uložíme změny a restartujeme služby Apache
Net stop Apache24
Net start Apache24
PostgreSQL
Instalujeme PostgreSQL stažené z webu . Aktuální verze produktu je 12. Výhody ruské distribuce oproti kanonické jsou uvedeny na stejném webu.










Postup instalace je uveden výše a nepotřebuje další komentáře. Instalace je velmi jednoduchá.
Vytvoříme databázi v postgres, kde budou později ukládány struktury dat projektu 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;

Databáze byla vytvořena. Nyní rozvíříme projekt Django.
Instalujeme webovou aplikaci
K tomu stáhneme zip archiv z webu a rozbalíme do katalogu C:severcartapp

Provedeme změny v hlavním konfiguračním souboru C:severcartappconfsettings_prod.py pro zadání údajů pro připojení k databázi

Python slovník DATABASES obsahuje údaje pro připojení k databázi. Podrobnosti o nastavení najdete zde
Nainstalujeme Python balíčky potřebné pro provoz aplikací uvnitř projektu Django
C:severcartapptkinstaller>python install.py

Během provozu skriptu dojde k inicializaci databáze pomocí tabulek, konstrukcí, indexů a dalších, a bude nabídnuto vytvoření uživatele, pod kterým bude probíhat práce v programu.
Připojíme Django aplikaci k serveru Apache, k tomu doplníme konfigurační soubor
httpd-wsgi.conf následujícím textem
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# pro Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# pro 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
Restartujeme službu Apache a kontrolujeme funkčnost aplikace

To je vše. Děkujeme, že jste dočetli.
V příštím článku vytvoříme instalační samorozbalovací archiv v InnoSetup pro rychlou distribuci projektu Django na počítači zákazníka. Pro ty, kteří chtějí zopakovat všechny kroky na jsou nahrány všechny používané distributivy.
Zdroj: habr.com
