×
Servidor FTP en Linux

Servidor FTP en Linux


A la hora de subir información a la nube mediante un Servidor FTP es importante conocer un poco mas sobre que es el FTP, asi como también sus principales características, ventajas y conocer la forma en la que opera.

Por este motivo es que en este post estaremos hablando acerca de todo esto, explicaremos cual es el propósito de un cliente FTP así como también seguiremos con un paso a paso la forma de como instalar un servidor FTP en Linux.

¿Para que se usa un FTP en Linux?

Tal como comentamos anteriormente, un FTP se puede utilizar para varios motivos.

  • Subida y edición de páginas web: el FTP es la forma en la que nosotros podemos subir y editar nuestras páginas web que se encuentran en nuestro hosting.
  • Tener y compartir ficheros en la nube: otro factor importante de este servidor es que de esta forma nosotros podemos tener cualquier tipo de archivo en la nube para así poder compartirlo de una forma rápida con otros usuarios que estén lejos de vos ya que al momento de que vos subes un archivo o carpeta al FTP la otra persona que este conectada lo verá de forma inmediata y podrá descargarlo a su ordenador.
  • Copias de seguridad: otro factor importante del FTP es que nosotros podemos mantener copias de seguridad de nuestro sitio web por cualquier problema que tengamos y poder volver para atrás de forma muy sencilla.

Si bien el FTP es un protocolo antiguo, y hay muchos en contra de su uso, sigue siendo muy usado por la comunidad de webmasters, especialmente aquellos que usan servidores basados en cPanel.

Antes del servidor, viene el cliente FTP

Como hemos comentado anteriormente un cliente FTP es el que se utiliza del lado del usuario el cual nos permite realizar varias acciones sobre nuestros ficheros como subir, modificar, renombrar, borrar que se encuentren en un Servidor FTP, en pocas palabras para poder utilizar un Servidor FTP necesitamos un Cliente para interactuar con el.

Existen varios clientes FTP para cualquier sistema operativo como Windows, Linux o Mac en donde muchos de ellos son pagos pero también existen mucha cantidad que son de uso libre.

En la actualidad existen navegadores webs que traen integrado un cliente FTP pero igualmente siempre nos va a andar más rápido si utilizamos un software de escritorio como lo es Filezilla ya que el mismo conecta directamente con el servidor desde nuestro ordenador.

El Filezilla es el cliente FTP más utilizado en todo el mundo ya que tiene diferentes versiones para todos los sistemas operativos anteriormente mencionados de forma cien por-ciento gratuita, ademas de eso tiene un grupo de desarrolladores que aplican actualizaciones a este software para corregir los bugs o errores que se van detectando.

Instalación de un Servidor FTP en Linux

En la actualidad existen varios servidores FTP que podemos instalar para conectarnos y poder subir nuestro archivos a nuestro servidor como lo es Proftpd, Vsftpd, Pureftpd, Crushftp, entre otros.

En este post trabajaremos y explicaremos como instalar y configurar VSFTPD, un proceso bastante sencillo que lo podemos realizar mediante varios simples pasos.

  1. Como primer paso debemos de acceder mediante SSH como root a nuestro servidor en donde queremos instalar vsftpd de lo contrario si no accedemos como usuario root debemos de colocar la palabra sudo delante y colocar la contraseña.
  2. En segundo lugar solamente debemos de instalar la librería por lo que si deseas instalarlo en sistemas basados ​​en Red Hat, puede utilizar el siguiente comando:
    sudo dnf -y vsftpd

    o sino para versiones más viejas como Centos 6

    sudo yum install vsftpd

    En sistemas basados en Debian como Ubuntu, puedes instalarlo así:

    sudo apt-get install vsftpd
  3. Una vez lo hayamos instalado debemos de configurar el servicio para que se ejecute junto con el arranque del sistema, para realizar esto debemos de ejecutar el siguiente comando:
    systemctl enable vsftpd.service

    Para versiones viejas como Centos 6 se puede utilizar el siguiente comando:

    chkconfig vsftpd on

De esta manera ya tenemos instalado y configurado vsfptd para que inicie junto con el sistema operativo.

Comandos para manejar el servidor vsftpd en Linux

Veamos ahora algunos comandos del popular servidor ftp linux VSFTP, que es tan usado en diferentes empresas y equipos de trabajo.

Iniciar el servicio

En sistemas basados en SysVinit (sistemas viejos como Centos 6):

service vsftpd start

Para sistemas basados en systemd:

systemctl start vsftpd

Detener vsftpd

En sistemas basados en SysVinit:

service vsftpd stop

Para sistemas basados en systemd:

systemctl stop vsftpd

Reiniciar vsftpd

En sistemas basados en SysVinit:

service vsftpd restart

Para sistemas basados en systemd:

systemctl restart vsftpd

Reload del servicio

En sistemas basados en SysVinit:

service vsftpd reload

Para sistemas basados en systemd:

systemctl reload vsftpd

Conocer estado del servicio

En sistemas basados en SysVinit:

service vsftpd status

Para sistemas basados en systemd:

systemctl status vsftpd

Iniciar vsftpd junto con el sistema

En sistemas basados en SysVinit:

chkconfig vsftpd on

Para sistemas basados en systemd:

systemctl enable vsftpd

Archivo de configuración para vsftpd

Por defecto en todos los sistemas operativos Linux el archivo de configuración del FTP se encuentra en la dirección que mencionamos debajo, por lo que si deseamos ajustarla solamente debemos de editar este fichero:

/etc/vsftpd/vsftpd.conf

¿Como conectar a un Servidor FTP en Linux?

Para poder conectarnos desde nuestro ordenador al Servidor FTP que hemos instalado debemos de asegurarnos que el Firewall no vaya a bloquear nuestra conexión, por lo que en este caso debemos de habilitar los puertos 20 y 21 que son los que utiliza el FTP por defecto para conectarse.

Una vez hayamos habilitado estos dos puertos en el Firewall en el Servidor FTP debemos de crear un usuario FTP y asignarlo a una determinada carpeta donde el podrá acceder y realizar las modificaciones necesarias. Para realizar esto debemos de ejecutar los siguientes comandos.

En primer lugar debemos de crear un nuevo usuario y asignarlo a una carpeta:

useradd -g ftp -d /var/www/html/carpetaFTP usuarioftp

En esta linea se especifican varios factores los cuales explicamos a continuación:

  • useradd: Esta es la acción que permite agregar un nuevo usuario en el sistema
  • -g: Explica a que grupo va a pertenecer el usuario nuevo que vamos a agregar, en este caso va a pertenecer al grupo ftp.
  • -d: Este indica a que directorio va a poder acceder al momento de conectarnos de un cliente FTP, en este caso podrá acceder a /var/www/html/carpetaFTP
  • usuarioftp: Es el nombre del usuario que vamos a agregar.

Es posible que si la carpeta que quieren asociar a dicho usuario ya existe les indique esto que les comento, no se preocupen por esto ya que solamente debemos de asignarle el usuario y el grupo a esta carpeta mediante el siguiente comando:

chown usuarioftp.ftp /var/www/html/carpetaFTP -R

Una vez hayamos creado y asignado el usuario a la carpeta al ejecutar el comando de listado de archivos debemos de ver nuestro usuario y el grupo asignado a la carpeta.

Luego de esto debemos de asignarle una contraseña nueva al usuario FTP que hemos creado recientemente, para esto debemos de ejecutar el siguiente comando seguido de la nueva contraseña:

passwd usuarioftp

Luego de esto ya estamos aptos para conectarnos mediante nuestro cliente FTP a nuestro servidor, por ejemplo todo sistema operativo trae el servicio de FTP como cliente para conectarse mediante linea de comando, por lo que en este ejemplo vamos a utilizar esta herramienta para explicar los pasos a seguir. Es importante mencionar que de su lado pueden conectarse mediante Filezilla que es más sencillo y cuenta con interfaz gráfica.

Para conectarnos por FTP mediante línea de comandos como primer paso debemos de abrir una nueva terminal en nuestro ordenador y ejecutar el siguiente comando:

ftp IP_PUBLICA
  • ftp: Comando para conectarse al servidor FTP recientemente instalado
  • IP_PUBLICA: Acá debemos de colocar la IP pública de nuestro servidor a donde vamos a conectar.

Una vez hayamos colocado esto nos va a pedir que coloquemos nuestro usuario FTP y luego la contraseña del mismo, de esta manera nos vamos a poder conectar a la carpeta asignada para este usuario.

En la imagen que veremos a continuación vamos a notar que nuestra carpeta tiene un archivo llamado archivo.php y luego del comando pwd veremos que nos mostrará la ruta absoluta de donde estamos parados.

De esta manera ya hemos conectado desde nuestro cliente FTP hacia nuestro servidor FTP.

Recuerda que también puedes conectar al servidor FTP de forma gráfica con cualquier cliente como Filezilla. Si quieres saber como conectar de forma segura te recomendamos leer este tutorial: Conectar al FTP de forma segura usando FTPS

Resumen

A la hora de querer subir los archivos de nuestro sitio web o compartir información con otros usuarios mediante Internet es importante de tener en cuenta para hacerlo mediante un Servidor FTP ya que como hemos explicado anteriormente cuenta con una velocidad de transferencia de archivos sumamente rápida y por esta y otras ventajas que hemos nombrado, el FTP pasa a ser una herramienta completa y sencilla de utilizar.

Como hemos visto instalar un Servidor FTP no es para nada complejo, solamente se deben de correr unos pocos comandos para su instalación y la creación de los usuarios FTP que utilizaremos para acceder desde el Cliente FTP que deseemos utilizar, ya sea por linea de comandos, Filezilla o cualquier otro.

¿Te gustó el artículo? Compártelo:

Escrito por Andrés Schiaffarino

Andrés forma parte del Equipo de DevOps de Infranetwoking, es un SysAdmin Linux especializado en ayudar a clientes en problemas con sus sitios, también se encarga de desarrollar aplicaciones bajo la plataforma LEMP y Android. Ha cursado carreras de Analista Programador, Analista de Sistemas y Desarrollo de Aplicaciones Móviles en Universidad ORT.

    Recibe en tu correo electrónico toda la información sobre hosting, desarrollo web y dominios

    Términos y Condiciones de Servicio

    Infranetworking Internacional - Copyright 2002-2024
    Todos los derechos reservados.