Old:Installare un Media Server per lo streaming della musica
Attenzione. Questa guida è obsoleta. Viene mantenuta sul Wiki solo per motivi di natura storica e didattica. |
Introduzione
Chiunque abbia una nutrita collezione musicale e una rete di PC si sarà imbattuto nel problema di raggiungere i suoi file MP3 o OGG da tutti i client della rete, o di permettere agli amici l'ascolto della musica da internet.
Un metodo molto semplice per realizzare tutto questo è di installare un Media Server sul PC dove risiede la collezione musicale. In questa guida la scelta è caduta sul Media Server Sockso (http://sockso.pu-gh.com/) perchè è open source, perchè non necessita di alcuna installazione e perchè è un software leggero e facilmente configurabile. I client che lo utilizzano come Media Server non hanno bisogno di alcun player audio, dato che Sockso integra nella sua interfaccia web un comodo Audio Flash Player.
Installazione
Per poter funzionare Sockso richiede la presenza della Java Machine di Sun:
# apt-get install sun-java6-bin sun-java6-fonts sun-java6-jre unzip
Configurato Java possiamo scaricare la versione più recente di Sockso dai server di Google. Al momento della stesura di questa guida la versione più recente è la 1.2.4; abbiate l'accortezza di sostituire questo numero di versione con quello più aggiornato che troverete sul sito ufficiale del progetto.
# wget http://sockso.googlecode.com/files/sockso-1.2.4.zip
Ora scompattiamo il pacchetto scaricato e creiamo una directory dove installarlo:
# unzip sockso-1.2.4.zip # mkdir /usr/share/sockso # cp -R /home/samiux/sockso-1.2.4/* /usr/share/sockso/ # mkdir /var/sockso # chmod -R 0755 /var/sockso
Utilizzo
A questo punto siamo pronti per avviare Sockso dalla console del nostro server:
# sh /usr/share/sockso/linux.sh --nogui --datadir /var/sockso
La prima cosa da fare è quella di aggiungere la directory dove è contenuta la nostra collezione musicale:
#SockSo#> coladd /home/ferdy/musica #SockSo#> coladd /home/cesca/mp3
Sockso manterrà monitorate queste directory e aggiungerà/rimuoverà automaticamente i files e le sottodirectory, ad ogni cambiamento apportato dagli utenti.
Se desiderate vedere quali directory sono già configurate all'interno di Sockso utilizzate il comando:
collist
Se invece volete cancellare una o più directory, utilizzate il comando:
coldel
Aggiungere utenti a Sockso
Sockso gestisce i login di utenti diversi, che potranno salvare così le loro playlist e le loro impostazioni personali. Per aggiungere un utente a Sockso bisogna usare il comando:
#SockSo#> useradd nome_utente password_utente utente@gmail.com
Per uscire dalla shell di Sockso basta il comando:
exit
Configurare Sockso come demone
Per configurare Sockso come demone che si avvii al boot del nostro server occorre innanzitutto copiare nella corretta posizione i due script forniti dal programma:
# cp /usr/share/sockso/scripts/init.d/sockso /etc/init.d/sockso.pl
Creiamo poi uno script di avvio:
# nano /etc/init.d/sockso
che contenga le seguenti righe:
#!/bin/bash perl /etc/init.d/sockso.pl $1 exit 0
Quindi modifichiamo il file sockso.pl
come segue:
# nano /etc/init.d/sockso.pl
use constant SOCKSO_DIR => "/usr/share/sockso/"; system( 'sh linux.sh --nogui --datadir /var/sockso > /dev/null 2>&1 &' );
Infine rendiamo eseguibili i due script appena creati e creiamo i symlink corretti:
# chmod +x /etc/init.d/sockso # chmod +x /etc/init.d/sockso.pl # update-rc.d sockso defaults
Da questo momento in poi potremo avviare e fermare il nostro Media Server come ogni altro demone di Debian:
# /etc/init.d/sockso start # /etc/init.d/sockso stop
Utilizzare il Media Server
Per utilizzare Sockso basta puntare il nostro browser all'indirizzo:
http://ip.de.nostro.server:4444
e fare login con una delle credenziali create in precedenza.
Configurare le proprietà di Sockso
Il comportamento di Sockso può essere facilmente controllato dalla shell stessa del programma.
Innanzitutto fermiamo, se lo abbiamo avviato, il deomone di Sockso:
/etc/init.d/sockso stop
Poi avviamolo in modalità interattiva, per entrare nella sua command line:
sh /usr/share/sockso/linux.sh --nogui --datadir /var/sockso
Il prompt dei comandi del nostro server si è ora trasformato in:
#SoCkSo#>
e Sockso è pronto a ricevere dei comandi.
Per modificare e configurare le proprietà del server viene utilizzato il comando:
#SoCkSo#> propset nome_proprietà nuovo_valore
Le proprietà attualmente supportate sono:
Interfaccia web
- www.title: text (Il titolo dell'interfaccia web)
- www.tagline: text (Il sottotitolo dell'interfaccia web)
- www.disableDownloads: yes/no
- users.requireLogin: yes/no
- users.disableRegistration: yes/no
- www.flashPlayer.dontFilterMp3s: yes/no (limita il flash player agli MP3)
- www.imageflow.disable: yes/no
- www.similarArtists.disable: yes/no
- www.covers.disable: yes/no
- www.covers.disableRemoteFetching: yes/no (Abilita o meno il download delle cover da internet)
- www.skin: text (Imposta una skin per l'interfaccia web)
Server
- server.host: ip address
- server.host.lastUpdated: number (unix timestamp)
- server.port: number
Streaming
- stream.requireLogin: yes/no (Richiede il login per lo streaming. Questa proprietà richiede che la proprietà users.requireLogin sia impostata a yes)
Uploads
- uploads.enabled: yes/no
- uploads.requireLogin: yes/no
- uploads.collectionId: number
Browsing
- browse.folders.enabled: yes/no
- browse.folders.only: yes/no
- browse.popularTracks.count: number
- browse.topArtists.count: number
- browse.recentTracks.count: number
- browse.latestArtists.count: number
- browse.latestAlbums.count: number
- browse.latestTracks.count: number
Logging
- log.request.enable: yes/no
Playback
- playlists.random.trackLimit: number
Application
- app.startMinimized: yes/no
- app.confirmExit: yes/no
Collection
- collman.scan.onStart: yes/no (Esamina le collezioni all'avvio?)
- collman.scan.interval: number (Minuti che intercorrono tra un esame e l'altro delle collezioni)
- collman.artists.removePrefixes: text
- covers.artist.file: text
- covers.album.file: text
- covers.cacheLocal: yes/no
- covers.defaultWidth: number
- covers.defaultHeight: number
- covers.xspf.display: album/artist
Misc
- version.checkDisabled: yes/no (Verifica aggiornamenti?)
Per impostare, ad esempio, un nuovo titolo per l'interfaccia web di Sockso basterà quindi dare il comando:
#SoCkSo#> propset www.title Nuovo Titolo
Al termine delle modifiche usciamo dalla shell di Sockso:
#SoCkSo#> exit
e ricordiamoci di far ripartire il demone:
# /etc/init.d/sockso start