¿Cómo instalar Django en Plesk?

Blog / ¿Cómo instalar Django en Ples… /
¿Cómo instalar Django en Plesk?

Por: Leonardo Narváez.

En: 28 de Marzo de 2024 a las 15:36
django linux Plesk server

Preparando el Servidor

Conéctese al servidor vía SSH y aplique los pasos según la distribución de Linux instalada en este caso usaremos la distribución de Ubuntu y Debian:

Ubuntu y Debian

1.- Instale Python 3:

apt install python3 python-is-python3

2.- Descargue e instale el administrador de paquetes de Python desde el sitio web oficial:

wget https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py

3.- Instale el paquete virtualenv para Python para separar el entorno de la aplicación:

python3 -m pip install virtualenv

4.- Instale Phusion Passenger, que se utilizará para ejecutar la aplicación:

plesk installer --select-release-current --install-component passenger

5.- Iniciar sesión en Plesk

6.- Habilite el módulo de passenger en Herramientas y configuración > Servidor web Apache (en caso de que Apache deba servir la aplicación)

7.- Cree un nuevo plan de servicio en Planes de servicio para preconfigurar el servidor web

8.- Establezca la siguiente configuración en la pestaña Servidor web :

Para que Apache atienda la aplicación:

  • Habilite el modo Proxy , si está presente
  • Configure las siguientes directivas adicionales de Apache (para HTTP y HTTPS) para habilitar el procesamiento:
PassengerEnabled On

Para que nginx proporcione la aplicación:

  • Deshabilitar el modo proxy
  • Configure las siguientes directivas nginx adicionales para habilitar el procesamiento:
passenger_enabled on;
passenger_app_type wsgi;
passenger_startup_file passenger_wsgi.py;

9.- Establezca la siguiente configuración en la pestaña Parámetros de alojamiento :

Habilite el acceso SSH al shell del servidor bajo el usuario del sistema de la suscripción. Establecer shell en /bin/bash.

10.- Guarde el plan de servicio y utilícelo en suscripciones que deberían tener aplicaciones Python instaladas.

Implementar la aplicación

1.-- Conéctese al servidor a través de SSH como usuario del sistema de la suscripción (esto se puede encontrar en Suscripciones > ejemplo.com > Usuario del sistema) y navegue hasta la raíz del documento.

$ ssh ejemplo@ejemplo.com
$ cd ~/httpdocs/

2.- Mueva los archivos existentes al directorio de respaldo en la suscripción, para que no se procesen en lugar de la aplicación:

$ mkdir ~/backup
$ mv ~/httpdocs/* ~/backup/

3.- Cree un nuevo entorno virtual para la aplicación Django:

 python3 -m virtualenv -p python3 python-app-venv

4.- Ingrese al entorno virtual:

$ source ./python-app-venv/bin/activate

5.- Instale el framework Django y verifique si se puede importar:

(python-app-venv) $ pip install Django
(python-app-venv) $ python -c "import django;print(django.get_version())"

6.- Crea un passenger_wsgi.pyarchivo usando vi :

(python-app-venv) $ vi ~/httpdocs/passenger_wsgi.py

Agregue el siguiente contenido:

import sys, os
ApplicationDirectory = 'djangoProject'
ApplicationName = 'djangoProject'
VirtualEnvDirectory = 'python-app-venv'
VirtualEnv = os.path.join(os.getcwd(), VirtualEnvDirectory, 'bin', 'python')
if sys.executable != VirtualEnv: os.execl(VirtualEnv, VirtualEnv, *sys.argv)
sys.path.insert(0, os.path.join(os.getcwd(), ApplicationDirectory))
sys.path.insert(0, os.path.join(os.getcwd(), ApplicationDirectory, ApplicationName))
sys.path.insert(0, os.path.join(os.getcwd(), VirtualEnvDirectory, 'bin'))
os.chdir(os.path.join(os.getcwd(), ApplicationDirectory))
os.environ.setdefault('DJANGO_SETTINGS_MODULE', ApplicationName + '.settings')
from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

Nota: Este archivo describe a Passenger y WSGI cómo iniciar y ejecutar correctamente la aplicación. Aquí se utiliza djangoProject como nombre del proyecto. Debe modificarse al nombre real del proyecto.

7.- Cree la apliacación:

  • Crea el proyecto Django predeterminado:
(python-app-venv) $ django-admin startproject djangoProject
  • Edite la configuración del proyecto para permitir atender solicitudes desde cualquier host:
(python-app-venv) $ sed -i "s/ALLOWED_HOSTS = \[\]/ALLOWED_HOSTS = ['*']/" djangoProject/djangoProject/settings.py
  • Cree un tmpdirectorio para Passenger y un archivo restart.txten él:
(python-app-venv) $ mkdir tmp
(python-app-venv) $ touch tmp/restart.txt

Nota: La aplicación de caché de passenger permite respuestas más rápidas. Para aplicar los cambios realizados en el código, se debe crear este archivo: Reiniciando aplicaciones: restart.txt

8.- Iniciar sesión en Plesk

9.- Navegue a Dominios > ejemplo.com > Configuración de alojamiento y establezca la raíz del documento en httpdocs/djangoProject

Nota: Si la aplicación muestra el error 403, revise que las directivas adicionales de Apache y Nginx del dominio se apliquen desde el Plan de servicio. Si no existen en el dominio, cópielos del Plan de Servicio y aplíquelos directamente en Dominio > ejemplo.com > Directivas adicionales de Apache y Nginx.


Compartir:

Ver más

Dibuja un Girasol Amarillo con Python y Turtle
5279 Tutoriales
Aprende a destacar en GitHub: Cómo escribir un README que impresione a tod…
610 Tutoriales
¿Cómo consumir una API de preguntas y respuestas?
484 Tutoriales

author-como-instalar-django-en-plesk
Leonardo Narváez

Desarrollador de software apasionado y creativo con experiencia en diversos lenguajes y tecnologías. Especializado en la creación de soluciones innovadoras y eficientes, como aplicaciones web y móviles, sitios web interactivos y soluciones personalizadas.

Artículos