Crear un servidor web con maquinas virtuales
Hola a tod@s, en este post voy e explicar como crear nuestro propio servidor web en una maquina virtual en Azure.
Primero debemos de crearnos un proyecto Asp Net Core (o web api) y subirlo a nuestro repositorio en GitHub

Creado el proyecto ahora tenemos que irnos al portal de Azure para crearnos nuestra maquina virtual. Primero vamos a create resource y seleccionamos virtual machine.

Seleccionamos en create, nos creamos un nuevo grupo de recursos y en tipo de Authentication vamos a elegir password para acceder a nuestra maquina virtual con usuario y contraseña


Seleccionamos en create y ya tendríamos nuestra maquina virtual creada

Vamos a los ajustes de nuestra maquina virtual y apuntamos el numero de ip publica que nos han asignado

Para poder conectarnos a nuestra maquina debemos de tener instalado en nuestro pc el programa putty
Una vez instalado lo abrirnos y en host name debemos de poner la dirección de ip publica que nos han asignado y pulsamos en open.

Ahora nos pedirán nuestro usuario y contraseña que pusimos en azure

Ya estaríamos dentro de nuestra maquina virtual

A continuación vamos a instalar un servidor Apache. Todos los comando los debemos de hacer con permisos de root
sudo apt-get update
sudo apt-get install apache2 -y
Debemos de habilitar el puerto 80

Comprobamos que el servidor apache esta en ejecución
sudo systemctl status apache2

Ahora debemos de instalar las referencias a las librerías de Microsoft y Net Core de Ubuntu
wget https://packages.microsoft.com/config/ubuntu/21.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Actualizamos el sistema
sudo apt-get update
Instalamos las librerías de https y Core de Microsoft
sudo apt-get install apt-transport-https -y
sudo apt-get install dotnet-sdk-6.0 -y
sudo apt-get install aspnetcore-runtime-6.0 -y
sudo apt-get install aspnetcore-runtime-5.0 -y
Necesitamos hacer Routing, indicar que cuando se realice una petición a Apache leerá el Kernel de Net Core.
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000
Ahora nos creamos una nueva carperta en donde guardaremos nuestro proyecto y añadimos permisos
sudo mkdir /var/coreapp
cd /var/coreapp
sudo chown -R usuario /var/coreapp
Ahora nos instalamos git en la maquina virutal, debemos de poner nuestro nombre de usuario y el email
sudo apt-get install git -y
git config --global user.name "NOMBRE-DE-USUARIO"
git config --global user.email "EMAIL"
En la carpeta de nuestro proyecto ya podemos descargarnos nuestro proyecto de Git.
sudo git clone https://github.com/USUARIO/Proyecto.git
Entramos en la carpeta del proyecto y ejecutamos los siguientes comandos
cd NOMBRE-PROYECTO
dotnet restore
dotnet build
Ejecutamos nuestro servidor
dotnet run --urls "http://0.0.0.0:5000"
Con estos pasos accediendo a la ip publica de muestra maquina ya disponemos de nuestro servidor web en Azure.

Autor/a: Luis Enrique Frías Araujo
Curso: Desarrollo Web Full Stack, MultiCloud y Multiplataforma
Centro: Tajamar
Año académico: 2021-2022