Bonjour,
C'est mon premier post pour partager mes avancées sur la construction d'un serveur de musique pour chez moi...
Mon besoin :
- Indexer ma base de mp3
- Permettre de jouer de la musique à différents endroits de chez moi
- Être contrôlable depuis un IPhone/Blackberry/Android
Ma solution est à peu près fonctionnelle. Il reste encore du boulot mais mon travail peut servir à d'autres qui seraient suffisamment calés pour finaliser/adapter/completer ce que j'ai fait.
N'importe quelle machine capable de faire tourner vlc avec son interface rc devient sur votre réseau local un player pilotable depuis votre portable. (la classe !)
Je précise que je ne suis pas expert donc c'est quand même un peu de la bidouille...
Dans l'avenir :
En fait, tout est assez standard donc la config doit pouvoir se mettre à jour assez facilement...
Le principale risque est que mediatomb modifie la structure de sa base mais dans ce cas on garde la version actuelle...
Le site web doit encore évoluer...
Il faudrait des applications mobiles plutôt qu'un site web pour piloter le lecteur mais ça demande du temps...
Si quelqu'un veut bien s'occuper des applications web, je peux m'occuper des webServices côté serveur.
Il faudrait aussi que les lecteurs soient découverts automatiquement par l'application avec un petit scan du réseau local...
Je suis parti d'une installation vierge pour que ce mode d'emploi soit complet
1. Installation de Ubuntu
J'ai pris la version 11.10 (dernière à date)
Nom : musicServer
User : musicServer
Et cocher la case ouvrir la session automatiquement
2. Retour à l'interface standard de gnome (sans Unity)
ça c'est pour être plus performant avec la prise en main à distance sous vino. Et en plus je n'aime pas Unity mais c'est un avis personnel.
sudo apt-get install gnome-panel
Se déconnecter et se reconnecter de la session en utilisant "Gnome Classic No Effect"
3. Installation d'un server Apache2-MySQL-PHP.
D'autres tuto sont mieux fait mais en bref :
Avec synaptic : installer apache2, mysql-server, php-pear, php-mysql
sudo apt-get install php5
Dans l'installation de mysql, il faut définir le mot de passe du super utilisateur de mysql. (ex: super_utilisateur_mysql)
On récupère l'adresse ip de la machine en faisant
ifconfig
=> IP = 192.168.0.5 (par exemple)
on vérifie que le firewall n'est pas actif... en éditant \etc\ufw\ufw.conf ou avec l'outil graphique gufw
Pour vérifier que apache est bien en place, on essaye depuis un autre ordinateur du réseau d'aller sur
http://192.168.0.5 (ou votre IP)
Ca devrait afficher "It works !"...
Ensuite, retour sur votre server de musique.
on active PHP
sudo a2enmod php5
sudo service apache2 restart
On crée ensuite un fichier info.php dans /var/www/ qui contient juste
<?php
echo phpinfo();
?>
Et depuis un autre ordinateur on vérifie sur
http://192.168.0.5/info.php
Pour ma part, je modifie le php.ini que se trouve dans /etc/php5/apache2/php.ini pour afficher les erreurs :
ligne226 : short_open_tag = On
ligne 514 : error_reporting = E_ALL & ~E_NOTICE
ligne 531 : display_errors = On
(les lignes peuves être différentes).
Ensuite installation de phpmyadmin via synaptic et on coche la configuration automatique de apache2.
A la question faut-il configurer avec ....... ? répondre Oui.
Pour MySQL : on accède à la console avec :
mysql -u root -p
et on tape ensuite le mot de passe (super_utilisateur_mysql) ça permet de vérifier que mysql fonctionne.
On accède à phpmyadmin sur
http://localhost/phpmyadmin utilisateur : root, password : super_utilisateur_mysql
Pour que la musique soit accessible sur le server web, il faut ajouter les lignes suivantes dans :
\etc\apache2\sites-enabled\000-default
Alias /mus/ "/home/musicServer/Musique/"
<Directory "/home/musicServer/Musique/">
</Directory>
4. Installation de Mediatomb
Pour indexer la musique, j'ai choisit mediatomb...
Installation via synaptic.
Dans /etc/mediatomb/config.xml on modifie les infos suivante :
Ligne 7 : <ui enabled="yes" show-tooltips="yes">
Ligne 17 : <sqlite3 enabled="no">
Ligne 20 : <mysql enabled="yes">
On ajoute une ligne dans le bloc mysql :
<password>mediatomb</password> (ou un autre mot de passe).
Dans phpmyadmin, on ajoute un utilisateur mediatomb avec comme mot de passe mediatomb en accès local et avec création d'une base à son nom avec tous les privilèges.
Ensuite on redémarre mediatomb :
sudo service mediatomb restart
On peut vérifier sur
http://localhost:49152/
On selection le répertoire de musique et on ajoute un refresh régulier (cf la doc de mediatomb si besoin).
On peut vérifier dans phpmyadmin que la base de données se rempli correctement.
5. Installation d'un serveur ftp
synaptic : vsftpd
sudo gedit /etc/vsftpd.conf
on modifie :
local_root = /var/www/ (à créer)
local_umask = 0000
write_enable = Yes
6. Installation de VLC
via synaptic choisir VLC.
Ensuite dans les "applications aux démarrage" ajouter "vlc --extraintf rc --rc-host 0.0.0.0:4212"
Vous pouvez aussi le taper tout de suite pour lancer vlc avec son interface remote control :
vlc --extraintf rc --rc-host 0.0.0.0:4212
7. Pour monter un disque usb
Si c'est un disque de musique, vous pouvez le monter dans votre répertoire de musique.
- créer le repertoire de montage dans le repertoire /home/musicServer/Musique
- utiliser l'utilistaire pysdm pour monter le disque au bon endroit.
on peut utiliser sudo blkid pour récupérer l'UUID du disque et remplacer dans /etc/fstab le "/dev/sdb1" par l'UUID.
8. Le site web
Je vous envoie le site web php si vous me le demander sur akayaka [at] free [dot] com
Il suffit de l'installer dans /etc/www/
On accède ensuite à sa bibliothèque depuis n'importe quel device sur
http://192.168.0.5/musicServer (à personnaliser avec votre adresse)
Le fichier config.php doit être paramétré pour indiquer les lecteurs présents sur votre réseau.
Il reste encore beaucoup à faire pour améliorer le site web...
Il risque d'y avoir un problème de droit sur les fichiers ajoutés au répertoire /etc/www/ il faut modifier les permissions !
akayaka