Llevamos ya una serie de episodios donde estamos montando nuestro servidor Linux para poder trabajar con una aplicación en netcore. Pero para poder desplegar la aplicación, necesitamos subir los ficheros a nuestro servidor, para ello crearemos un servidor FTP.
Para realizar estos puntos deberemos estar conectados a nuestro servidor a través de ssh
y utilizar nuestro usuario con acceso sudo.
Índice
1 - Habilitar el repositorio EPEL
Primero de todo podemos actualizar nuestro sistema utilizando (no es obligatorio)
sudo yum -y update
hay que tener en cuenta que este comando nos actualizará todos los paquetes que tenemos instalados.
El motivo por el que vamos a habilitar el repositorio EPEL es porque así podemos instalar una gran cantidad de paquetes open source desde el controlador de paquetes yum.
En nuestro caso, estamos buscando el paquete ProFTPD. El cual es muy sencillo, seguro y fácil de configurar.
Para habilitar el repositorio EPEL ejecutaremos los siguientes comandos:
$ sudo wget https://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/e/epel-release-7-11.noarch.rpm
$ sudo rpm -ivh epel-release-7-11.noarch.rpm
Y para comprobar si el repositorio está disponible ejecutaremos el siguiente comando
$ sudo yum repolist | grep epel
2 - Instalar servidor FTP en CentOS
Una vez tenemos el repositorio simplemente tenemos que utilizar un comando para instalar nuestro servidor FTP
$ sudo yum install proftpd proftpd-utils
3 - Iniciar ProFTPD
una vez tenemos instalado el servicio, solos nos queda iniciarlo, para ello ejecutamos dos comandos muy rápidos:
$ sudo systemctl start proftpd
$ sudo systemctl enable proftpd
4 - Verificar la instalación de ProFTPD en CentOS
Técnicamente ya podemos conectarnos a nuestro servidor VPS a través de cualquier cliente FTP que tengamos, como puede ser filezilla.
Como ejemplo para el host he utilizado la ip 192.168.1.1
pero deberemo poner la de nuestro servidor. la misma que utilizamos para conectarnos a través de ssh
.
Por lo que ahora ya disponemos de la habilidad de subir y bajar ficheros de nuestro servidor sin ningún problema.
En caso de que no puedas conectarte, probablemente sea un problema de puertos, ve al puntos 7 para ver cómo abrirlos.
5 - Cambios en la configuración de ProFTPD
Si realizamos cualquier cambio en la configuración (puedes ver distintas configuraciones aqui los cuales son implementados en el fichero /etc/proftpd.conf
debes tener en cuenta que para que surtan efecto debemos reiniciar el servicio. para ello ejecutaremos el siguiente comando:
$ sudo systemctl restart proftpd
6 - Comprobar los ficheros de log
Si tenemos cualquier problema, ProFTPD guardará un registro de los errores en el directorio /var/log/proftpd
.
Por supuesto, puedes comprobar con un “análisis rápido” el estado actual del servicio ejecutando:
$ sudo systemctl status proftpd
Errores comunes
Cuando instalamos nuestro servidor Linux, por defecto quieren mucha seguridad, por lo que el puerto 21 que es el que utilizamos para conectarnos al servidor FTP estará cerrado.
Para ello lo primero que debemos hacer es comprobar si está cerrado o no.
Si ejecutamos el siguiente comando
$ sudo iptables -nvL
Podemos comprobar si el puerto está abierto o no. La información que nos muestra es un poco liosa, pero para hacerse una idea sería algo así:
Por lo que debemos abrir el puerto que vamos a utilizar (21 y 22)
7 - Abrir puerto FTP en Linux
Para abrir un puerto en Linux simplemente debemos ejecutar el siguiente comando
$ sudo firewall-cmd --permanent --add-port=21/tcp
$ sudo firewall-cmd --permanent --add-service=ftp
y si queremos tambien el puerto del ftp debemos abrir también el puerto 22
$ sudo firewall-cmd --permanent --add-port=22/tcp
$ sudo firewall-cmd --permanent --add-service=ftp
Conclusión
Definitivamente necesitamos un servidor FTP para poder subir nuestros archivos al servidor por lo que ProFTPD es una gran opción debido a toda su configuración.