
Hola mundo, y bienvenidos a este articulo en este vamos a ver los pasos necesarios para dejar funcionando las aplicaciones que construyamos, en este caso se trata de una aplicación programada con el lenguaje Python y usamos los servicios de Hostinguer para desplegarla a Internet.
Este es parte de un tutorial más extenso con todo el proceso, te dejaremos el enlace a ¿Cómo desplegar tus apps de Python con Hostinger y GitHub Actions?, si te interesa ver el proceso, paso por paso.
Para lo que haremos a continuación, es tener todo listo en un repositorio de GitHub:
Creando el repositorio de nuestro proyecto con Git y GitHub
Lo siguiente será que tengas instalado a Git, para este te podemos recomendar nuestro curso gratuito de Git en el que aprenderás a utilizarlo, ya que aquí solo veremos la secuencia de comandos para poder lograr nuestro objetivo, en el que conocerás sobre la instalación y uso de esta herramienta e igualmente del uso de GitHub, en la que deberás crearte una cuenta.
Lo que haremos a continuación es crear un nuevo repositorio, haciendo clic en el botón que dice «New» como se ve en la siguiente imagen.

Enseguida vamos a crear el repositorio, forzosamente le deberemos colocar un nombre, las siguientes opciones, las dejaremos por defecto y podremos dar clic en el botón «Create repository«

Al finalizar el proceso, verás una pantalla parecida a esta:

Ahora regresaremos a la terminal de comandos y estando ubicados en la carpeta de nuestro proyecto.
Obtener listado de módulos
Vamos a utilizar el siguiente comando para obtener el listado de los módulos necesarios para que nuestra aplicación funcione. Si estás usando un ambiente virtual actívalo y enseguida, para terminales de MacOS o una que use los comandos de Linux, el comando será el siguiente:
pip3 freeze > requirements.txt
Pero si usas una que use los comandos Windows como la CMD o la PowerShell el comando será el siguiente:
pip freeze > requirements.txt
El resultado del archivo requirements.txt será algo como esto:

Y ahora hay que hacer un par de cambios a nuestro proyecto para no tener problemas cuando esté en desplegado en Internet. En el archivo productly/settings.py, vamos a cambiar un par de línea, vamos a dirigirnos a aproximadamente la línea 35, en la cual tenemos las variables DEBUG y ALLOWED_HOST, deberemos asegurarnos de que estén así:
DEBUG = False
ALLOWED_HOST = ['*']
Regresaremos a nuestra terminal y utilizaremos los siguientes comandos, el primero para inicializar nuestro repositorio en nuestro local:
git init
Ahora agregaremos nuestros archivos con el comando:
git add .
Después haremos commit de nuestros archivos, guardándolos en una nueva versión de nuestro proyecto
git commit -m "primer commit"
Crearemos la rama main con el comando:
git branch -M main
Ahora podremos copiar la siguiente línea de la página de GitHub, la cual incluirá el enlace del de tu repositorio de GitHub a nuestro local , para así poder subir los cambios.

El comando en cuestión es:
git remote add origin <tu repositorio>
Configurar permisos de GitHub a nuestro local
Si intentamos subir los cambios al repositorio, si no has configurado el acceso con llaves SSH tendrás el problema que no te permitirá por falta de permisos en el repositorio, por lo que tenemos que configurar las llaves SSH.
Para hacer este proceso necesitaremos crear en nuestra computadora una llave pública y una llave privada, estas nos servirán para darle acceso en GitHub a que podamos hacer cambios en el repositorio.
Para este paso tambien tenemos un articulo para configurar nuestras llaves SSH para tener los permisos para hacer cambios tanto en el repositorio como en el servidor: ¿Cómo agregar llaves SSH a un repositorio para hacer deploy? y ¿Como configurar un certificado SSL para tu servidor?
Clonando y configurando el repositorio en el servidor
Ahora que tenemos los permisos necesarios, vamos a poder subir nuestros cambios y configurar nuestra aplicación de la siguiente manera.
Tenemos que ingresar a donde se encuentra el proyecto de prueba predeterminado de Django en nuestro servidor, para esto dentro de nuestra terminal, estando dentro del servidor, utilizaremos el comando:
cd /usr/local/lsws/Example/html
Vamos a ver todas las carpetas dentro de esta con el comando:
ls
Y vamos a ver algo similar a esto, en el que la carpeta demo, incluye ese proyecto de Django predeterminado:

Vamos a ir de nuevo a nuestro repositorio en GitHub y en el botón verde que dice Code, vamos a seleccionar la opción para clonar con SSH y vamos a copiar la dirección que está debajo.-

Ahora, de nuevo en la terminal, vamos a utilizar el siguiente comando:
git clone <la dirección de tu proyecto que copiamos en el paso anterior>
Tendremos que autorizar que se conecte a GitHub, presionaremos la tecla y seguido de enter y con esto comenzará a descargar el proyecto a nuestro servidor, tendríamos que ver una pantalla parecida a esta.

Ahora verificaremos que nuestra carpeta haya sido traída con éxito, de nuevo usaremos el comando:
ls
Y tendríamos que ver nuestra carpeta:

Ahora vamos a habilitar el puerto que usa nuestra aplicación de Django con el siguiente comando
ufw allow 7080
Lo siguiente será obtener nuestra contraseña de administrador, lo haremos con el comando:
cat /root/.litespped_password
Vamos a copiar la contraseña y abriremos una nueva pestaña en el navegador web

Vamos a buscar nuestra web, es decir, la dirección de nuestro dominio, y vamos a agregarle el puerto 7080, como ejemplo de nuestro ejercicio, hemos ingresado a la dirección nicolas-schurman.xyz:7080 y no te preocupes si ves la siguiente pantalla, es normal al tratar de ingresar de esta manera, pero tienes que presionar clic en ver avanzado y después clic en proceder a visitar el sitio.

Vas a ver la siguiente pantalla, vamos a ingresar el usuario que es «admin» y la contraseña que copiamos en el paso anterior

Ahora que hemos ingresado, vamos a la opción «Virtual Hosts«

Verás una pantalla como esta, y ahora vamos a hacer clic en «Example«,

Y luego vamos a hacer clic en la pestaña de «Context» y luego, en donde dice «AppServer«, vamos a presionar en el icono de editar dentro de la columna de «Actions«

Ahora en esta página vamos a bajar un poco para ver las opciones, y veremos que en Location, Startup File, y Environment, esta la referencia de la dirección a Demo, la aplicación predeterminada de Django, pero la cambiaremos por el nombre de nuestra app, para nuestro ejemplo es productly, quedando esta parte de la siguiente manera:


Vamos a regresar a nuestra terminal, donde nos quedamos y vamos a usar él, siguiente comando:
cd productly
Y ahora vamos a encender nuestro ambiente virtual.
source /usr/local/lsws/Example/html/bin/activate
Verás que en la terminal aparece un (HTML) antes de nuestra ruta, como la siguiente.

Ahora sí, procederemos a instalar los módulos que habíamos obtenido previamente en el archivo requirements.txt
pip install -r requirements.txt
Una vez que se terminen de instalar las dependencias, vamos a hacer un reinicio haciendo clic en el siguiente icono en la página de la pestaña «Context«

Si ingresas a tu dominio sin el puerto, deberías de ver el proyecto funcionando.

Pero si no funcionó tendremos que reiniciar el servidor en la página de hostinger, en nuestros servidores vamos a hacer clic en el botón «Manage»:

Y luego, en la pestaña de overview, vamos a bajar y encontraremos la opción «Reboot VPS«.

Con esto tenemos lista nuestra app, pero si quieres saber cómo hacer el proceso de actualización cuando realices cambios te dejaremos el siguiente artículos: ¿Cómo hacer el deploy en un servidor de manera manual y automática con GitHub Actions?, y el tutorial completo para hacer el paso por paso: ¿Cómo desplegar tus apps de Python con Hostinger y GitHub Actions?
Y si quieres adquirir un plan anual de Hostinger, no olvides utilizar el código HOLAMUNDO en tu suscripción al servicio de 12 meses para obtener aún más descuento, y ahora te preguntamos ¿qué aplicación o aplicaciones son la que subirás a tu servidor?
Te dejaremos el enlace a todos nuestros cursos de programación, los cuales los encontrarás disponibles en la academia Hola Mundo y puedes optar por adquirir los cursos de manera individual en el siguiente link: todos los cursos de Hola Mundo, si prefieres acceso a todo, también puedes elegir un plan de suscripción mensual o anual, y además te invitamos al siguiente enlace donde vas a poder obtener un descuento en tu primer año a sólo $49.90 usando el cupón PRIMERA_VEZ al momento de realizar tu pago

O igualmente puedes optar por cada curso de manera individual en Udemy.
Y esto ha sido todo de este post, si te ha encantado, ¡golpea al botón de me gusta!, dejanos un comentario, y para no perderte nada, no olvides suscribirte a este blog, seguirnos en todas las redes como Youtube, Twitter, Instagram y Tiktok, y por último, te invitamos a escuchar nuestra música «Hola Beats«, diseñada para ayudarte a concentrarte y acompañarte en tu aprendizaje o trabajo, la puedes encontrar en Spotify, Apple Music, Amazon Music, Youtube Music y Deezer.
¡Hasta la próxima!, y chao mundo
Deja un comentario