CREARE UN SERVER FTP CASALINGO CON FILEZILLA SERVER
Quante volte vi è capitato di dover inviare un file di grosse dimensioni e non sapere come fare?
Ecco a voi la soluzione…
Innanzitutto iniziamo con lo spiegare cosa è un Server FTP. FTP è un protocollo (insieme di regole) che ci permette il trasferimento di file da un computer all’altro. FTP sta per File Trasfer Protocol ed è un protocollo che lavora a livello Applicazione della pila ISO/OSI. Come tutti i protocolli connection-oriented anch’esso utilizza il TCP (Trasmission Control Protocol) che garantisce affidabilità a scapito della velocità (al contrario dell’UDP). Questo significa che se scaricare un file da un server FTP non c’è alcuna possibilità (almeno di problemi di connessione) che vi arrivi un file corrotto, o meglio dire non c’è possibilità che il protocollo “perda” dei pacchetti per strada. Questo lo rende un servizio molto affidabile e utilizzato anche per il trasferimento di file imporanti. Il livello di sicurezza come la maggior parte dei software puo essere impostato ed è possibile utilizzare un livello di sicurezza adatto ad ogni esigenza. E’ un servizio Client-Server il che significa che vi sarà un server (che mette a disposizione il proprio servizio) e un client (che richiamerà tale servizio). Le porte sulle quali lavora l’FTP sono la 20 e la 21…molti di voi diranno…come la 20 e la 21??? Non ho sbagliato … è proprio così..Il protocollo FTP effettua l’autenticazione sulla porta 21 ed avvia il rasferimento vero e proprio sulla porta 20. Questo significa che se volete utilizzare a pieno le funzionalità dell’FTP e siete deitro un firewall dovrete aprire entrambe le porte.
Il protocollo FTP ha principalmente due modalità di funzionamento: Attiva (Standard) e Passiva (PASSV)
Riporto l’articolo preso da http://support.microsoft.com/default.aspx?scid=kb;it;323446
Queste due modalità sono denominate Standard (o PORT o Attiva) e Passiva (o PASV). Il client FTP in modalità Standard invia comandi PORT al server FTP. Il client in modalità Passiva invia comandi PASV al server FTP. Questi comandi vengono inviati sul canale dei comandi FTP durante l’apertura della sessione FTP.
Il client FTP in modalità Standard stabilisce prima di tutto una connessione alla porta TCP 21 sul server FTP. Questa connessione instaura il canale dei comandi FTP. Il client invia un comando PORT sul canale dei comandi FTP quando ha necessità di inviare o ricevere dati, ad esempio un elenco di cartelle o un file. Il comando PORT contiene informazioni sulla porta attraverso la quale il client FTP riceve i dati. In modalità Standard, il server FTP avvia sempre la connessione dati dalla porta TCP 20. Il server FTP deve aprire una nuova connessione al client quando invia o riceve i dati, mentre il client FTP effettua a sua volta la richiesta mediante il comando PORT.
Anche i client FTP in modalità Passiva iniziano stabilendo una connessione alla porta TCP 21 sul server FTP per creare il canale di controllo. Quando il client invia un comando PASV sul canale dei comandi, il server FTP apre una porta effimera (tra la 1024 e la 5000) e comunica al client FTP di connettersi a tale porta prima di richiedere il trasferimento dei dati. Come nella modalità Standard, il client FTP deve inviare un nuovo comando PASV prima di ogni nuovo trasferimento, mentre il server FTP attende una connessione a una nuova porta per ciascun trasferimento.
A seconda della configurazione firewall sul client o sul server FTP, può essere necessario modificare la modalità utilizzata dal client FTP.
Prima di procedere con l’installazione vi invito a leggere l’articolo su come associare l’Ip dinamico di casa a un HostName.
FileZilla Server
Due ottimi programmi freeware permettono di sfruttare a pieno le potenzialità di questo protocollo sono per il server FileZilla Server e per il client FileZilla Client enntambri del progetto Filezilla-Project (che fantasia …!!). Il link del progetto e dove è possibile scaricare i files di installazione è: http://filezilla-project.org/
Installazione e configurazione del Server
Come abbiamo detto in precedenza il protocollo FTP è di tipo Client-Server il che significa che abbiamo bisogno di un server che offre il servizio e di un client che interroga tale servizio. FileZilla server non fa altro che installare sulla propria macchina un servizio (in windows) o un daemon (in Linux) che si mette in ascolto sulla porta 21 in modo da accettare connessioni in ingresso da un client che lo interroga su quella porta. Vediamo come configurare il nostro server per permettere al Client di identificarsi e scaricare i file.
Dopo aver scaricato il pacchetto di installazione (in Windows) andare in start –> programmi –> FileZilla Server
Qui troviamo Start FileZilla Server che avvia il servizio e lo pone in background. Noi clicchiamo su FileZilla Server Interface. Nel caso vi appare una finestra che vi dice di settare la porta come amministrazione lasciate tutt invariato immettendo la password per l’amministratore. La schermata che ci appare è la seguente:
A questo punto abbiamo il server avviato e già in ascolto sulla porta 21.
Se vogliamo modificare le impostazioni andiamo a cliccare sulla barra degli strumenti in alto su edit –> settings
Qui è possibile modificare una serie di impostazioni come la di ascolto del servizio, numero massimo di utenti che possono connettersi, file di log e tante altre piccole impostazioni che possono risultare veramente comode. Per il nostro scopo non dobbiamo settare niente in particoalare. Quindi clicchiamo su ok.
A questo punto andiamo su edit –> groups e creiamo un nuovo gruppo di utenti che potrà connettersi al server FTP tramite nome utente e password.
Clicchiamo su Add e inseriamo il nome del gruppo. A questo punto dovrebbe comparire il nome del nuovo gruppo sul lato destro della schermata. Selezioniamo il gruppo e mettiamo il segno di spunta su “Enable access for users Inside group” che appunto abilita l’accesso agli utenti del gruppo.
Clicchiamo ora su ok e andiamo a creare il nostro utente. Andiamo su Edit –> Users.
Come per il gruppo anche qui clicchiamo su add e inseriamo il nome dell’utente che vogliamo creare e selezioniamo dal menu a tendina il gruppo appena creato.
Logicamente abilitiamo l’account cliccando su “Enable Account” e settiamo la password con la quale l’utente puo autenticarsi.
A questo punto creiamo su C:\una cartella chiamata ServerFtp (o come vi pare). Ritorniamo su edit –> Users e andiamo su Shared folders clicchiamo su Add e selezioniamo la cartella appena creata. Diamo i permessi che vogliamo e clicchiamo su “Set as Home Dir” per settare la cartella corrente come cartella principale del nostro sito. Poi clicchiamo su OK.
Cosa abbiamo fatto? Come è intuibile abbiamo semplicemente creato una cartella che sarà visibile solo all’utente creato.
Se vogliamo invece che la cartella sia visibile all’intero gruppo dobbiamo andare su edit –> Groups ed eseguire la stessa operazione sul gruppo.
A questo punto abbiamo clicchiamo su ok e riduciamo ad icona il server.
FileZilla Client
Una volta installato il programma possiamo richiamarlo da Start –> Programmi –> FileZilla FTP Client
Avviato il programma si presentarà questa schermata:
Per una connessione veloce (senza memorizzare i dati) è possibile riempire i campi in alto
HostName: Nome o IP dell’host dove gira il Server
Nome Utente: Nome utente creato in precedenza
Password: La password inserita in precedenza
Se invece vogliamo memorizzare i dati clicchiamo su File –> Gestione Siti
Clicchiamo su Nuovo Sito e riempiamo i campi:
Hostname: Nome o IP dell’host dove gira il Server
Tipo di Server: Impostiamo FTP (Gli altri sono simili ma con livelli di sicurezza più dettagliati)
Tipo di accesso: Normale
Nome Utente: Nome utente creato in precedenza
Password: La password inserita in precedenza
Se abbiamo impostato lamodalità di trasferimento attiva sul server andiamo in “Impostazioni di Trasferimento” e selezioniamo stessa scelta fatta sul server.
Clicchiamo su Connetti e……
A voi le belle cose….
Di seguito è possibile visualizzare il video che ho realizzato per la seguente guida. A presto…. SP
Procedura per il Server
Procedura per il Client:
P.S. In questo video utilizzo come HostName “localhost” dato che la macchina locale ospita sia il server che il client. Logicamente nel caso di Server remoto va inserito l’IP o l’indirizzo del Server FTP.




