viernes, 23 de abril de 2010

Monta un servidor FTP en tu casa de manera muy facil


Viendo el post de Lier007 sobre no-ip se ocurrio hacer un post explicando como montar un servidor ftp (File transfer protocol-Protocolo de transferencia de archivos) en nuestro linux.

¿De que me sirve tener un servidor ftp en mi PC?
Supongamos que no estamos en casa y necesitamos un documento o un archivo que solo esta en nuestra PC, que hacemos? Estamos fritos? No. Con un servidor ftp (File transfer protocol) podemos acceder desde cualquier PC a la nuestra y descargar lo que necesitamos.Interesante no?

¿Como hacerlo?
Primero deben registrar un dominio en no-ip.com (los pasos estan en este post:
-NO-IP:-como-crear-IP-est%C3%A1tica-Ubuntu].html]

Una vez que tenemos el dominio empezamos a trabajar.

Para el caso vamos a utilizar vftpd (Very secure FTP daemon - Demonio de FTP muy seguro), es sencillo de utilizar y configurar. Con editar un archivo de texto estamos listos para compartir nuestros archivos.

Instalamos vsftpd
En arch:
 
dijo:
yaourt -S vsftpd


Ubuntu
dijo:
sudo apt-get install vsftpd


En ubuntu (por lo menos la version 10.04) no hay que tocar nada, sale andando de una. (Una vez terminada la instalacion se carga automaticamente y se carga cada vez que iniciemos el sistema)
En arch por ejemplo hay que cargar a mano luego de instalar y agregar el demonio al rc.conf para que inicie cuando cargamos el sistema
Si es nuestro caso luego de instalar ejecutamos:


dijo:
cd /etc/rc.d
sudo ./vsfpd start


NOTA: Si utilizan un router deben abrir los puertos 20 y 21. Ademas si tienen algun firewall tambien deben abrir esos puertos

Ahora recomiendo echarle un vistazo al archivo de configuracion del servidor. El archivo es /etc/vsftp.conf, le hacen un cat o lo ven con el editor de su preferencia.
En ese archivo hay unas cuantas opciones, pero las importantes deben quedar asi:


#Para que el servidor este a la escucha de las peticiones
listen=YES

# Descomentamos la línea para que se puedan conectar localmente
local_enable=YES

# Permitimos a usuarios locales escribir
write_enable=YES

anonymous_enable=NO
#Activa o desactiva el acceso FTP anónimo. Si no estas seguro de lo que es un servidor FTP anónimo, lo mejor es establecer esta opción a \"NO\".


Ademas hay algunas opciones interesantes como son las siguientes:

#opciones de transferencia
#ancho banda por usuario anónimo 5kb
anon_max_rate=5100
#ancho de banda por usuario local 5kb
local_max_rate=5100
#número máximo clientes simultáneos
max_clients=5
#máximo conexiones por ip
max_per_ip=2
#envía al sistema
syslog_enable=yes


Ahora probemos si funciona, abrimos la consola y ejectuamos 

dijo:
ftp localhost


Con esto intentamos conectarnos localmente al servidor.
Ingreamos nuestro usuario y contraseña (del sistema) y ya estamos dentro.



Ahora podemos ejecutar cualquier comando ftp, por ejemplo \"ls\" y vemos los archivos y directorios de nuestro home



Pueden ver la lista de comandos disponibles en ftp en este link.

o desde el navegador escribiendo en la barra de direcciones 

dijo:
ftp://localhost


Nos pide nuestro usuario y contraseña



Y vemos lo mismo que antes pero mas amigablemente




Hasta aca comprobamos que funciona nuestro servidor y podemos ingresar localmente, ahora veamos si funciona desde el exterior. Para esto tienen que tener bien configurado el host para que pueda ser accedida nuestra PC desde cualquier lugar, si hicieron bien los pasos del otro post que les comente antes no van a tener problemas.

¿Como accedemos desde el navegador?
Simplemente escribimos en la barra de direcciones 

dijo:
ftp://direccion_de_no-ip


Igual que antes, se nos pide usuario y contraseña



Luego podemos ver de manera grafica nuestro directorio home, pero ahora estamos accediendo directamente desde internet. Para descargar un archivo solo le dan clic derecho, guarda como... y listo.
Pueden navegar por los directorios como si se tratara de un administrador de archivos.
Tambien es posible acceder desde nuestro telefono celular. Lo unico que necesitamos es una conexion gprs,3g,wifi y un navegador (puede ser un navegador java). Yo lo probe con Opera mobil y funciona de 10.

Lo interesante es que no necesitamos un cliente de ftp o la consola para acceder a los archivos, cualquier navegador soporta el protocolo ftp facilitando las cosas, obviamente no es un cliente ftp completo pero nos permitira descargar los archivos de nuestra PC. Si utilizaramos un cliente ftp (grafico o consola) tambien podemos subir archivos, y tendriamos un dropbox casero muy basico (deben tener configurardo para poder escribir en el server).


En la imagen se ve un cliente tradicional de FTP



Terminando,le hago una aclaracion:
Tengan en cuenta que los archivos seran descargados desde nuestra PC asi que la velocidad con que descarguen depende de la velocidad de subida que nuestro ISP nos da. Por lo gral en argentina un proveedor de ADSL no da mas de 64 kbps de subida con lo que tenemos de armarnos de paciencia si queremos bajar algo un poco pesado. Para ese caso lo mejor es alojarlo en algun servidor dedicado como MF,MU,RS,etc 

0 entradas a blog:

..:: Acerca de este blog ::..

Este blog fue diseñado por el Lic. Felipe Aguilera - Lic. en Análisis de Sistemas. Cualquier duda o consulta comunicarse con: msfa001@gmail.com