Raspberry pi NAS + download station + music player
Ciao a tutti
Scrivo questo how-to più come promemoria mio che come guida vera e propria, ma spero che a qualcuno serva…
Dunque&Comunque, se volete ottenere un raspberry con funzioni di NAS, download center e server con funzioni audio, le righe qua sotto fanno per voi.
Il mio piano consiste nell’avere una macchina che possa scaricare musica dalla rete (mediante torrent), dove i file appena scaricati finiscano all’interno di una cartella di rete dalla quale, poi, un media player possa attingere. Il tutto si chiude con un amplificatore collegato al raspberry. Sostanzialmente il media player rimane sempre su raspi, mentre i client che comandano questo media player li ho su tutti i dispositivi connessi alla mia rete.
Per iniziare, di cosa abbiamo bisogno?
- Raspi + alimentazione + hdmi (il cavo hdmi per 5 minuti massimo)
- Scheda SD, preparata con distribuzione Raspbian (aggiornata il più possibile)
- Cavo ethernet
- Una tastiera (per 5 minuti massimo)
- Un hard disk da mettere in rete (mi raccomando, deve essere alimentato. Nel caso non lo fosse, dovrete dotare il raspi di un hub usb alimentato)
Iniziamo facendo fare la prima accensione al raspi con collegata tastiera e hdmi. Per vedere come settare correttamente il vostro raspi in questa fase, ho seguito QUESTA guida.
riassumo in 5 righe:
– espandete il file system
– cambiate utente e password
– abilitate e settate ssh (QUA [1] una guida più definita per rendere il tunnelling ssh qualcosa di impenetrabile)
– aggiornate il raspi
– riavviate il raspi scollegando tastiera e hdmi, collegatevi tramite ssh
Ora il primo vero passo: il mio hard disk è sempre collegato al raspi, ovviamente. La cartella di download si trova li, così voglio che sia sempre disponibile. Dobbiamo far sì che all’accensione l’hard disk si monti nella cartella corretta.
WARNING Se il file system dell’hd fosse ntfs avrete bisogno di ntfs-3g per poterlo leggere, scrivere e farci ciò che più vi aggrada. Installate quindi fuse e ntfs-3g:
sudo apt-get install ntfs-3g fuse
Dopodiché procediamo all’automount all’avvio del raspi. Per farlo, semplicemente e con i poteri di superutente editiamo il file /etc/fstab,
sudo nano /etc/stab
aggiungendo al termine queste poche righe:
/dev/sda1 /cartella/di/mount ntfs-3g rw,default 0 0
importante: tra le varie colonne utilizzate il tab e non lo spazio perché fstab ha un po’ di problemi con lo spazio.
Ora riavviamo il raspi e la cartella che abbiamo scelto come punto di mount sarà popolata dal contenuto del nostro HD.
Ma cosa ce ne facciamo di un hd se non è in rete? Abbiamo bisogno di samba per condividere i file e, very important, di regole per condividere i nostri file. Ora, nella mia rete non ho problemi, e voglio che tutte le cartelle siano accessibili, quindi:
sudo chmod 750 –R /cartella/dell/harddisk
WARNING: il –R serve per rendere ricorsivo il nostro bel comando chmod ed estenderlo quindi a tutte le sottocartelle. Una piccola digressione sull’utilizzo di CHMOD la trovate QUA [2], in maniera da poter settare come meglio credete le proprietà delle cartelle condivise. È ovvio che poi, se una cartella la vorremo blindare, possiamo tranquillamente modificare i permessi e renderla addirittura inaccessibile oltre che agli occhi di tutti, pure ai membri del nostro gruppo.
sudo chmod 700 /cartella/da/rendere/inaccessibile
ora è il momento di transmission, non il classico programmino che noi tutti conosciamo, bensì il demone che ci serve, quindi:
sudo apt-get install transmission-daemon
ora diamo un bel
sudo nano /etc/transmission-daemon/settings.json
e qua dentro, per prima cosa modifichiamo le cartelle dove faremo finire i file scaricati e quelli incompleti, dopodichè verifichiamo che l’accesso da remoto sia attivo, quindi la riga “rpc-enabled”: deve essere true. per le ultime configurazione vi rimando a questo link [3] dove si spiega per bene come settare al meglio il nostro demone
è il momento di installare SAMBA, per poter poi condividere la nostra bella cartellina
quindi
sudo apt-get install samba smbfs
completata l’installazione entriamo con permessi di superutente ad editare il nostro bel file di configurazione di samba
sudo nano /etc/samba/smb.config
settiamo la voce
security = share
e aggiungiamo al termine queste poche semplici righe:
[CARTELLA DI RETE]
comment= CONDIVISIONE
Home path=/cartella/in/condivisione
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
Ora diamo una bella riavviata al nostro raspi e verifichiamo che effettivamente le cartelle di rete siano ben montate e visibili agli utenti della nostra rete. Se tutto ha funzionato, passo in avanti, ed installiamo il Music Player Daemon. Teoricamente le alsa-utils sono già installate nel vostro sistema, nel qual caso non ci siano, installatele. Quindi:
Sudo apt-get install alsa-utils mpd
Beeeene. Ora modifichiamo il file di configurazione del nostro bell’MPD e qua fate attenzione alle guide che trovate in rete, perché tante fanno una gran confusione. Tenete conto che molta gente installa l’MPD sullo stesso pc che poi farà girare anche l’MPC (ovvero il client che si attaccherà al server che andiamo a creare), quindi buttate dalla finestra quelle guide che dicono di impostare localhost, o 127.0.0.1… non ci prendono per niente. Noi invece il file di configurazione lo impostiamo così :
sudo nano /etc/mpd/mpd.config
e all’interno di mettiamo queste impostazioni:
music_directory “/cartella/dove/si/trova/la/musica/”
playlists_directory “/cartella/dove/salverete/le/playlist/”
bind_to_address “any”
port “6600”
bene, miei epici lettori, a questo punto un bel
sudo service samba restart
sudo service mpd restart
se volete va bene anche
sudo /etc/init.d/mpd restart
e prendiamo il nostro cellulare dove avremo installato Droid MPC Client. Inseriamo le nostre impostazioni e verifichiamo che tutto proceda per il verso giusto dopo aver collegato delle casse al nostro raspi.
E con questo abbiamo finito! per delucidazioni commentate sotto, appena posso e se posso farò del mio meglio per rispondere!
Augh!
leander
[1] http://www.samhobbs.co.uk/2014/01/raspberry-pi-server-preparation/
[2] https://wiki.debian.org/it/Permissions
[3] http://maxtrixnix.blogspot.it/2013/08/raspberry-pi-come-installare-e.html