Se vi state chiedendo che cos'è Samba, è un progetto libero che fornisce servizi di condivisione file e stampati utilizzando il protocollo di condivisione SMB di Microsoft. La popolarità di Samba è dovuta dal fatto che è un software libero e permette la condivisione tra computer con diversi sistemi operativi, tra i quali Windows, OS X e Linux.
Perché dovremmo voler condividere un hard disk sulla rete casalinga? Per esempio potremmo mettere tutte le nostre foto ed i nostri video sull'hard disk condiviso così da potervi accedere dal nostro desktop, dal portatile o da un'altro dispositivo che utilizziamo a casa.
Il Raspberry Pi con un hard disk Western Digital Red da 2 Tera byte utilizzato come NAS |
Collegare e montare l'hard disk esterno alla porta USB
Prima cosa da fare e collegare fisicamente l'hard disk alla porta USB del Raspberry Pi, successivamente dobbiamo montare, cioè rendere accessibile il contenuto dello stesso al nostro sistema.
Una cosa importante da sapere è che il Raspberry Pi non riesce ad alimentare un hard disk esterno USB, quindi dovrete fare in modo di alimentarlo esternamente. Come vedete nella foto io ho utilizzato una base alimentata, potete comunque scegliere un qualsiasi case che abbia un cavo di alimentazione.
Una cosa importante da sapere è che il Raspberry Pi non riesce ad alimentare un hard disk esterno USB, quindi dovrete fare in modo di alimentarlo esternamente. Come vedete nella foto io ho utilizzato una base alimentata, potete comunque scegliere un qualsiasi case che abbia un cavo di alimentazione.
Creiamo una cartella all'interno di /mnt che farà da punto di inizio del disco esterno, ad esempio:
sudo mkdir /mnt/nas
Ora con il comando lsblk andiamo ad identificare il nostro disco
lsblk
Verrà visualizzato sul terminale una lista dei dischi collegati:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 1.8T 0 disk
└─sda1 8:1 0 1.8T 0 part
mmcblk0 179:0 0 14.9G 0 disk
├─mmcblk0p1 179:1 0 56M 0 part /boot
└─mmcblk0p2 179:2 0 14.8G 0 part /
Il disco mmcblk0 è la scheda SD che contiene il sistema operativo, sda invece è il disco collegato alla porta USB, il quale, in questo caso, ha una sola partizione identificata come sda1.
Di solito il primo disco esterno collegato è chiamato sda, quindi ci sarà sdb per il secondo disco, sdc per il terzo e così via. Per ogni disco ci possono essere una o più partizioni identificate dal numero che segue il nome del disco, quindi sda1 è la prima partizione del disco sda, sda2 la seconda partizione, ecc...
Per avere il massimo delle prestazioni dal nostro disco dobbiamo fare in modo che la partizione che useremo per il nostro NAS sia formattata con il file system di tipo ext4. Se così non fosse possiamo formattare la partizione con il comando mkfs.
ATTENZIONE: questo comando formatterà la partizione, quindi cancellerà qualsiasi file in esso contenuto. Ricordatevi di mettere al sicuro i file che non volete perdere prima di procedere!
Ora che siete sicuri di quello che fate:
sudo mkfs -t ext4 /dev/sda1
Il disco è pronto, possiamo montare la partizione con il comando:
sudo mount /dev/sda1 /mnt/nas
Per avere accesso completo al contenuto del disco in lettura e scrittura, modifichiamo il proprietario della cartella nas e di tutte le sotto cartelle ed i file in essa contenuti con il nostro nome utente.
sudo chown -R [nome_utente]:[nome_utente] /mnt/nas
Dove al posto di "[nome_utente]" inserirete il vostro nome utente, ad esempio se utilizzate l'utente di default pi, scriverete:
sudo chown -R pi:pi /mnt/nas
Ora possiamo guardare il contenuto del disco
ls /mnt/nas
Per poter fare in modo che disco venga montato all'avvio del sistema bisogna andare a modificare il file di configurazione /etc/fstab.
Apriamo fstab con l'editor di testo per configurare il montaggio automatico del disco
sudo nano /etc/fstab
All'interno del file ci sono tante righe quante sono le partizioni che vengono integrate nel file system principale. Ogni riga ha il seguente formato:
<file system> <punto di mount> <tipo> <opzioni> <dump> <pass>
Per il nostro disco la riga dovrà essere così
/dev/sda1 /mnt/nas ext4 defaults 0 3
Dopo aver aggiunto la riga alla fine del file fstab, possiamo salvare premendo i tasti Ctrl + o, premiamo enter per confermare il nome del file, quindi usciamo dall'editor con Ctrl + x.
Ora possiamo riavviare il sistema con il disco collegato e questo verrà montato all'avvio.
Installare e configurare Samba
Prima di installare Samba aggiorniamo la lista delle versioni dei pacchetti del repository con
sudo apt-get update
quindi installiamo
sudo apt-get install samba samba-common-bin
questo comando installerà due pacchetti: samba e samba-common-bin, al termine dell'installazione passiamo alla configurazione.
Il file di configurazione di Samba si trova in /etc/samba, quindi:
cd /etc/samba
Facciamo una copia di sicurezza del file di configurazione con
sudo cp smb.conf smb.conf.original
Apriamo il file di configurazione smb.conf con l'editor di testo
sudo nano smb.conf
Andiamo a cercare la sezione identificata con ##### Authentication ##### e modifichiamo la riga
# security = user
con
security = user
Quindi salviamo premendo i tasti Ctrl + o, premiamo enter per confermare il nome del file, quindi usciamo dall'editor con Ctrl + x.
Ora bisogna riavviare il server Samba per fare in modo che utilizzi le nuove impostazioni
sudo /etc/init.d/samba restart
Ora bisogna creare la password di Samba per il nostro utente, digitiamo il comando
sudo smbpasswd -a [nome_utente]
dove al posto di [nome_utente] inserirete il vostro nome utente, per esempio Pi se non ne avete creato un altro. Vi verrà chiesto di inserire la password due volte.
Ora andiamo a modificare di nuovo il file di configurazione:
sudo nano smb.conf
Andiamo alla fine del file ed aggiungiamo queste righe:
[usb]
comment = USB Share
path = /mnt/nas
writeable = yes
Salviamo e usciamo dall'editor, quindi riavviamo il server Samba per l'ultima volta
sudo /etc/init.d/samba restart
Il vostro NAS è pronto!
Potete accedere dal vostro computer, se utilizzate una distribuzione GNU/Linux, tramite Nautilus, il gestore di file. Andate sul menu alla voce "inserisci posizione" e digitate:
smb://[indirizzo_IP]/usb/
Dove al posto di [indirizzo_IP] inserirete l'indirizzo IP del vostro Raspberry Pi. Vi verrà chiesto di inserire nome utente e password (quella che avete inserito per Samba), dopo di che potrete vedere il contenuto del disco come fosse sul vostro computer.
A questo punto, per velocizzare il collegamento al disco remoto, potete selezionare la voce "aggiungi posizione ai segnalibri", così non dovrete riscrivere l'indirizzo tutte le volte.
Per quanto riguarda OS X e Windows basterà esplorare la rete dal gestore dei file e vedrete comparire il server RaspberryPi (il nome di default del Raspberry se non lo avete modificato). Rispetto a Linux non cambia niente, vi verrà chiesto nome utente e password e potrete accedere al disco.
Buongiorno premetto di essere un principiante ho seguito quello che hai scritto in questo tutorial mi congratulo per la semplicità esposta.
RispondiEliminaHo installato ubuntu 18.04 server su raspberry pi3 per poter creare un server cloud locale privato. ho installato nextcloud ver 15.01 sembra che tutto funzioni da pc o smartfhone riesco ad entrare,e vedere i file che condivido ma vengono condivisi solo sulla sd che sta nel Raspberry perche non riesco a vedere l Hard disk che ho collegato su usb raspberry da premettere che con il comando sudo fdisk -l il disco ubuntu me lo fa vedere, spero di essere stato chiaro ti ringrazierei se mi date una dritta per questo problema Grazie.