
Neste artigo, apresentaremos um guia detalhado sobre a instalação e configuração dos programas Apache, Python e PostgreSQL para garantir o funcionamento de um projeto Django no sistema operacional MS Windows. O Django já inclui um servidor de desenvolvimento simplificado para testes locais de código, mas para tarefas relacionadas a produção, é necessário um servidor web mais seguro e poderoso. Vamos configurar o mod_wsgi para interagir com nosso projeto e configuraremos o Apache como um gateway para o mundo exterior.
Vale destacar que a instalação e configuração serão realizadas no sistema operacional MS Windows 10 de 32 bits. Além disso, a versão de 32 bits será universal e funcionará em arquiteturas de 64 bits. Se você precisar de uma instalação de 64 bits, repita as mesmas etapas para os pacotes de 64 bits, a sequência de ações será idêntica.
Como projeto Django, usaremos o programa Severcart. Ele é destinado à gestão do movimento de cartuchos, controle de equipamentos de impressão e contratos de fornecimento e manutenção. A instalação de todos os programas e módulos será feita no diretório C:severcart. A localização não é fundamental.
Python
O primeiro passo é baixar e instalar o Python do site oficial. Selecione Windows como sistema operacional e a versão de 32 bits. No momento da redação deste artigo, a versão atual é 3.9.0rc2.
Após baixar o arquivo de instalação, clique com o botão direito no arquivo e selecione ‘Executar como administrador’. Você deverá ver a tela abaixo.

Marque as caixas ‘Install launcher for all users (recomended)’ e ‘Add Python 3.9 to PATH’ e clique em ‘Customize installation’.

Marque as caixas ‘pip’, ‘py launcher’, ‘for all users (requires elevation)’ e clique em ‘Next’.

Selecione todos os campos de entrada como na imagem acima e clique em ‘Install’.

Para verificar se a instalação foi bem-sucedida, abra o cmd e digite python. Se a instalação foi bem-sucedida, você deverá ver um prompt semelhante ao mostrado abaixo.

Instalando mod_wsgi
Baixe o pacote compilado do mod_wsgi no site
O módulo atua como intermediário entre o servidor Apache e o projeto Django. O pacote mais recente será nomeado mod_wsgi-4.7.1-cp39-cp39-win32.whl. Observe que o pacote foi compilado para Windows CPython de 32 bits com a versão 3.9. Também é importante notar que a instalação do módulo via pip install mod_wsgi provavelmente resultará em erro, pois será necessário um compilador Visual Studio C++ durante o processo de instalação. Consideramos desnecessário instalar o compilador apenas para um pacote Python no Windows.
Instalamos o módulo usando o gerenciador de pacotes padrão pip no cmd ou powershell:
pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Apache
Baixamos o distribuidor do site .
A versão mais recente do servidor web é Apache 2.4.46 win32 VS16. Também será necessário ter previamente instalado o pacote "Visual C++ Redistributable for Visual Studio 2019 x86" para que o programa funcione.
Descompactamos o distribuidor do Apache no diretório C:severcartApache24, em seguida, alteramos a linha número 37 para o nosso próprio.
Defina SRVROOT "C:/severcart/Apache24"
Verificamos o funcionamento do Apache, executando no prompt de comando.
C:/severcart/Apache24/bin> httpd.exe
Como resultado, devemos ver no navegador no endereço a linha "It works!".

Instalamos o serviço Apache, para isso executamos no prompt de comando como Administrador o seguinte comando:
C:severcartApache24bin>httpd.exe -k install -n "Apache24"
Em seguida, conectaremos o módulo mod_wsgi ao Apache. Para isso, executamos no prompt de comando o comando
C:Windowssystem32>mod_wsgi-express module-config
Como resultado, as seguintes linhas serão impressas na saída padrão:
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"
Criamos o arquivo C:severcartApache24confextrahttpd-wsgi.conf e colamos as linhas impressas acima.
Conectamos a nova configuração ao arquivo principal httpd.conf
Include conf/extra/httpd-wsgi.conf
Salvamos as alterações e reiniciamos os serviços do Apache.
Net stop Apache24
Net start Apache24
PostgreSQL
Instalamos o PostgreSQL obtido do site . A versão atual do produto é 12. As vantagens da distribuição russa em relação à canônica estão apresentadas no mesmo site.










As ações para a instalação estão apresentadas acima e não precisam de comentários. A instalação é extremamente simples.
Criamos um banco de dados no postgres, onde mais tarde serão armazenadas as estruturas de dados do projeto 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;

O banco de dados foi criado. Agora vamos implantar o projeto Django.
Instalamos o aplicativo web.
Para isso, baixamos o arquivo zip do site. e descompactamos no diretório C:severcartapp

Fazemos alterações no arquivo de configuração principal C:severcartappconfsettings_prod.py para indicar as credenciais de conexão com o banco de dados

O dicionário DATABASES do Python contém as credenciais de conexão com o banco de dados. Detalhes sobre a configuração podem ser lidos aqui
Instalamos pacotes Python necessários para o funcionamento das aplicações dentro do projeto Django
C:severcartapptkinstaller>python install.py

Durante a execução do script, a inicialização do banco de dados será realizada com tabelas, constraints, índices e outros elementos, sendo solicitado a criação de um usuário, que será utilizado para operar o programa.
Conectamos a aplicação Django ao servidor Apache, para isso, complementamos o arquivo de configuração
httpd-wsgi.conf com o seguinte texto
Alias /static "c:/severcart/app/static"
Alias /media "c:/severcart/app/media"
# para Apache 2.4
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
# para 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
Reiniciamos o serviço Apache e verificamos o funcionamento da aplicação

Isso é tudo. Obrigado por ler.
No próximo artigo, vamos criar um instalador autoextraível em InnoSetup para a implantação rápida do projeto Django no computador do cliente. Para aqueles que desejam repetir todas as etapas em todos os pacotes utilizados foram carregados.
Fonte: habr.com
