
W tym artykule przedstawimy szczegółową instrukcję instalacji i konfiguracji programów Apache, Python oraz PostgreSQL, aby zapewnić działanie projektu Django w systemie operacyjnym MS Windows. Django zawiera uproszczony serwer deweloperski do lokalnego testowania kodu, jednak w przypadku zadań związanych z produkcją wymaga się bardziej bezpiecznego i wydajnego serwera internetowego. Skonfigurujemy mod_wsgi do współpracy z naszym projektem i ustalimy Apache jako bramę do świata zewnętrznego.
Należy zauważyć, że instalacja i konfiguracja będą przeprowadzane w systemie MS Windows 10 w wersji 32-bitowej. Ponadto reakcja 32-bitowa będzie uniwersalna i będzie działać na architekturze 64-bitowej. Jeśli potrzebujesz instalacji 64-bitowej, powtórz te same kroki dla 64-bitowych dystrybucji programów, a kolejność działań pozostanie identyczna.
Jako projekt Django użyjemy program Severcart. Służy on do zarządzania przemieszczaniem kartridży, ewidencji sprzętu drukującego oraz umów dostaw i obsługi. Instalacja wszystkich programów i modułów będzie odbywać się w katalogu C:severcart. Lokalizacja nie jest kluczowa.
Python
Pierwszym krokiem jest pobranie i zainstalowanie Pythona ze strony internetowej Pythona. Wybieramy Windows jako system operacyjny oraz wersję 32-bitową. W momencie pisania tego artykułu aktualną wersją jest 3.9.0rc2.
Po pobraniu pliku instalacyjnego kliknij prawym przyciskiem myszy na plik instalacyjny i wybierz „Uruchom jako administrator”. Powinieneś zobaczyć ekran poniżej.

Zaznaczamy checkboxy „Install launcher for all users (recommended)” oraz „Add Python 3.9 to PATH” i klikamy „Customize installation”.

Zaznaczamy optiony „pip”, „py launcher”, „for all users (requires elevation)” i klikamy „Next”.

Wybieramy wszystkie pola wejściowe jak na powyższym obrazku i klikamy „Install”.

Aby upewnić się, że instalacja przebiegła pomyślnie, otwórz cmd i wpisz python. Jeśli instalacja przebiegła pomyślnie, powinieneś zobaczyć zaproszenie podobne do tego poniżej.

Instalujemy mod_wsgi.
Pobieramy skompilowany pakiet z mod_wsgi ze strony.
Moduł działa jako pośrednik między serwerem Apache a projektem Django. Najnowszy pakiet nosi nazwę mod_wsgi-4.7.1-cp39-cp39-win32.whl. Należy pamiętać, że pakiet został skompilowany dla 32-bitowej wersji CPython 3.9 dla Windows. Warto również zauważyć, że oczywista instalacja modułu pip install mod_wsgi najprawdopodobniej zakończy się błędem, ponieważ podczas instalacji wymagany będzie kompilator Visual Studio C++. Instalacja całego kompilatora tylko dla jednego pakietu Pythona na Windows uznawana jest za niepraktyczną.
Instalujemy moduł za pomocą standardowego menedżera pakietów pip w cmd lub powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Pobieramy dystrybucję ze strony .
Najświeższa wersja serwera WWW to Apache 2.4.46 win32 VS16. Aby uruchomić program, potrzebny będzie wcześniej zainstalowany pakiet „Visual C++ Redistributable for Visual Studio 2019 x86”.
Wypakowujemy dystrybucję Apache do katalogu C:severcartApache24, następnie zmieniamy linię numer 37 na swoją
Define SRVROOT "C:/severcart/Apache24"
Sprawdzamy działanie Apache, wykonując w wierszu poleceń
C:/severcart/Apache24/bin> httpd.exe
W wyniku powinniśmy zobaczyć w przeglądarce pod adresem tekst „It works!”.

Instalujemy usługę Apache, w tym celu wykonaj w wierszu poleceń jako Administrator polecenie:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Następnie podłączymy moduł mod_wsgi do Apache. W tym celu w wierszu poleceń wykonaj polecenie
C:Windowssystem32>mod_wsgi-express module-config
W wyniku na standardowe wyjście zostaną wydrukowane linie:
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"
Tworzymy plik C:severcartApache24confextrahttpd-wsgi.conf i kopiujemy tam wydrukowane powyżej linie.
Podłączamy nową konfigurację do głównego pliku httpd.conf
Include conf/extra/httpd-wsgi.conf
Zapisujemy zmiany, uruchamiamy ponownie usługi Apache
Net stop Apache24
Net start Apache24
PostgreSQL
Instalujemy PostgreSQL pobrany ze strony Bieżąca wersja produktu to 12. Zalety rosyjskiego dystrybucji w porównaniu do standardowej są przedstawione na tej samej stronie.










Kroki instalacji zostały przedstawione powyżej i nie wymagają komentarzy. Instalacja jest niezwykle prosta.
Tworzymy bazę danych w postgres, w której będą przechowywane struktury danych 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;

Baza danych została utworzona. Teraz uruchamiamy projekt Django.
Instalujemy aplikację webową
Aby to zrobić, pobieramy archiwum zip ze strony i rozpakowujemy do katalogu C:severcartapp

Wprowadzamy zmiany w głównym pliku konfiguracyjnym C:severcartappconfsettings_prod.py, aby określić dane połączenia z bazą danych

Słownik Python DATABASES zawiera dane połączenia z bazą danych. Szczegóły dotyczące konfiguracji znajdziesz tutaj
Instalujemy pakiety Python potrzebne do działania aplikacji w projekcie Django
C:severcartapptkinstaller>python install.py

W trakcie działania skryptu nastąpi inicjalizacja bazy danych z tabelami, strukturami, indeksami i innymi, a użytkownik zostanie poproszony o utworzenie konta, z którego program będzie korzystał.
Podłączamy aplikację Django do serwera Apache, w tym celu uzupełniamy plik konfiguracyjny
httpd-wsgi.conf następującym tekstem
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# dla Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# dla 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
Restartujemy usługę Apache i sprawdzamy działanie aplikacji

To wszystko. Dziękuję za przeczytanie.
W następnym artykule stworzymy instalacyjny samorozpakowujący się archiwum w InnoSetup dla szybkiego wdrożenia projektu Django na komputerze klienta. Dla tych, którzy chcą powtórzyć wszystkie kroki na wszystkie używane dystrybucje zostały załadowane.
Źródło: habr.com
