🐍 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.pyconfigurado correctamente; -
Un archivo
requirements.txtcon las dependencias de la aplicación; -
El archivo
settings.pycon el parámetroALLOWED_HOSTScompletado.
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.

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.

📦 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:

🔓 Despliegue vía Repositorio Público
- Acceda al menú de despliegue y elija la opción Git/SVN:

- Haga clic en Agregar nuevo repositorio:

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

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

🔐 Despliegue vía Repositorio Privado
- Genere un Personal Access Token en GitHub:
-
Acceda a: Settings > Developer settings > Personal access tokens
-
Cree un token con permiso
repo


-
En el panel de SaveinCloud, acceda nuevamente al menú de despliegue y seleccione Git/SVN.
-
Complete los datos del repositorio:
-
Marque la opción Usar autenticación
-
Ingrese el usuario y el token generado

Parte 2 - Configuración del Proyecto Django
⚙️ Paso 3 – Configurando el Entorno
settings.py – Actualizando el ALLOWED_HOSTS:
ALLOWED_HOSTS = ['*']

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/"

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

🐍 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

⚠️ 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.

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