Instalar FTP y abrir puertos en VM de Azure
Azure, AWS e incluso Alibaba comparten una cosa en común y es que tienen además de las configuraciones de firewall dentro de las VM un firewall propio y esto puede ser un dolor de cabeza terrible si no sabes porque pues cuando tienes una VM de Windows basta con configurar el Firewall y listo.
Vamos por partes, como dice el título primero instalemos el FTP:
Instalar FTP en Windows Server
Podemos hacerlo de 2 formas pues también se puede por PowerShell, al final es exactamente lo mismo pero hay que aprovechar la GUI de Windows, pues por eso es Windows ¿no? y un consejo, la terminal es tu mejor compañero pero tampoco menosprecies las GUI, te ahorran demasiado tiempo.
Inicialmente esta tarea no es complicada, ahora verás:
Entra a Server Manager y presiona “Add roles and features”, cuando entres a Before You Begin presiona Next.
En la siguiente pantalla elige Role-based or feature-based installation.
En la siguiente pantalla elige tu servidor y luego ya viene la parte de Server Roles donde debes seleccionar Web Server IIS y así mismo FTP Server.
A partir de aquí solo das Next e instalas, en mi caso ya está instalado. Toma un rato y después de eso viene la configuración.
Configurar FTP en Windows Server
Entra a Server Manager y presiona Tools, después elige Internet Information Services (IIS) Manager.
Selecciona el Hostname del lado izquierdo y después al lado derecho presiona FTP Firewall Support
Dentro de FTP Firewall Support lo que necesitamos es dejar un rango de puertos donde funcionará el FTP así que pongamoslos, estos son a elección y después de elegirlos basta con presionar Apply.
Ahora necesitamos reiniciar el servicio de FTP para aplicar estos cambios, para hacerlo debemos entrar a Server Manager, después en Tools elegir Services, dentro de Services buscar Microsoft FTP Service y presionar Restart.
Ahora es necesario abrir los puertos en el Firewall de Windows, para hacer esto entramos a Server Manager, elegimos Tools y después Windows Firewall with Advanced Security.
Ahora dentro de Inbound Rules ponemos el puerto 21 que es el default para FTP y después los otros puertos que pusimos pues con esos trabajará nuestro FTP, por último le damos clic en Apply para que se apliquen los cambios en las reglas del firewall.
Con esto ya configuraste el modo pasivo para tu FTP.
Agregar sitio, configurar grupo y usuarios
Ahora debes entrar a Server Management, después Tools y por último en Computer Management. Aquí crearemos un grupo del lado izquierdo eligiendo Local Users and Groups y agregaremos un usuario para el sitio FTP dando clic derecho en Users
Ahora bien, lo siguiente es crear un grupo para nuestros usuarios del FTP. Para esto damos clic derecho a Groups y después elegimos New Group,
Y el mismo procedimiento, nombras el grupo y agregas los usuarios, para esto le das clic en Add y dentro escribes el nombre de usuario y después le das en Check Names.
Una vez agregados los usuarios solo das clic en Create y listo, está creado el grupo.
Ahora, necesitamos crear un directorio o usar uno que ya exista y agregar el sitio FTP.
Para esto necesitas ir a Server Manager, elegir Tools y después Internet Information Services (IIS) Manager, dentro debes seleccionar tu servidor o “Site” y dar clic derecho, posteriormente dar clic en Add FTP Site.
En la siguiente ventana pones el nombre, en mi caso solo puse FTP y luego la ruta de donde se encuentra
Ahora, lo siguiente es configurar el FTP, en este caso muy concreto solo será FTP entonces no hay SSL ni nada y ocuparemos la IP default así como el puerto que por supuesto puedes cambiar si así lo deseas pero nosotros lo dejaremos default, por lo tanto se quedaría así:
Ahora es necesario configurar la autenticación y que usuarios o grupo de usuarios podrán acceder, recuerda que anteriormente le pusimos FTPSERVER, por lo tanto es ese grupo el que debes poner y dejar en Basic la autenticación, por el lado de los permisos pues serían Read y Write, quedaría así:
Ya casi terminamos de configurar el FTP, ahora debes elegir tu sitio FTP del lado izquierdo y entrar a FTP Firewall Support.
En la siguiente pantalla debes colocar la IP de tu servidor y presionar del lado derecho Apply.
Y ahora debes darle permisos a ese directorio al grupo de FTP, para esto das clic derecho al sitio y elegir Edit Permissions y posteriormente elegir la pestaña Security de la siguiente forma:
Posteriormente das clic a Edit y agregas el grupo recien creado presionando ahora Add de la siguiente forma:
Y listo, está terminada la configuración del FTP pero te falta algo más.
Configurar firewall de Azure para permitir los puertos
Ahora bien, aún con todos los pasos anteriores no te funcionará y aquí empieza una parte frustrante pero que realmente es súper sencilla de corregir, a continuación te digo como.
Entras a portal.azure.com y eliges tu maquina virtual, ahora después en Configuración elige Redes y da clic en Agregar regla de puerto de entrada.
Configuras de la siguiente forma:
Y con esto ya tienes listo tu FTP en una maquina virtual de Azure.