En début d’année, Pierre vous présentait un guide pour recycler un vieux PC en serveur musical Daphile. Le tout reposait donc sur un ordinateur hébergeant le système d’exploitation Daphile qui permettait ensuite d’accéder à sa musique depuis un autre PC sur votre réseau domestique. Pour ma part, je vais vous proposer un concept assez similaire à une différence près, le serveur sera installé sur une distribution Debian et donc un ordinateur parfaitement exploitable.
Pour les néophytes, cela ne signifie surement pas grand-chose, mais sachez que cela permet de pouvoir installer d’autres choses au sein du même ordinateur exécutant notre application à la différence de Daphile, qui ne fera qu’exécuter un serveur audio. Cherrymusic est donc un serveur en tâche de fond sous le système Debian qui rend les mêmes services que Daphile, à une petite différence près : il ne prend pas en compte pour le moment les formats lossless comme le FLAC et ses dérivés, cela viendra peut-être avec le temps et de futures mises à jour.
Avant de commencer, nous allons faire la liste de ce qu’il nous faut pour commencer l’installation d’un serveur Cherrymusic. Pour ma part j’utilise le serveur sur une machine virtuelle sur Oracle VM VirtualBox, mais il est tout à fait possible d’exploiter une vieille machine, le serveur ne demandant pas beaucoup de ressources.
Il nous faudra donc, pour la machine hébergeant le serveur :
- Au minimum 512Mo de mémoire vive
- Une carte réseau Ethernet
- Un espace de stockage suffisant pour vos musiques + 8 Go pour Debian
- Un processeur quelconque du moment qu’il marche
- Un clavier
- Un port USB
Pour la configuration et l’utilisation du serveur :
- Un ordinateur sur le même réseau internet
- Le logiciel Putty que vous pourrez télécharger en cliquant ici même.
- Le logiciel WinSCP que vous trouverez ici même. ( Le premier lien : Installation Package )
- Un navigateur internet
Et pour finir, vos deux mains s’avéreront utiles également.
Première étape : L’installation de Debian
Nous allons tous d’abord, créer une clé USB bootable contenant l’image de Debian pour l’installer sur la machine serveur. Il vous faudra donc une clé d’au moins 512 Mo et le logiciel UNetbootin disponible ici via leur site officiel.
Dans un premier temps, il vous faudra récupérer l’ISO de Debian, nous allons les prendre au format « net install » qui nécessite une connexion internet lors de l’installation, mais qui ne pèse pas plus de 250Mo contre 4Go pour l’ISO standard. Pour ce faire deux versions sont disponibles, en version i386 pour les processeurs à l’architecture 32 bits ou en version amd64 pour les versions 64 bits. Une rapide recherche sur internet vous permettra de connaitre la compatibilité de votre processeur. Au cas où vous ne trouvez pas, prenez la version 32 bits qui est dans tout les cas, compatible avec les processeurs 64 bits.
Après avoir téléchargé l’ISO, il vous faudra lancer UNetbootin. Renseignez-y le chemin de l’ISO fraîchement téléchargez ainsi que la lettre identifiant le lecteur de votre clé USB. Et cliquez sur OK.
Après avoir attendu que le logiciel fasse son travail, cliquer sur quitter pour fermer le logiciel.
Branchez ensuite la clé USB sur le PC que vous voulez transformer en serveur, démarrez l’ordinateur et faites le démarrer sur le BIOS. Pour cela, il faut appuyer sur F2 ou Del/suppr lors du démarrage. Une fois dans le bios, il vous faut trouver le menu « boot« , puis chercher la liste de tous les périphériques de démarrage. Il vous faudra donc mettre la clé USB en haut de la liste afin de faire démarrer votre ordinateur dessus.
Une fois lancé, vous vous retrouverez donc sur le page d’accueil de l’installation de Debian. Pour Cherrymusic, nul besoin d’interface graphique particulière, nous allons donc choisir « Install » soit la première option.
En premier lieu, nous allons sélectionner notre langue, choisissez celle qui vous convient le mieux, pour nous se sera français. Puis la situation géographique, pour nous, France. Et la disposition de votre clavier, encore une fois, français dans notre cas.
Il vous faudra ensuite choisir un nom pour la machine, le choix est libre, il vous permet juste de reconnaitre l’ordinateur dans votre réseau domestique. On vous demandera ensuite un nom de domaine, laissez le champ vide et appuyez sur entrer.
Viendra alors une étape importante, le choix du mot de passe root, ce mot de passe correspond a un compte administrateur et permet de faire absolument ce que l’on veut de la machine, choisissez-en donc un assez fort, ne le perdez pas, et ne le donnez pas à n’importe qui. Il faudra donc le remplir une première fois puis le revalider une seconde fois.
En plus du compte root, il vous faudra créer un compte d’utilisateur normal. Remplissez donc les champs demandés, nom complet, ainsi que son mot de passe, ne mettez pas le même que sur le compte root.
Vous allez cette fois-ci vous retrouver sur le choix de votre type de partitionnement, vu que nous n’avons pas besoin de beaucoup de sécurité, nous allons choisir la première option. Sélectionnez ensuite votre disque. Vu que nous allons mettre nos musiques dans un dossier personnel, nous allons choisir de séparer la partition /home dans le disque dur, soit la seconde option. Vérifier que tout est bon et choisissez de terminer le partitionnement, puis oui lors de l’écran suivant.
Nous allons ensuite devoir configurer la gestion l’outil de gestion de paquet. C’est ce qui permet a Debian de récupérer des applications sur des dépôts en ligne. Choisissez donc votre emplacement géographique, dans notre cas, France. Puis quel miroir allons-nous utiliser, dans notre cas le premier qui reste le plus utilisé. Il est possible d’utiliser un mandataire http qui contient un ensemble de mises à jour pour faire l’installation plus rapidement, mais comme nous n’en avons pas, nous allons laisser vide.
Si vous rencontrez une erreur signalant un dépôt corrompu, il s’agit probablement d’un bug survenu lors de l’installation et il faudra donc la recommencer de zéro, mais rassurez-vous, il y a peu de chance que cela arrive.
Lors de l’installation, Debian vous demandera si vous souhaitez leur faire parvenir des informations sur les paquets que vous installer sur votre système, libre à vous de choisir oui ou non. Ensuite, le système vous demandera quel logiciel voulez-vous installer en plus de l’installation de base. Utilisez la barre d’espace pour choisir ou enlever une case, ne laissez que la dernière case « Utilitaire usuel du système » et faites entrée. À la fin de l’installation, il vous est demandé d’installer GRUB sur le système d’amorçage, cela permet de faire démarrer votre OS, sélectionner oui. Le système vous indique que l’installation est terminée, choisissez continuer pour faire redémarrer votre ordinateur. Vous pouvez alors retirer votre clé USB et continuer.
Seconde partie : Installation et configuration de Cherrymusic
Toute la partie qui va suivre va se passer en ligne de commande, il faudra donc indiquer les commandes fournies par ce guide afin de réaliser les actions qui vous seront décrites au fur et à mesure. Debian prend en compte la valeur des caractères, veuillez donc respecter attentivement les majuscules et minuscules sous peine de voir la commande échouer.
Après le démarrage, vous arriverez sur l’écran d’accueil de votre système, mettez donc root en login puis le mot de passe associé. Par défaut, le système utilise une IP dynamique que votre Box internet lui fournit par son DHCP. Cherrymusic étant un serveur, il faut donc lui mettre une IP fixe afin que cette dernière ne change plus.
Pour cela, nous allons modifier le fichier contenant vos informations IP. Il faut donc utiliser la commande nano qui est un éditeur de texte, suivi du chemin et du nom du fichier. Pianotez :
nano /etc/network/interfaces
Une fois dans le fichier, mettez-y les informations de votre choix. Je vous conseille de choisir un IP au-dessus de 19.168.1.50, afin d’être sur de ne pas créer de conflit. Voici donc l’avant et après, remplissez comme ci-dessous. Et une fois les modifications faites, entrer la commande CTRL (de gauche) + o puis entrer afin de sauvegarder les modifications puis CTRL + x pour quitter nano.
Il ne vous reste plus qu’a redémarre votre interface IP. Si vous êtes sur une machine physique, effectuez la commande suivante :
/etc/init.d/networking restart
Et pour être sur que les modifications ont bien été effectuées, faites la commande :
ifconfig
Afin de vous faciliter la vie, nous allons installer SSH qui permettra d’utiliser un terminal directement connecté à votre machine, ce qui vous autorisera les copier/coller des commandes fournies ici. Pour cela nous allons commencer par installer SSH sur votre Debian. Premièrement, nous allons mettre à jour la synchronisation ce qui nous assurera de disposer des dernières versions disponibles.
apt-get update
Puis nous allons récupérer le paquet voulu et l’installer, aucunement besoin de configuration, tout sera automatique.
apt-get install openssh-server
Une fois installé, lancé le logiciel Putty sur votre ordinateur. Renseignez-y votre adresse IP du serveur, puis cliquer sur open. Il ce peut que Putty vous affiche une alerte de sécurité, il vous suffira juste de cliqué sur oui. Vous voilà donc directement connecté à votre serveur à partir de votre ordinateur. Relogez-vous avec le compte root et nous allons continuer. Pour coller, il suffit de faire un clic droit dans Putty.
Nous allons ensuite créer un utilisateur cherrymusic afin de profiter de la création automatique de son répertoire personnel qui nous servira par la suite.
adduser cherrymusic
(Pour rappel, un copier-coller s’effectue avec un Ctrl-C sur cette page et un clic gauche de la souris sur le terminal du Putty.)
Mettez-lui le mot de passe de votre choix. Ensuite nous allons créer le dossier qui nous servira à y stocker les musiques. Pour moi, ce sera data, mais vous êtes libre de ce choix, il faudra juste le mémoriser pour plus tard.
mkdir /home/cherrymusic/data
CherryMusic se base sur le langage Python, il nous faut donc installer Python sur notre serveur, pour cela :
apt-get install python3
Il va maintenant falloir installer toutes les dépendances nécessaires au bon fonctionnement, pour cela :
apt-get install mpg123 faad vorbis-tools flac imagemagick lame python3-unidecode
Cherrymusic ne faisant pas partie officiellement de Debian, il faudra donc l’obtenir avec une autre méthode. Pour cela nous allons utiliser Git qui permet de récupérer des paquets non officiels de façon sécurisée sur le site de Git.
apt-get install git
Après cela nous allons donc récupérer la dernière version de Cherrymusic sur les serveurs avec cette commande :
git clone --branch devel git://github.com/devsnd/cherrymusic.git ~/cherrymusic-devel
Une fois téléchargé, il nous faut aller dans le répertoire du téléchargement :
cd cherrymusic-devel
Puis il nous faut initialiser l’installation avec la commande suivante :
python3 ./cherrymusic
Après cette rapide installation, nous allons éditer le fichier de configuration afin de faire fonctionner correctement le serveur.
nano ~/.config/cherrymusic/cherrymusic.conf
Dès le début du fichier, vous verrez donc la référence basdir = none, il nous faut la remplacer par notre chemin personnel soit /home/cherrymusic/data soit le chemin crée au début. Sauvegarder avec CTRL + o puis entrer et quitter avec CTRL + x.
Debian vous permet de lancer les services de deux manières différentes, soit via la commande service soit via le répertoire contenant les services /ect/init.d/. De base, Cherrymusic n’est pas disponible sous forme de service. Mais grâce à un script créé par Mord-Simon, nous allons pouvoir utiliser la commande Service pour notre serveur. Pour cela nous allons commencer par installer wget qui permet de récupérer un paquet depuis le web.
apt-get install wget
Puis d’aller chercher le script :
wget --no-check-certificate https://github.com/Lord-Simon/Scripts/raw/master/cherrymusic/cherrymusic -O /etc/init.d/cherrymusic
Et il va falloir de le rendre exécutable :
chmod +x /etc/init.d/cherrymusic
Cependant, sans configuration, le script ne marchera pas, il va falloir le modifier afin de le rendre opérationnel. Sur la quatrième ligne : DIR=, il vous faut renseigner :
/root/cherrymusic-devel
Plus bas, vous aurez une ligne PYTHON=, il faudra cette fois mettre :
/usr/bin/python3
Plus bas encore, vous aurez une zone # Permissions avec les lignes USER= et GROUP=, il vous suffit de mettre root à la ligne USER=.
Vous vous retrouverez donc avec un fichier comme ci-dessous.
Il vous est maintenant possible d’utiliser la commande service pour cherrymusic. Il faudra donc faire « service cherrymusic argument » et voici la liste des arguments possible :
- start – pour démarrer le service (toute les commandes suivantes nécessitent que le serveur soit démarré)
- stop – pour arrêter le service
- restart – pour redémarrer le service
- status – pour afficher le statut du service
- update – pour mettre à jour le service
Troisième partie : Ajout de musique sur votre serveur.
Afin de transférer rapidement et facilement de la musique sur le serveur, nous allons passer par le logiciel WinSCP. Il est tout à fait possible de passer par un stockage externe, mais cela est plus contraignant qu’autre chose, car Debian en ligne de commande ne connecte pas automatiquement votre stockage externe. Lancez donc le logiciel winSCP sur votre ordinateur contenant vos musiques. Renseignez-y vos informations du serveur à savoir son IP et le compte root ainsi que son mot de passe. Et faites Login. Il se peut que le mot de passe ne soit pas pris en compte, il vous suffira de le remettre dans la nouvelle fenêtre et de ne pas oublier de cocher la case pour vous souvenir du mot de passe.
Vous aurez donc une fenêtre avec deux parties, à gauche votre ordinateur et à droite votre serveur. Dans la partie de gauche, je vous laisse naviguer jusqu’à vos musiques, ne connaissant pas vos répertoires. Dans la zone de droite, suivez les captures d’écran. Une fois dans le dossier de vos musiques et dans celui du serveur, il ne vous reste plus qu’à faire un glisser/déposer de ce que vous souhaitez exporter sur votre serveur.
Une fois toutes vos musiques exportées, effectuez la commande suivante afin de mettre à jour les informations (le service cherrymusic doit être démarré).
service cherrymusic start
Quatrième partie : Utilisation de cherrymusic
Maintenant, à partir de n’importe quel ordinateur au sein de votre réseau domestique, ouvrez votre navigateur internet favori et connectez-vous sur votre serveur.
http://192.168.1.XXX:8080
Lors de votre première connexion, le serveur vous demandera de créer votre compte administrateur pour cherrymusic. Vous voilà maintenant connecté à votre serveur. La page par défaut est vide, ou remplie avec des citations ou des alertes de mise à jour. Il vous suffit de cliquer en haut sur « browse files » pour accéder à toutes vos musiques. À vous d’en profiter maintenant. La clé vous permet d’accéder aux différentes options. Rien de vraiment très compliquer d’utilisation.
Cinquième partie : Bonus Firefox
Pour les personnes qui, comme moi, utilisent Firefox, il est possible de profiter d’un module pour pouvoir disposer de raccourcis de lecture sur votre serveur sans être sur sa page. Le module se trouve donc à cette adresse, il vous suffit donc de le rajouter à votre navigateur pour en profiter.
Ce module vous permet donc de mettre pause et lecture, de faire précédent et suivant, et si vous laisser votre souris sur l’infobulle, d’afficher les informations sur la musique en cours de lecture. Il ne faut cependant pas quitter la page de votre serveur, laisser là dans un onglet dans un coin pendant que vous utilisez internet.
Profitez !
Et voilà ce guide en est fini, comme vous avez pu le voir, rien de bien compliqué, un serveur audio simple et rapide à mettre en place. L’utilisation est elle aussi très simple avec une interface accessible. Mais là où Cherrymusic s’avère très pratique, c’est du fait de sa très faible consommation de ressources en tournant sur Debian. Ce qui lui permet d’être également très facilement accessible hors de votre réseau domestique. Je me sers personnellement de mon serveur au travail alors que ce dernier est chez moi.
Pour cela, nous le verrons dans une partie supplémentaire, il faut faire quelques modifications supplémentaires qui demandent un peu plus de connaissances et de manipulations.
Si vous rencontrez des soucis ou que vous avez une quelconque question, n’hésitez pas à m’en faire part dans les commentaires.
2,5€ par mois | 5€ par mois | 10€ par mois | Le montant de votre choix |
je ne connaissais pas ce serveur de musique.
je suis plutôt « MPD » ou « LMS » ou encore madsonic/subsonic avec des différences.
Ne pas supporter les formats lossless c est assez rédhibitoire je trouve perso :/
mais ca à l’air assez sympa.
par contre je ne suis jamais d’accord sur le fait de mettre des ip en dur sur des serveurs domestiques.
En cas de changement de box/routeur ca peut vitre etre très galère.
je privilégie de mettre un ip fixe par adresse mac dans le config du routeur.
@n1kod: Pour le moment, cherry est encore en version 0.36, ça va donc évoluer dans le futur, les gros avantage reste sa simplicité et sa possibilité de le mettre en ligne facilement.
Ce qui viendra après.
Pour ce qui est des IP, c’est un TUTO pour tout le monde, si nous commençons directement avec de la config, on va en perdre beaucoup.
Après c’est assez rare de changer de box, et ceux qui savent le faire, le feront, en soit, cela n’est pas vraiment risqué de passer par cette méthode.
sans vouloir tout casser,
j’ai trouvé mieux(via korben) même s’il manque encore des fonctionnalités
il est full HTML5, responsive design, léger et très fluide
https://www.sonerezh.bzh/
@[HG] TJ619
Je comprends tout à fait la nécessité de faire quelque chose d’assez général dans un tuto.
@[HG] TJ619
Je voulais également te remercier pour ce tuto.
Je sais pas si « simplicité » est le mot adéquat !
@mum1989: J’ai vu aussi sur le blog de Korben, mais je n’ai pas tester à l’heure actuel ayant déjà mon serveur Cherry qui tourne
@n1kod: Avec plaisir ^^
@Jojo Le Mérou: Je t’assure que c’est assez simple comparer à d’autre chose, honnêtement pour en avoir monter quelqu’un avec ma procédure, montre en mains j’en ai pour moins de 10 minutes à le mettre en place sans musique.
Bonjour
Je partage ma music à l’aide d’un Raspberry PI (Modell B Rev 2.0, 512MB) et subsonic 4.6 (serveur jetty-6.1.x), mes mp3 étant sur un dur externe relié en usb.
Ca fonctionne bien quand les mp3 sont lus mais c’est assez lent pour obtenir la liste des répertoires (j’utilise subsonic 4.6 pour avoir la listes de mp3 par répertoires et non par albums/artistes)
Il n’y a que moi qui sait où sont les albums mais je suis le seul à lire mes mp3.
Bref, je me demande s’il n’y aurait pas une solution + légère.
Auriez-vous des idées ?
Je parlais de l’aspect barbare des fenêtres et du côté rédhibitoire de taper des lignes de code !
Sans compter que je comprends pas le gain par rapport à une solution dans le cloud ou à un serveur iTunes (qui est fermé, OK, ça je sais)…
Merci pour ce tutoriel et merci à mum1989 pour l’alternative de breizh
Par contre y aurait pas plutot un distro avec un package pour cherrymusic? Je m’interdis les logiciels installés via git (surtout un branche devel) car j’aime la stabilité.
Ah je viens de voir qu’il est packagé sur Archlinux, installable via yaourt!! Merci
Des tutos sur Minimachines c’est une très bonne idée ! Merci !
@Jojo Le Mérou: Un cloud comme tu l’a dit, c’est fermé. Cherry étant sur Debian, tu peux en faire plus qu’un simple Cherry.
@Ted: Cherry est stable, pour m’en servir tout les jours sur le net, jamais eut de soucis avec, il répond très bien.
Pour arch, je n’ai pas testé. Après c’est un autre niveau pour en faire un tutoriel ^^
@Nielda: Ce n’est pas le premier tu sais ? ^^
@ Pierre,
Voila un tuto clair et détaillé ! Comme d’hab Pierre, merci pour ton travail très pro : on sent que tu as la fibre !
Cio
@Raph: En l’occurrence ce n’est pas moi qui l’ai écrit :). Il faut remercier @[HG] TJ619.
@ Pierre : ooops :)
@ [HG] TJ619 : Merci pour ce Tutorial. Cela me rappelle les temps anciens de blogeee où l’actualité n’était pas que commerciale.
Une minimachine peut également l’être par son prix et pas uniquement par sa taille.
Un site consacré aux minimachines doit selon moi proposer des solutions logicielles gratuites pour améliorer notre condition d’utilisateur moyen.
Si en plus, cela peut nous permettre d’apprendre, c’est encore mieux !
@pmwiki: Avec plaisir ^^
Si on a des facilité, autant les faire partager aux autres.
Le site est bien la pour ça après tout.
Après étant avant tous passionné par Linux bien plus que Windows, il est toujours fou de voir toutes les possibilité libre que l’on peut trouver.
Et rassurez vous, j’en présenterai bien d’autres quand j’en aurais le temps. ET pierre le fera aussi de toute façon.
Très sympa ce tuto, merci. La complexité relative est surtout liée à l’installation du serveur linux et à la commande à distance à partir de Windows. Pour ceux qui ont déjà une minimachine sous linux c’est en effet extrêmement rapide de mettre cette solution en place.
L’intérêt est aussi que cherry est constitué de scripts Python non compilés dont on peut prendre connaissance des rouages facilement puis éventuellement modifier, améliorer, publier.. bref apprendre et progresser plutôt que de faire confiance en aveugle au nuage et devenir de + en + euhmeuhm…
@Pierre : Un espace wiki pour tutos sur ton site ça pourrait aussi peut-être faire émulation ?
@VB: Pas de soucis ^^
Oui pour les « habitué, en moins de 10minutes le serveur est en place. Après sinon si on suit attentivement ça se fait sans grand soucis.
Après pour le python, je n’y connais rien, je suis une bille en programmation, même si je comprend vite fais le code, je n’irai pas plus loin. ^^
[…] Suivant les modèles vous aurez doit ou non à une sortie audio évoluée : Du classique jack 3.5 mm aux sorties son via HDMI voire, sur certains rares modèles, la présence d’une sortie audio S/PDIF Toslink. Ce défaut d’une maigre prise audio stéréo pourra se compenser par l’ajout d’un DAC USB LowCost qui apportera une touche numérique à vos traitement audio sur MiniPC. Ces machines peuvent d’ailleurs faire d’excellentes solutions audio sous Daphile ou CherryMusic. […]