[Ubuntu 15.10 Server / Debian 8.2 Server] – Installation de Madsonic 6.0 avec Nginx et Tomcat

Madsonic est un serveur open-source de contenu audio et vidéo en streaming dérivé de Subsonic disposant de fonctionnalités supplémentaires.

Madsonic diffuse instantanément vos médias stockés sur votre serveur sur n’importe quel appareil connecté en s’adaptant à votre débit et ceci à plusieurs utilisateurs simultanément. Madsonic est conçu pour gérer de très grandes collections de médias. En utilisant des plugins de transcodeur, Madsonic supporte la conversion à la volée et le streaming de n’importe quel format audio (MP3, OGG, WMA, FLAC, APE).


Madsonic

1 – OpenJDK

Madsonic est implémenté en Java, vous devez disposer de l’ensemble des bibliothèques logicielles de base du langage de programmation Java (JDK) en version 8 :

Il est possible que d’autres JDK soient installés sur votre système. Pour s’en assurer, lancez la commande suivante :

Deux possibilités s’offrent à vous :

  • 1er cas :

    Sélectionnez la version 8 dans la liste de vos JDK installés.
  • 2ème cas :

    Comme il est indiqué sur la sortie standard, vous n’avez, dans ce cas, rien à configurer.

2 – Tomcat

2.1 – Installation

Madsonic s’exécute dans un serveur d’applications. Notre choix se portera sur Apache Tomcat.

Tomcat est un conteneur web libre de servlets qui implémente les spécifications des servlets et des JSP. Tomcat est paramétrable par des fichiers XML et de propriétés, et inclut des outils de configuration et de gestion.

  1. Téléchargez Tomcat 8 :
  2. Afin de respecter la FHS, nous allons installer Tomcat dans /opt. Créez le répertoire d’installation de Tomcat :
  3. Décompressez l’archive Tomcat :
  4. Madsonic a besoin de 512MB de mémoire classique (mémoire « heap »). Créez le fichier /opt/tomcat/bin/setenv.sh avec la ligne suivante :
  5. Supprimez l’archive téléchargée :
  6. Pour des raisons évidentes de sécurité, il est fortement recommandé de ne pas exécuter Tomcat avec un compte administrateur (root), nous allons donc créer un utilisateur dédié à la gestion du Tomcat :
  7. Affectez l’utilisateur et le groupe tomcat au répertoire d’installation de Tomcat :

2.2 – Création d’un service

L’utilisation d’un service permettra de couper correctement Tomcat après l’arrêt de votre système, de le relancer automatiquement après un redémarrage et de le laisser s’exécuter en arrière-plan.

  1. Créez le fichier /etc/systemd/system/tomcat.service :

  2. Démarrez les services :

3 – Nginx

Tomcat est souvent employé en combinaison avec un serveur Web Apache mais ce dernier est vieillissant et basé sur des processus multiples (multi-thread) lancés à l’initialisation de celui-ci et dont le nombre est déterminé à l’avance. Nginx, quant à lui, est régi par un processus maître qui génère à la volée un processus par requête qu’il reçoit, il fait partie de la famille des serveurs Web asynchrones.
Notre choix se portera donc sur le serveur HTTP Nginx pour une question de performances et de stabilité.

Tomcat inclut un serveur Web Apache par défaut qui permet d’accéder aux applications déployées sur le port 8080 http://localhost:8080/mywebapp. Pour accéder à ces applications sur le port 80 (via http://localhost/mywebapp ou http://mydomain.com), Nginx est utilisé comme proxy inverse (reverse proxy) qui transmet les requêtes qu’il reçoit vers un autre serveur (dans notre cas vers Tomcat).
Pour cela Nginx utilise le module proxy_pass, inclus et activé par défaut.

  1. Installez le paquet nginx :
  2. Pour des raisons de sécurité, il est recommandé de désactiver l’envoi d’informations telles que le numéro de version de votre Nginx. Pour cela, modifiez le fichier /etc/nginx/nginx.conf et décommentez la ligne suivante :

4 – Madsonic

  1. Connectez-vous sous l’utilisateur tomcat :
  2. Téléchargez le WAR Madsonic :
  3. Décompressez l’archive :
  4. Déplacez le WAR dans le répertoire de Tomcat :
  5. Lors de la première exécution, Madsonic créé des fichiers de configuration et stocke sa base de données dans /var/madsonic. Sachant que l’utilisateur sous lequel est lancé Tomcat possède des privilèges limités, Madsonic ne pourra ni accéder ni écrire dans ce répertoire. Il est donc important de créer le répertoire avant le lancement de Madsonic et de donner les droits à l’utilisateur tomcat. Pour cela, déconnectez-vous de l’utilisateur tomcat et repassez sous votre super-utilisateur :
  6. Créez le répertoire /var/madsonic :
  7. Attribuez ce répertoire à l’utilisateur tomcat :

5 – Virtual Host

5.1 – Nginx

Nous allons configurer un hôte virtuel pour accéder à l’application Madsonic via http://music.mydomain.com.

Créez le fichier /etc/nginx/sites-available/music :

La directive client_max_body_size permet, dans notre exemple, de limiter l’upload d’un fichier à 200M, libre à vous de modifier cette valeur.

Activez l’hôte virtuel puis rechargez la configuration de Nginx :

5.2 – Tomcat

Côté Tomcat, il est nécessaire de définir l’hôte virtuel http://music.mydomain.com pour traiter les requêtes envoyées par Nginx. Pour cela, connectez-vous sous l’utilisateur tomcat et suivez la procédure dans cet article dédié à la configuration d’hôtes virtuels au sein de Tomcat -> Tomcat 7.x/8.x – Virtual Host.

6 – Codecs Audio/Vidéo

L’installation de ces outils est facultative mais fortement recommandée si vous souhaitez lire des fichiers audio autres que des MP3 tels que des FLAC, OGG, WMA,… et des fichiers vidéo autres que des fichiers FLV tels que des AVI, MP4, DIVX,…. Ces outils (Audioffmpeg, ffmpeg, LAME et XMP) permettent de transcoder ces fichiers à la volée en fichiers lisibles par votre navigateur (MP3 pour les fichiers audio et FLV pour les fichiers vidéo).

  1. Connectez-vous sous votre utilisateur tomcat :
  2. Téléchargez le pack de codecs correspondant à votre architecture (x32 pour un environnement 32bits ou x64 pour un environnement 64bits)
  3. Décompressez l’archive :
  4. Créez un répertoire transcode dans le répertoire de configuration de Madsonic :
  5. Déplacez les binaires Linux dans le répertoire de configuration de Madsonic /var/madsonic/transcode :
  6. Ajoutez les droits d’exécution aux binaires :
  7. Supprimez les fichiers téléchargés et décompressés :

7 – Terminé !

Démarrez votre tomcat :

C’est terminé ! Ouvrez votre navigateur et rendez-vous à l’adresse définie dans vos hôtes virtuels.

N’oubliez pas de modifier le mot de passe par défaut de l’utilisateur admin dans la rubrique Settings.

8 – Mise à jour de Madsonic

A chaque nouvelle version de Madsonic, vous serez notifié par une icône madsonic_new dans la barre de menu.

La procédure de mise à jour est relativement simple :

  1. Connectez-vous sous votre utilisateur tomcat :
  2. Téléchargez la dernière version du WAR (WAR version – JSP default Tomcat) sur la page de téléchargement du site officiel de Madsonic :
  3. Décompressez l’archive :
  4. Arrêtez Tomcat :
  5. Supprimez les fichiers suivants :
  6. Déplacez le nouveau WAR dans le répertoire de Tomcat :
  7. Supprimez les fichiers téléchargés et décompressés :
  8. Démarrez Tomcat :

9 – Madsonic sur Android…

Madsonic

Découvrez l’excellente application réalisée par Madevil qui se connectera à votre serveur Madsonic pour diffuser l’ensemble de vos médias sur votre appareil Android. Un mode hors-connexion est aussi disponible.

MadsonicMadevilDisponible sur Google Play


Ubuntu 15.10 Server (64bits)Nginx 1.9.3
Tomcat 8.0.28
Madsonic 6.0.7600

Auteur
AuteurEdouard WATTECAMPS

0 réponses

Répondre

Se joindre à la discussion ?
Vous êtes libre de contribuer !

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *