У цій статті буде представлена докладна інструкція щодо встановлення та налаштування програм Apache, Python та PostgreSQL для забезпечення роботи Django проекту в ОС MS Windows. Django вже включає спрощений сервер розробки для локального тестування коду, але для завдань, пов'язаних з продакшен, потрібно більш безпечний і потужний веб-сервер. Ми налаштуємо mod_wsgi для взаємодії з нашим проектом та налаштуємо Apache як шлюз у зовнішній світ.
Варто відзначити, що встановлення та налаштування буде проводитися в ОС MS Windows 10 з 32-розрядністю. Також 32 бітна реакція буде універсальною і працюватиме на 64 бітній архітектурі. Якщо вам потрібна 64 бітна установка, повторіть ті ж дії для 64 бітних дистрибутивів програм, послідовність дій буде ідентична.
Як Django проекту використовуватимемо програму Severcart. Вона призначена для управління переміщеннями картриджів, обліку друкувального обладнання та договорів постачання та обслуговування. Установка всіх програм та модулів буде проводитись у каталог C:severcart. Розташування не є принциповим.
Python
Першим кроком є завантаження та встановлення Python із веб-сайту Python. Вибираємо Windows як операційну систему і 32-бітну версію. На момент написання статті поточною версією 3.9.0rc2.
Завантаживши файл інсталяції, клацніть правою кнопкою миші файл інсталяції та виберіть пункт «Запуск від імені адміністратора». Ви повинні побачити екран нижче
Встановлюємо галочки навпроти чекбоксів Install launcher for add user (recomended) і Add Python 3.9 to PATH і натискаємо на Customize installation.
Встановлюємо галочки проти "pip", "py launcher", "for all users (requires elevation)" і натискаємо "Next".
Вибираємо всі поля введення як на зображенні вище і натискаємо на «Install».
Щоб переконатися, що інсталяція пройшла успішно, відкрийте cmd і введіть python. Якщо установка пройшла успішно, ви повинні побачити запрошення, подібне до наведеного нижче
Встановлюємо mod_wsgi
Завантажуємо скомпільований пакет із mod_wsgi з сайту
Встановлюємо модуль за допомогою стандартного пакетного менеджера pip у cmd або powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl
Apache
Завантажуємо дистрибутив із сайту
Найсвіжіша версія Web-сервера є Apache 2.4.46 win32 VS16. Також для роботи програми знадобиться заздалегідь встановлений пакет Visual C++ Redistributable for Visual Studio 2019 x86.
Розпаковуємо дистрибутив Apache до каталогу C:severcartApache24, далі змінюємо рядок з номером 37 на свій
Define SRVROOT "C:/severcart/Apache24"
Перевіряємо роботу Apache, виконавши у командному рядку
C:/severcart/Apache24/bin> httpd.exe
В результаті повинні побачити у браузері за адресою
Встановлюємо службу Apache, для цього виконаємо у командному рядку від імені Адміністратора інструкцію:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Далі підключимо модуль mod_wsgi до Apache. Для цього виконаємо в командному рядку інструкцію
C:Windowssystem32>mod_wsgi-express module-config
У результаті стандартний висновок буде роздруковано рядки:
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"
Створюємо файл C:severcartApache24confextrahttpd-wsgi.conf і копіпасти туди роздруковані рядки вище.
Підключаємо нову конфігурацію до основного файлу httpd.conf
Include conf/extra/httpd-wsgi.conf
Зберігаємо зміни, перезавантажуємо служби Apache
Net stop Apache24
Net start Apache24
PostgreSQL
Встановлюємо PostgreSQL взятий із сайту
Дії зі встановлення представлені вище та коментарі не потребують. Установка дуже проста.
Створюємо БД у postgres, де потім зберігатимуться структури даних 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;
БД створено. Тепер розгортаємо проект Django.
Встановлюємо web додаток
Для цього завантажуємо zip архів із сайту
Вносимо зміни до головного конфігураційного файлу C:severcartappconfsettings_prod.py для вказівки реквізитів підключення до БД
Python словник DATABASES містить у собі реквізити підключення до БД. Подробиці з налаштування читайте тут
Встановлюємо Python пакети значущостей для роботи програм всередині Django проекту
C:severcartapptkinstaller>python install.py
У процесі роботи скрипта буде проведена ініціалізація БД таблицями, констрейтами, індексами та іншим, а буде запропоновано створити користувача, від імені якого проводитиметься робота в програмі.
Підключаємо Django додаток до сервера Apache для цього доповнюємо файл конфігурації
httpd-wsgi.conf наступним текстом
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
<Directory "c:/severcart/app/static">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory "c:/severcart/app/media">
# for Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
WSGIScriptAlias / "c:/severcart/app/conf/wsgi_prod.py"
WSGIPythonPath "c:/severcart/python/"
<Directory "c:/severcart/app/conf/">
<Files wsgi_prod.py>
Require all granted
</Files>
</Directory>
Перезавантажуємо службу Apache та перевіряємо роботу програми
На цьому все. Дякую що дочитали.
У наступній статті будемо створювати інсталяційний архів, що саморозпаковується в InnoSetup для швидкого розгортання Django проекту на комп'ютері замовника. Для тих хто хоче повторити всі дії на
Джерело: habr.com