Salve a tutti! Oggi in questo post vi proporremo un progettino per il Raspberry Pi! Ultimamente stavo pensando: ma se ho più computer e su ognuno lavoro ad uno stesso progetto, come posso avere tutti i file contemporaneamente su tutti i pc? Senza dover ogni volta spostarli con un supporto USB? Beh, la risposta l'ho trovata nel mini computer, ossia un piccolo server FTP di archiviazione dati! Una sorta di cloud si, ma che utilizza il protocollo ftp.
PROTOCOLLO FTP
Ma prima di imbatterci nel nostro progetto, vediamo cos'è questo protocollo.
FTP (File Transfer Protocol), è un protocollo usato per il trasferimento dei file in rete, basato sul protocollo TCP (Transmission Control Protocol). Il server FTP rimane in ascolto sulla porta 21, attendendo che un client si connetta.
INSTALLAZIONE
Bene, iniziamo ora con l'installazione dei programmi sul nostro Raspberry.
Apriamo una shell e diventiamo utenti root:
sudo -i
Ora aggiorniamo l'elenco delle dipendenze con:
apt-get update
E installiamo ciò che ci serve:
apt-get install pure-ftpd pure-ftpd-common
Il programma pure-ftpd farà da server ftp sul nostro Raspberry, quindi rimarrà in ascolto sulla porta 21.
CONFIGURAZIONE
Ora iniziamo la configurazione del nostro server, sarà una semplice configurazione base.
Spostiamoci nella directory dei file di configurazione:
cd /etc/pure-ftpd/conf
Ora creeremo dei file, in cui all'interno di essi ci saranno dei semplici valori, ogni file corrisponde ad un'opzione di configurazione, all'interno ci sarà “yes” oppure “no” o un valore numerico in base al tipo di opzione:
echo yes > ChrootEveryone
echo yes > NoChmod
echo yes > BrokenClientsCompatibility
echo 4 > MaxClientsPerIP
echo 10 > MaxClientsNumber
echo 0 > TLS
echo no > PAMAuthentication
echo no > UnixAuthentication
echo /etc/pure-ftpd/pureftpd.pdb > PureDB
Ora creiamo un collegamento simbolico del file PureDB nella directory /etc/pure-ftpd/auth, con il seguente comando:
ln -s /etc/pure-ftpd/conf/PureDB ../auth/50pure
Creazione dell'utente
Ora creiamo un'utente sul nostro sistema operativo, a questo utente collegheremo gli utenti del server ftp.
Per prima cosa creiamo un gruppo per l'utente con un suo id, per esempio:
groupadd -g 2468 gruppoftp
Ora che abbiamo creato il gruppo, creiamo un'utente, ed associamolo a questo gruppo:
useradd -u 2468 -s /bin/false -d /bin/null -c “utente ftp” -g gruppoftp daniele
Dove -u indica un id univoco per l'utente, -s indica la shell da associare all'utente e siccome verrà utilizzato per il server ftp non gli associamo nessuna shell quindi diamo /bin/false, -d indica la home directory da associare all'utente e anche in questo caso non dobbiamo associare nulla in quanto utente del server ftp quindi gli diamo /bin/null, -c è semplicemente un commento per l'utente, -g è il gruppo di appartenenza e mettiamo il gruppo precedentemente creato per il server ftp ed infine il nome dell'utente ovviamente.
Ora dobbiamo creare un'utente per il server, che sarà associato all'utente precedentemente creato.
Quindi diamo il seguente comando:
pure-pw useradd ska -u daniele -d /home/pi/cloud/
in questo modo abbiamo aggiunto l'utente ska e con l'opzione -u lo abbiamo associato all'utente daniele, inoltre abbiamo messo l'opzione -d dove abbiamo specificato la directory usata per il server ftp. Ovviamente se non lo avete fatto, dovete creare la directory e mettere come proprietario l'utente che abbiamo creato (nel mio caso daniele), per cambiare il proprietario date il seguente comando:
chown daniele:gruppoftp /home/pi/cloud/
Attentione! Se avete dei file all'interno della directory, allora dovrete cambiare i permessi anche a quelli, quindi in questo caso aggiungete l'opzione -R, che cambia i permessi ricorsivamente a tutti i file e le subdirectory.
Ora che abbiamo creato l'utente, creiamo il database dando il seguente comando:
pure-pw mkdb
E infine riavviamo il server con il seguente comando:
/etc/init.d/pure-ftpd restart
E dovrebbe apparire una cosa del genere:
Bene, ora che abbiamo terminato non ci resta che testare il tutto.
TEST
Per testare, dobbiamo utilizzare un qualsiasi client ftp da un altro computer, ad esempio un semplicissimo browser.
Apriamone uno e nella barra degli indirizzi scriviamo:
Apparirà una piccola finestra che ci chiederà nome utente e password, inseriamo il nome utente che abbiamo aggiunto con il comando pure-pw useradd (nel mio caso ska) e come password quella che abbiamo inserito sempre con lo stesso comando.
Una volta effettuato l'accesso, sarà visualizzata una pagina con tutti i file contenuti nella directory assegnata all'utente ska.
Ci sono anche altri modi per accedere ad un server ftp, come ad esempio aprendo una qualsiasi cartella, andare su File->Connetti al server.. e apparirà una schermata del genere:
Nel menù a tendina dovrete selezionare Ftp (con accesso).
Un altro famoso client ftp è FileZilla, che potete installare dando questo comando:
sudo apt-get install filezilla
Qui di seguito abbiamo il programma aperto
È un client fatto veramente bene secondo me, ed è molto intuitivo.
Ma di certo non poteva mancare anche l'accesso da riga di comando!! Con il semplice comando ftp! Ma in questo caso, devo ammettere che è più comoda un'interfaccia grafica, in ogni caso troverete tutte le informazioni utili digitando
man ftp
Al nostro server possiamo connetterci anche da remoto, basta sbloccare la porta 21 dalle impostazioni del nostro modem.
COMANDI UTILI
Qui di seguito vi mostriamo alcuni comandi utili per l'amministrazione del server ftp.
Per avere un elenco di tutti gli utenti sul server dare il comando:
pure-pw list
Per cambiare password ad un utente:
pure-pw passwd utente
Per avere dettagli su un utente:
pure-pw show utente
Per eliminare un utente:
pure-pw userdel utente
Per vedere tutti gli utenti attualmente connessi al server:
pure-ftpwho
Per aggiungere un utente al server (come abbiamo visto prima):
pure-pw useradd utente -u alias_utente -d directory_da_associare
Infine dopo aver aggiunto un utente, ricostruire il database con il seguente comando:
pure-pw mkdb
Per utilizzare le modifiche ricordare di riavviare il server con il seguente comando:
/etc/init.d/pure-ftpd restart
CONCLUSIONI
Bene, con oggi vi abbiamo proposto un modo molto utile per salvare i nostri file su un server, ed accedervi facilmente con il semplice programma pure-ftpd. Se volete leggere e vedere altri progetti da fare con il Raspberry Pi andate qui, alla voce Raspberry Pi troverete numerose guide per questo fantastico esempio di tecnologia moderna!
Se non avete questo fantastico dispositivo, potete acquistare il Raspberry Pi 2 B Complete Starter Kit
oppure la versione base del Raspberry Pi 2 B
Al prossimo post!;)
Se non avete questo fantastico dispositivo, potete acquistare il Raspberry Pi 2 B Complete Starter Kit
Al prossimo post!;)
Fonti
- Immagini di Joel Garia;
- PureFtp;
Nessun commento:
Posta un commento