Cómo instalar FTP en CentOS 7
Para instalar el servidor FTP en CentOS 7 necesitaremos un usuario con permisos de root o sudo, ya que vamos a modificar la configuración del sistema.
Cómo instalar un cliente FTP en CentOS 7
En el caso de que queramos instalar un cliente FTP en nuestro sistema CentOS 7 tenemos disponible en los repositorios oficiales un cliente de consola estándar. Tendremos que instalar el paquete ftp con yum:
# yum -y update
yum -y install ftp
Recuerda que puedes acceder al servicio FTP desde navegadores, (usando el protocolo
ftp://), mediante clientes gráficos como
Filezilla o con clientes de consola como el que acabamos de instalar.
Instalar vsftpd en CentOS 7
Partiendo de una instalación básica de un servidor CentOS 7 y con nuestro usuario administrador listo, comenzamos el trabajo.
Para instalar FTP en CentOS 7 elegiremos el servidor vsftpd, puesto que está incluido en los repositorios oficiales de CentOS 7. Para instalar el servidor FTP vfstpd usaremos yum:
yum -y install vsftpd
Tras instalar el paquete vsftpd y sus dependencias (si las tuviera) el servicio NO arranca automáticamente ni queda configurado para iniciar con el sistema. Antes de solucionarlo, te resumo las opciones que tenemos para manejar el servicio vsftpd a través del comando systemctl:
- enable: Activa el servicio para arrancar junto al sistema
- disable: Desactiva el servicio para que no arranque con el sistema
- start: Inicia el servicio
- stop: Detiene el servicio
- restart: Reinicia el servicio
- status: Muestra el estado actual del servicio
A diferencia de otros servicios, vsftpd no dispone de la opción de recargar su configuración sin reiniciar el servicio (opción reload).
Para comprobar que efectivamente el servicio no está iniciado usamos, de acuerdo con la lista anterior, el comando systemctl status:
- ~$ systemctl status vsftpd
- ● vsftpd.service - Vsftpd ftp daemon
- Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
- Active: inactive (dead)
Lo normal es que queramos iniciar el servicio y que inicie automáticamente con el sistema. Ambas acciones debemos hacerlas manualmente. Emplearemos para ello también systemctl:
- ~$ sudo systemctl enable vsftpd
- Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
Activamos el servicio
sudo systemctl start vsftpd
Ahora ya tenemos activo el servidor FTP a la espera de conexiones; para asegurarnos de ello empleamos de nuevo systemctl:
- systemctl status vsftpd
- ● vsftpd.service - Vsftpd ftp daemon
- Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
- Active: active (running) since jue 2019-01-10 18:59:28 CET; 14s ago
- Process: 11511 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
- Main PID: 11512 (vsftpd)
- CGroup: /system.slice/vsftpd.service
- └─11512 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
- ene 10 18:59:28 centos7.local systemd[1]: Starting Vsftpd ftp daemon...
- ene 10 18:59:28 centos7.local systemd[1]: Started Vsftpd ftp daemon.
Acabamos de comprobar que el servicio está activado.
Cómo configurar el firewall para el servidor FTP en CentOS 7
Instalar FTP en CentOS 7, como cualquier otro servicio, exige algunos pasos adicionales con respecto a otros sistemas, debido a la seguridad característica de CentOS.
Ya puedes hacer pruebas con el servidor vsftpd conectando con el cliente ftp desde la propia máquina. Pero si deseas hacer pruebas desde otras máquinas, que es para lo que tiene sentido montar un servicio FTP, debemos dar un paso más.
Conviene recordar que en las instalaciones básicas de CentOS 7 el firewall viene activado. Por lo tanto debemos configurarlo para que permita conexiones entrantes al servicio FTP, que por defecto escucha en el puerto TCP/21.
Usaremos el comando firewall-cmd para establecer la excepción del firewall que permite las conexiones FTP:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
Ahora las conexiones están permitidas, y la configuración es permanente.
o tambien:
systemctl restart firewalld.service
Para saber la direccion ip de nuestro servidor para las pruebas de FTP:
# ip -d addr
Con eso y usando el FileZilla debemos poder acceder al sistema de archivos d nuestro servidor.