montextealternatif

Cherrymusic : Open Source Music Streaming


Rédigé par admin le 6 commentairese

Au fil des années, on accumule des tas de morceaux de musique...(tant mieux d'ailleurs)
Au bout du compte, il y en a partout : sur l'ordi du boulot, à la maison, sur le smartphone, ... et bien souvent en double ou en triple exemplaire.

J'ai donc recherché un Server de Streaming qui soit à la fois fonctionnel, simple et esthetique.
 

J'ai trouvé celui-ci : Cherrymusic 
 

                                                 

Juste un petit regret  (mais j'essaye de trouver une solution de contournement) : le flux rencontre manifestement un soucis sur les IPad avec du SSL (Pour l'authentification, j'ai implémenté du httpS)
 

N'hesitez pas si vous avez une idée !!


Ci-dessous un retour sur l'installation.
(Accessible [A titre perso bien sur], via le lien "Music")

 

 

 

 
Quelques mots d'abord ...
  • Les differentes actions mentionnées dans cet article sont basées (entre autre..)  sur les liens suivants et sur les differents tests effectués :
http://fomori.org/blog/?p=687
http://www.jamescochran.org/2014/07/23/install-cherrymusic-on-ubuntu-14-04/

 

  • Le plan :

- Install des prérequis : Python, ..etc ( et eventuellent "GIT")
- Création du user qui va piloter l'ensemble : "cherrymusic" (ou autre nom, à votre convenance ...)

- Récupération des sources [produit & module "cherrypy"]
  (Pour les sources Cherrymusic : via GIT  ou  Manuellement)

-  Generate Initial Structure datas Files : Création  fichier "cherrymusic.conf"   &  arborescence “~/.local/share/cherrymusic/"
-  Parametrage fichier "cherrymusic.conf"  + Création Dossier "Music Collection" & des liens
-  Generate initiale file database 

- Lancement d'un "screen" [pour ecoute sur le port 8080 et 8443]
- Ajout Script au demmarage du Debian (en cas de reboot du Server)

 

 
Installation Pré-requis  :

- Python :

- version : >=2.6,  >=3.2 Preferred  [Lien]

# aptitude search python
# aptitude install python3.2

 

- Autres  : 

# aptitude install mpg123 faad vorbis-tools flac imagemagick lame python3-unidecode

 

- User "cherrymusic" :  Création  et Perms

C'est depuis ce user que sera lancé le "screen" [activation en permanance du logiciel]
C'est ce user [A Priori] qui doit aussi avoir les droits sur le dossier où se situe les fichiers MP3

# adduser cherrymusic

 

- si outil "GIT" non installé : l'installer

# aptitude search '~i git'  (verification si "GIT" déjà présent sur le serveur)
# aptitude install git (si necessaire)​

 

 
- Installation et Initialisation  du produit  :  

A faire DEPUIS le nouvel user "cherrymusic (ou autre nom choisi lors de la création du user..)

 

- Switcher sur le user "cherrymusic"

#  su cherrymusic  

 

 - Récupération des Sources  :

* Soit directement avec GIT  (On va recuperer automatiquement la dernière version dispo) 

se positionner à la racine du profil  : 
#  git clone --branch master https://github.com/devsnd/cherrymusic.git cherrymusic      

* Soit manuellement via  http://www.fomori.org/cherrymusic/Download.html

 

Récupération du module "Cherrypy"

cherrymusic@xxxxxx:~/cherrymusic$ python3.2 ./cherrymusic --help 

 

 
Parametrage du produit  :

- A faire DEPUIS le nouvel user "cherrymusic (ou autre nom ..)

 

Generate Structure Initiale datas Files : "cherrymusic.conf"   &  “~/.local/share/cherrymusic/"

"..This creates the configuration file “~/.config/cherrymusic/cherrymusic.conf” and the directory “~/.local/share/cherrymusic/”, where the user data is stored..."

# cherrymusic@vps42769:~/cherrymusic$python3.2  ./cherrymusic

 

-  Parametrage du fichier "cherrymusic.conf"  :

- Database : Parametrage du path dans le fichier de "cherrymusic.conf" :

#vim    ~/.config/cherrymusic/cherrymusic.conf

 

- Database :  Création du dossier pour la collection de musique

# cherrymusic@xxxxx:~/cherrymusic$ mkdir ~/.local/share/cherrymusic/basedir

 

- Création des Dossiers de Musiques & leurs liens :

# création des liens :
#  ln -s /srv/music/jazz  ~/.local/share/cherrymusic/basedir/jazz
#  ln -s /srv/music/divers  ~/.local/share/cherrymusic/basedir/divers
#  ln -s /srv/music/rock  ~/.local/share/cherrymusic/basedir/rock
#  ln -s /srv/music/folk  ~/.local/share/cherrymusic/basedir/folk
#  ln -s /srv/music/Aclasser  ~/.local/share/cherrymusic/basedir/Aclasser
#  ln -s /srv/music/pop  ~/.local/share/cherrymusic/basedir/pop

  - Generate initial file database update :

   "...CherryMusic uses a database to search and access files in your music collection. Before you can use CherryMusic, you need to do an initial file database update.." :
----> A ce  stade, Cherrymusic doit savoir où trouver ses bases et ce qu'il doit proposer ..

cherrymusic@vpsxxxx:~/cherrymusic$ python3.2 ./cherrymusic --update

 

 

 
Lancement  :

"Screen" : Outil permettant  de lancer une session [new terminal], et le laisser en cours , tout en permettant le retour sur le terminal principal ou la fermeture du terminal principal 

- Installation de "screen" : - (En ROOT)

# installer screen  : aptitude install screen

 

- Lancement de "screen"  - A faire DEPUIS le nouvel user "cherrymusic (ou autre nom ..) - Voir Annexes sur "Screen" en bas de page

#  su cherrymusic  
# cherrymusic@xxxxx:~/cherrymusic$ screen

 

- [Depuis ce screen] : Lancement  du server de Streaming :

# cherrymusic@xxxxx:~/cherrymusic$ python30.2 ./cherrymusic

 

- Pour sortir du screen ( "le "détacher") : 

- Partie Firewall ( si vous en avez mis un en place ..) : il ecoute sur le 8080 (et ecoutera egalement sur le 8443 (en https) - A faire donc egalement pour ce 2eme port))

 
- Authentification en SSL  :

Par défaut, les identifiants/password Cherrymusic sont envoyés en clair ... pas terrible.

Heureusement, CherryMusic prévoit cette possibilité : 
Il suffit "simplement" de créer (ou d'acheter) un certificat et parametrer le chemin dans le fichier de config :

- Parametrage fichier de Config :

root@xxxx:/home/cherrymusic# ~/.config/cherrymusic/cherrymusic.conf
ssl_enabled = True
ssl_certificate = srv/ssl/certs/david-www.csr
ssl_private_key = srv/ssl/certs/david-www.nopass.key

- Killer  le Screen en cours, et en restarter un nouveau :

screen -X -S 3354 kill

 
Annexe  "SCREEN" :

Permet de lancer une session [new terminal], et de la laisser en cours , tout en permettant le retour sur le terminal principal ou la fermeture du terminal principal 

- Pour visualiser la liste u/des Screen en cours :

# screen -ls
             3354.pts-2.vpsxxxxx    (17/09/2015 09:46:52)   (Detached)

 

- Pour visualiser le contenu d'un Screen :

screen -r [hosts.tty]
screen -r 3354 

 

- Pour detacher [=sortir] d'un/du screen :

 "Ctrl" + "a" + "d"

 

- Pour Killer un Screen :   [Lien1]   [lien2]

screen -S some_name -X quit
screen -X -S SCREENID kill
screen -X -S 3986 kill

 

- Message erreur possible :

"cannot open your terminal : '/dev/pts/o' - please check
# script /dev/null

 

 

 
Script de demmarage

En cas d'arret/redemmarage du serveur [et pour eviter de rejouer manuellement avec les "Screen"..] ,  (au moins..) deux solutions sont  envisageables :

1ere Solution :  Par Script  (Disponible directement via http://fomori.org/blog/?p=687 , ou via la section "Telechargements" )

- Telecharger le script, et positionner les perms :

chmod 700 cherrymusic-start.sh
chown cherrymusic cherrymusic-start.sh

 

- Pour tester  en Live :

su cherrymusic /bin/bash /home/cherrymusic/cherrymusic-update.sh

 

- Parametrage pour lancement au boot :   Ajout dans le fichier  “/etc/rc.local” :

# start cherrymusic server
/bin/su cherrymusic -c "/bin/bash /home/cherrymusic/cherrymusic-start.sh"

 

2eme Solution :   "As a Service" 

Je vous renvoie aux liens ci-dessous :

https://github.com/Lord-Simon/Scripts/tree/master/cherrymusic

https://it.awroblew.biz/how-to-install-and-configure-cherrymusic-on-a-debian/

 

.

DClassé dans : Linux ,Mots clés : aucun

A propos de l'auteur, admin:

6 commentaires

Vanessa Bonneau a dit : #1

Vous faîtes de l’excellent boulot

gazal download a dit : #2

Definitely imagine that that you said. Your favorite justification seemed to be on the web the easiest thing to have
in mind of. I say to you, I certainly get irked while folks think about
issues that they plainly do not know about. You managed to hit
the nail upon the top and defined out the whole thing without having side effect , people can take a signal.

Will likely be back to get more. Thanks

free ssl godaddy a dit : #3

More SSL means safe andd secure socket layer.

install free ssl on godaddy a dit : #4

More SSL stands for protected socket layer.

Jayden a dit : #5

Further SSL represents secure socket layer.

Elizabeth a dit : #6

SSL certificate rates varies from business to business.

rFil RSS des commentaires de cet article


Écrire un commentaire