Saltar al contenido principal

🐍 Configurando Apache con Python Django (WSGI) en SaveinCloud

⚠️ Todas las configuraciones mostradas en este manual son ejemplos simples e hipotéticos. Puede ser necesario realizar adaptaciones según la topología de su entorno.

Esta guía muestra cómo realizar el despliegue de una aplicación Django utilizando Apache con WSGI dentro de la plataforma SaveinCloud.


✅ Requisitos recomendados

Antes de iniciar el despliegue, asegúrese de que el proyecto contenga:

  • Un archivo wsgi.py configurado correctamente;

  • Un archivo requirements.txt con las dependencias de la aplicación;

  • El archivo settings.py con el parámetro ALLOWED_HOSTS completado.


Parte 1 - Configurando Apache Python en la Topología

🔧 Paso 1 – Montaje de la Topología

Agregue a la capa de aplicación el Apache Python. Ajuste los cloudlets reservados y el límite de escalabilidad según la necesidad de su proyecto y aplique el cambio.

imagem

Opcional: Agregue un NGINX como Load Balancer y/o una base de datos (ej: MariaDB, MySQL).

Si utiliza NGINX, siga la documentación específica.

imagem


📦 Paso 2 – Métodos de Despliegue de la Aplicación

SaveinCloud ofrece los siguientes métodos de despliegue:

  • Archivo local (.zip, .tar, etc.)

  • URL externa

  • Repositorios Git/SVN

En esta guía, utilizaremos el método vía Git.

Seleccione el nodo Apache Python para iniciar el despliegue:

imagem


🔓 Despliegue vía Repositorio Público

  1. Acceda al menú de despliegue y elija la opción Git/SVN:

imagem

  1. Haga clic en Agregar nuevo repositorio:

imagem

  1. Después de configurar, siga el progreso del despliegue:

imagem

  1. Cuando finalice con éxito, se mostrará el siguiente mensaje:

imagem


🔐 Despliegue vía Repositorio Privado

  1. Genere un Personal Access Token en GitHub:
  • Acceda a: Settings > Developer settings > Personal access tokens

  • Cree un token con permiso repo

imagem

imagem

  1. En el panel de SaveinCloud, acceda nuevamente al menú de despliegue y seleccione Git/SVN.

  2. Complete los datos del repositorio:

  • Marque la opción Usar autenticación

  • Ingrese el usuario y el token generado

imagem


Parte 2 - Configuración del Proyecto Django

⚙️ Paso 3 – Configurando el Entorno

settings.py – Actualizando el ALLOWED_HOSTS:


ALLOWED_HOSTS = ['*']

imagem


wsgi.conf – Configurando el WSGI (Apache):

Edite el archivo wsgi.conf en la plataforma:


WSGIDaemonProcess apache user=apache group=apache processes=2 threads=10 python-path="/var/www/webroot/ROOT" python-home="/var/www/webroot/ROOT/venv"



ServerRoot "/var/www/webroot/ROOT/"

DocumentRoot "/var/www/webroot/ROOT/"

imagem


Variable WSGI_SCRIPT – Definiendo ruta del wsgi.py

Acceda a la pestaña Variables de la plataforma y configure:


WSGI_SCRIPT=/var/www/webroot/ROOT/seu_app/wsgi.py

imagem


🐍 Paso 4 – Creando y Activando la Virtualenv

Abra el WebSSH:


cd /var/www/webroot/ROOT

python -m venv venv

source venv/bin/activate

pip install -r requirements.txt

deactivate

imagem

⚠️ Versiones de Django superiores a 5.0 no son compatibles con SQLite.


🔎 Paso 5 – Probando la Aplicación

Reinicie el entorno y acceda a la URL pública para probar.

imagem

Si todo está correcto, su aplicación Django estará accesible.


📘 Documentación complementaria:


🛠️ Solución de Problemas

❌ 1. Error: OperationalError: no such table: ...

Causa: Migraciones no aplicadas.

Solución:


python manage.py makemigrations

python manage.py migrate


❌ 2. Error: ModuleNotFoundError: No module named 'django'

Causa: venv desactivada o Django no instalado.

Solución:


source venv/bin/activate

pip install django


❌ 3. Aplicación no carga después del reinicio

Causa común: Ruta incorrecta del WSGI_SCRIPT o error en el wsgi.conf.

Verifique:

  • python-path, python-home

  • ServerRoot, DocumentRoot

  • Ruta del wsgi.py