Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

En este artículo se presentará una guía detallada para instalar y configurar los programas Apache, Python y PostgreSQL para asegurar el funcionamiento de un proyecto Django en el sistema operativo MS Windows. Django ya incluye un servidor de desarrollo simplificado para pruebas de código locales, pero para tareas relacionadas con producción se requiere un servidor web más seguro y potente. Configuraremos mod_wsgi para interactuar con nuestro proyecto y configuraremos Apache como puerta al mundo exterior.

Cabe destacar que la instalación y configuración se llevará a cabo en el sistema operativo MS Windows 10 de 32 bits. También, la reacción de 32 bits será universal y funcionará en arquitecturas de 64 bits. Si necesita una instalación de 64 bits, repita los mismos pasos para los distribuidores de programas de 64 bits; el orden de acciones será idéntico.

Como proyecto Django utilizaremos el programa Severcart. Está diseñado para gestionar el movimiento de cartuchos, el seguimiento del equipamiento de impresión y los contratos de suministro y mantenimiento. La instalación de todos los programas y módulos se realizará en el directorio C:severcart. La ubicación no es crítica.

Python

El primer paso es descargar e instalar Python desde el sitio web de Python. Seleccionamos Windows como sistema operativo y la versión de 32 bits. En el momento de escribir este artículo, la versión actual es 3.9.0rc2.

Una vez que haya descargado el archivo de instalación, haga clic derecho sobre el archivo y seleccione "Ejecutar como administrador". Debería ver la pantalla a continuación.

Levantando el stack de Django en MS Windows

Marque las casillas "Install launcher for all users (recommended)" y "Add Python 3.9 to PATH" y haga clic en "Customize installation".

Levantando el stack de Django en MS Windows

Marque las casillas "pip", "py launcher", "for all users (requires elevation)" y haga clic en "Next".

Levantando el stack de Django en MS Windows

Seleccione todos los campos de entrada como en la imagen anterior y haga clic en "Install".

Levantando el stack de Django en MS Windows

Para asegurarse de que la instalación fue exitosa, abra cmd y escriba python. Si la instalación fue exitosa, debería ver un aviso similar al siguiente.

Levantando el stack de Django en MS Windows

Instalando mod_wsgi

Descargue el paquete compilado de mod_wsgi desde el sitio
www.lfd.uci.edu/~gohlke/pythonlibsEl módulo actúa como un intermediario entre el servidor Apache y el proyecto Django. El paquete más reciente se llamará mod_wsgi-4.7.1-cp39-cp39-win32.whl. Tenga en cuenta que el paquete está compilado para Windows de 32 bits y la versión de CPython 3.9. También es importante destacar que la instalación del módulo pip install mod_wsgi probablemente resultará en un error, ya que se necesitará un compilador de Visual Studio C++ durante el proceso de instalación. Consideramos que instalar todo el compilador solo por un paquete de Python en Windows no es práctico.

Instalamos el módulo utilizando el gestor de paquetes estándar pip en cmd o powershell:

pip install -U mod_wsgi-4.7.1-cp39-cp39-win32.whl

Levantando el stack de Django en MS Windows

Apache

Descargamos el distribuidor del sitio https://www.apachelounge.com/download/.
La versión más reciente del servidor web es Apache 2.4.46 win32 VS16. Además, para que el programa funcione, se necesitará tener instalado previamente el paquete "Visual C++ Redistributable for Visual Studio 2019 x86".

Descomprimimos el distribuidor de Apache en el directorio C:severcartApache24, luego cambiamos la línea con el número 37 a la nuestra

Define SRVROOT "C:\/severcart\/Apache24"

Verificamos el funcionamiento de Apache, ejecutando en la línea de comandos

C:\/severcart\/Apache24\/bin> httpd.exe

Como resultado, deberíamos ver en el navegador en la dirección 127.0.0.1 la línea "¡Funciona!".

Levantando el stack de Django en MS Windows

Instalamos el servicio de Apache, para ello ejecutamos en la línea de comandos como Administrador la instrucción:

C:severcartApache24bin>httpd.exe -k install -n "Apache24"

A continuación, conectaremos el módulo mod_wsgi a Apache. Para hacerlo, ejecutamos en la línea de comandos la instrucción

C:Windowssystem32>mod_wsgi-express module-config

Como resultado, se imprimirán en la salida estándar las líneas:

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"

Creamos el archivo C:severcartApache24confextrahttpd-wsgi.conf y copiamos ahí las líneas impresas anteriormente.

Conectamos la nueva configuración al archivo principal httpd.conf
Include conf\/extra\/httpd-wsgi.conf

Guardamos los cambios y reiniciamos los servicios de Apache

Net stop Apache24
Net start Apache24

PostgreSQL

Instalamos PostgreSQL descargado del sitio https://postgrespro.ru/windows. La versión actual del producto es 12. Las ventajas de la distribución rusa sobre la canónica están presentes en el mismo sitio.

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Levantando el stack de Django en MS Windows

Las acciones para la instalación están presentadas arriba y no necesitan comentarios. La instalación es extremadamente simple.

Creamos la base de datos en postgres, donde posteriormente se almacenarán las estructuras de datos del proyecto 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;

Levantando el stack de Django en MS Windows

La base de datos ha sido creada. Ahora desplegamos el proyecto Django.

Instalamos la aplicación web

Para ello, descargamos un archivo zip del sitio https://www.severcart.ru/downloads/ y descomprimimos en el directorio C:severcartapp

Levantando el stack de Django en MS Windows

Realizamos cambios en el archivo de configuración principal C:severcartappconfsettings_prod.py para especificar las credenciales de conexión a la base de datos

Levantando el stack de Django en MS Windows

El diccionario de Python DATABASES contiene las credenciales de conexión a la base de datos. Para más detalles sobre la configuración, lea aquí https://docs.djangoproject.com/en/3.1/ref/databases/#connecting-to-the-database

Instalamos paquetes de Python necesarios para el funcionamiento de las aplicaciones dentro del proyecto Django

C:severcartapptkinstaller>python install.py

Levantando el stack de Django en MS Windows

Durante la ejecución del script se inicializarán las tablas de la base de datos, los constraints, los índices y otros elementos, y se solicitará crear un usuario con el que se trabajará en el programa.

Conectamos la aplicación Django al servidor Apache, para lo cual añadimos al archivo de configuración
httpd-wsgi.conf el siguiente 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 el servicio de Apache y comprobamos el funcionamiento de la aplicación

Levantando el stack de Django en MS Windows

Eso es todo. Gracias por leer.

En el próximo artículo, crearemos un instalador autoextraíble en InnoSetup para un rápido despliegue del proyecto Django en el equipo del cliente. Para quienes deseen repetir todos los pasos en Yandex.Disk se han subido todos los distribuibles utilizados.

Fuente: habr.com

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster