FTP in 60 secondi

Da MontelLUG.

Come attivare un server FTP alla velocità della luce

Ieri mi sono trovato nella necessità di dover scambiare file di grosse dimensioni con degli amici. Come fare? Visto che uso la distribuzione Mepis 6.0 che è basata su Ubuntu mi sono precipitato a leggere la documentazione relativa ai server FTP (File Transfer Protocol) su www.ubuntu-it.org. Un paio di clic ed eccomi arrivato! (Documentazione -> Guide ufficiali -> Guida ad Ubuntu sul server -> Server FTP)

Guida ufficiale per i server FTP su Ubuntu Italia

Ecco quello che in sostanza bisogna fare (spiegazione sia con tool grafici che con riga di comando).

Installare il pacchetto vsftp (Very Secure FTP)

Aprite Synaptic (menù Sistema -> Gestore pacchetti), cercate il pacchetto "vsftpd" e installatelo (sono circa 100KB, quindi un'inezia).

Oppure digitate da riga di comando (per aprire ad esempio Konsole andate nel menù Sistema -> Programma terminale):

apt-get install vsftpd

dopo aver acquisito i privilegi di superutente (in Mepis il comando su, in Ubuntu è meglio usare 'sudo' seguito dal comando da impartire).

Mettere qualcosa dentro al server

Ora il vostro server è già funzionante anche se manca ancora il contenuto! Per iniziare a mettere file sul vostro server dovete creare una cartella ftp in /home.

Aprite Konqueror in modalità superutente (menù Sistema -> File system -> File manager - modalità super utente), andate nella cartella /home, cliccate con il destro -> Crea nuova -> Cartella... e digitate "ftp". Ora potete cominciare a copiarci dentro i file, ma se non modificate i permessi potrete farlo solo da root! Se volete poterci copiare roba anche da utente normale cliccate col destro sulla cartella ftp -> Proprietà -> Permessi e cambiate il campo Utente con il vostro username e da quello Gruppo selezionate "users".

Se volete farlo da terminale digitate (sempre con i permessi di root):

mkdir /home/ftp
chown nomeutente:users /home/ftp

Ora il vostro server FTP è pronto, basta che copiate i file che desiderate in /home/ftp! Per accedervi è sufficiente digitare in un browser web ftp://localhost

Fare in modo che il server sia visibile su internet

Per raggiungere lo scopo di questa guida (condividere file con altri utenti di internet) mancano pochi passi.

Innanzitutto è necessario aprire le porte del firewall. In Ubuntu mi pare che non ci sia nessun firewall attivato di default, mentre in Mepis è attivo in automatico iptables. Per aprire le porte FTP (ovvero TCP 20 e 21) in modo che gli utenti di internet abbiano la possibilità di accedere al nostro pc è sufficiente andare sul menù Internet -> Security -> Guarddog. Aprite il tab Protocol, selezionate la zona Local (cioè i servizi che dal computer locale vengono verso internet), sotto File transfer attivate "FTP - File tranfer Protocol" e applicate le modifiche. Se avete altri firewall fisici (tipo un router) ricordatevi di controllare che anche lì le porte siano state aperte!

Il comando per aprire le porte TCP 20 e 21 con iptables non lo conosco, quindi se qualcuno vuole sostituire questa riga con il relativo comando gli sarò infinitamente grato (oppure con le modifiche al relativo file di configurazione)!

Ora dovrebbe tutto a posto! Controllate il vostro indirizzo ip su internet in questo momento (tipo attraverso i programmi di collegamento, il pannello di controllo del router o siti come What is my ip address dot com o My ip address dot com e poi accedete al vostro server dal browser all'indirizzo ftp://my.ip.add.res. Se riuscite ad accedere allo stesso modo che digitando ftp://localhost allora è tutto a posto!!!

Altre cose da sapere

Il server che vi ho appena introdotto ha ovviamente attive le opzioni di default, ovvero solo login anonimo, no upload ecc. Se volete cambiare qualcuna di queste opzioni è sufficiente editare il file /etc/vsftpd.conf (da Konqueror clic col destro -> Azioni -> Edita come root); se volete controllare cosa succede sul vostro server il file di log è presente all'indirizzo /var/log/vsftpd.log. Aiuto per le opzioni del server lo potete ottenere anche dalla pagina prima citata: Opzioni di base di un server FTP

Per fermare, attivare e riavviare il server FTP sul vostro pc i comandi (da root) sono:

/etc/init.d/vsftpd stop
/etc/init.d/vsftpd start
/etc/init.d/vsftpd restart

Riassunto

Spero che questa guida rapida vi sia stata utile. Per aumentarne l'utilità eccovi un rapido riassunto dei comandi da impartire in Mepis per attivare il vostro server FTP:

su
apt-get install vsftpd
mkdir /home/ftp
chown nomeutente:users /home/ftp
cp filediinteresse /home/ftp
iptables ???