Instalar servidor FTP en CentOS

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. 

 

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. 

conexion 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í: 

iptables linux

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.