Ce tutoriel va vous montrer comment installer le serveur multimédia Subsonic sur Ubuntu 16.04 et comment configurer un proxy inverse pour Subsonic en utilisant Nginx ou Apache.
Subsonic est un streamer multimédia gratuit basé sur le Web écrit en Java, disponible pour Linux, MacOS et Windows. Avec Subsonic, vous pouvez diffuser votre musique depuis un ordinateur personnel ou n'importe quel ordinateur public et écouter votre musique depuis n'importe où avec un navigateur Web. Vous n'avez donc pas besoin de synchroniser votre musique avec une application de synchronisation de fichiers comme Resilio Sync ou Syncthing.
Caractéristiques subsoniques
- Prend en charge MP3, OGG, AAC et tout autre format audio ou vidéo diffusé via HTTP.
- Fonctionne avec n'importe quel lecteur multimédia compatible réseau, tel que Winamp, iTunes, XMMS, VLC, MusicMatch et Windows Media Player
- Affichage des pochettes d'album, listes de lecture à la volée, transcodage à la volée
- Application mobile pour Android, iPhone, Windows Phone et application de bureau pour Mac, Windows et Chrome. L'application Android prend en charge la lecture hors connexion.
- Écoutez des podcasts, attribuez des notes, ajoutez des commentaires et créez des playlists.
- Partagez votre musique avec vos amis et votre famille.
- Streamer des vidéos (fonctionnalité premium)
- et plus
Remarque que Subsonic est fermé depuis la version 6.0.
Comment installer Subsonic Media Server sur Ubuntu 16.04
Le serveur multimédia Subsonic est écrit en Java, vous devez donc installer l'environnement d'exécution Java pour l'exécuter. Vous pouvez installer openjdk 8 avec la commande suivante.
sudo apt install openjdk-8-jre
Si vous avez déjà installé Oracle Java 8, il n'est pas nécessaire d'installer OpenJDK. Ensuite, téléchargez le package Subsonic deb avec la commande suivante, qui télécharge la version 6.1.5. Vous pouvez consulter la dernière version sur la page de téléchargement de Subsonic. Si une nouvelle version est disponible, remplacez simplement 6.1.5 par le nouveau numéro de version.
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.5.deb
Installez-le avec dpkg
.
sudo dpkg -i subsonic-6.1.5.deb
Une fois installé, le démon Subsonic démarrera automatiquement.
systemctl status subsonic
Exemple de sortie :
● subsonic.service - LSB: Subsonic daemon Loaded: loaded (/etc/init.d/subsonic; bad; vendor preset: enabled) Active: active (running) since Fri 2017-03-24 08:03:27 EDT; 7min ago Docs: man:systemd-sysv-generator(8) CGroup: /system.slice/subsonic.service └─3316 java -Xmx150m -Dsubsonic.home=/var/subsonic -Dsubsonic.host=0
S'il ne fonctionne pas, vous pouvez le démarrer manuellement avec
sudo systemctl start subsonic
Et activez le démarrage automatique au démarrage du système.
sudo systemctl enable subsonic
Par défaut subsonic écoute sur 0.0.0.0:4040
, ce qui signifie qu'il accepte les requêtes du réseau local et d'Internet.
Si vous avez installé Subsonic sur un ordinateur Ubuntu local, saisissez l'adresse suivante dans le navigateur pour visiter l'interface Web de Subsonic.
http://localhost:4040
Si vous avez installé Subsonic sur un serveur Ubuntu connecté à Internet, saisissez l'adresse suivante dans le navigateur pour accéder à l'interface Web de Subsonic.
http://your-server-ip:4040
Veuillez noter que si vous installez le serveur multimédia Subsonic sur un serveur domestique et que vous souhaitez y accéder depuis un réseau extérieur, vous devrez alors configurer la redirection de port dans votre routeur.
Le nom d'utilisateur et le mot de passe par défaut sont admin
. Après la connexion, vous devez aller dans Paramètres > Utilisateurs pour changer le mot de passe administrateur.
Ajoutez également des dossiers multimédias dans la page des paramètres et cliquez sur le bouton Enregistrer. Notez que le dossier doit être accessible à l'utilisateur sous lequel Subsonic s'exécute. Une fois le dossier ajouté, cliquez sur le bouton "Analyser le dossier multimédia maintenant" et vous pourrez écouter de la musique dans la page d'index.
Changer d'utilisateur
Par défaut, le processus Subsonic est exécuté en tant qu'utilisateur root. Pour des raisons de sécurité, vous devez le changer en un utilisateur normal, ce qui se fait en modifiant le /etc/default/subsonic
fichier.
sudo nano /etc/default/subsonic
Recherchez la ligne suivante :
SUBSONIC_USER=root
Changez la racine de votre propre compte d'utilisateur comme linuxbabe
.
SUBSONIC_USER=linuxbabe
Enregistrez et fermez le fichier. Redémarrez ensuite le démon subsonic pour que la modification prenne effet.
sudo systemctl restart subsonic
Configuration du proxy inverse Nginx pour Subsonic
Si vous souhaitez utiliser un nom de domaine pour l'interface Web Subsonic, vous pouvez configurer le proxy inverse Nginx. Installez Nginx sur Ubuntu 16.04 à l'aide de la commande ci-dessous.
sudo apt install nginx
Créez ensuite un fichier de bloc de serveur pour le proxy.
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
Mettez le texte suivant dans le fichier. Remplacez subsonic.your-domain.com
avec votre propre nom de domaine. Le bloc location {…} fera des requêtes proxy Nginx au démon Subsonic. N'oubliez pas de définir un enregistrement A pour le sous-domaine.
server { listen 80; server_name subsonic.your-domain.com; location / { proxy_pass http://127.0.0.1:4040; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
Enregistrez et fermez le fichier. Testez ensuite la configuration de Nginx.
sudo nginx -t
Si le test réussit, rechargez Nginx pour que la nouvelle configuration prenne effet.
sudo systemctl reload nginx
Maintenant, le serveur multimédia subsonic est placé derrière Nginx et vous pouvez accéder à l'interface utilisateur Web Subsonic en utilisant un nom de domaine (subsonic.your-domain.com
)
Activer HTTPS avec Nginx
Pour activer la connexion sécurisée HTTPS, vous pouvez obtenir et installer un certificat TLS/SSL gratuit de Let's Encrypt. Installez le client Let's Encrypt (certbot) avec :
sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt-get install certbot python3-certbot-nginx
Exécutez ensuite la commande suivante, qui utilise le plug-in Certbot Nginx pour obtenir et installer automatiquement le certificat TLS. Remplacez le texte rouge par vos données réelles.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain subsonic.your-domain.com
En quelques secondes, vous devriez voir un message de félicitations comme ci-dessous, ce qui signifie que le certificat a été obtenu avec succès.
Retournez à l'interface Web de votre serveur multimédia Subsonic, vous constaterez que la connexion HTTP est automatiquement redirigée vers Connexion sécurisée HTTPS. Ensuite, nous devons modifier le fichier de configuration Nginx.
sudo nano /etc/nginx/conf.d/subsonic-proxy.conf
Il y a maintenant deux blocs de serveur {…}, car Certbot a automatiquement configuré le bloc de serveur SSL (écoutez 443 ssl). Dans le bloc SSL server, ajoutez la ligne suivante dans le bloc location / {…}.
proxy_redirect http:// https://;
Cette ligne redirigera toute réponse du serveur http vers la réponse du serveur https, qui est nécessaire pour afficher correctement la page des paramètres Subsonic. Enregistrez et fermez le fichier. Testez la configuration de Nginx et rechargez.
sudo nginx -t sudo systemctl reload nginx
Configuration du proxy inverse Apache
Si vous préférez Apache à Nginx, installez-le avec :
sudo apt install apache2
Pour utiliser Apache comme proxy inverse, nous devons activer le proxy
modules et le module d'en-tête.
sudo a2enmod proxy proxy_http headers
Créez ensuite un fichier d'hôte virtuel pour le serveur multimédia Subsonic.
sudo nano /etc/apache2/sites-available/subsonic-proxy.conf
Mettez les configurations suivantes dans le fichier. Remplacez subsonic.your-domain.com
avec votre vrai nom de domaine. N'oubliez pas de créer un enregistrement DNS A pour ce sous-domaine.
<VirtualHost *:80> ServerName subsonic.your-domain.com ErrorDocument 404 /404.html DocumentRoot /var/www ProxyPass / http://localhost:4040/ ProxyPassReverse / http://localhost:4040/ Header always unset X-Frame-Options </VirtualHost>
Enregistrez et fermez le fichier. Activez ensuite cet hôte virtuel.
sudo a2ensite subsonic-proxy.conf
Redémarrez Apache
sudo systemctl restart apache2
Vous pouvez désormais accéder à l'interface utilisateur Web Subsonic en utilisant un nom de domaine.
Activer HTTPS avec Apache
Pour activer la connexion sécurisée HTTPS, vous pouvez obtenir et installer un certificat TLS/SSL gratuit de Let's Encrypt. Installez le client Let's Encrypt (certbot) avec :
sudo apt-get install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt-get update sudo apt install certbot python3-certbot-apache
Ensuite, obtenez et installez un certificat à l'aide du plugin apache.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --must-staple --email your-email-address -d subsonic.your-domain.com
En quelques secondes, vous devriez voir un message de félicitations comme ci-dessous, ce qui signifie que le certificat a été obtenu avec succès.
Votre certificat TLS sera automatiquement installé. Accédez à nouveau à l'interface Web de votre serveur multimédia Subsonic, vous constaterez que la connexion HTTP est automatiquement redirigée vers une connexion sécurisée HTTPS.
Comment mettre à niveau vers la dernière version
Il est très facile de mettre à niveau le serveur Subsonic existant vers la dernière version. Allez d'abord sur la page de téléchargement de Subsonic et téléchargez le dernier package Debian/Ubuntu (6.1.2 dans cet exemple). Vous pouvez obtenir le lien de téléchargement dans le gestionnaire de téléchargement de Firefox, comme indiqué dans la capture d'écran ci-dessous.
Ensuite, dans le terminal, vous pouvez coller le lien de téléchargement après wget pour télécharger Subsonic depuis la ligne de commande.
wget https://s3-eu-west-1.amazonaws.com/subsonic-public/download/subsonic-6.1.2.deb
Ensuite, utilisez dpkg pour installer le paquet deb.
sudo dpkg -i subsonic-6.1.2.deb
Redémarrez le service Subsonic Systemd et vous avez terminé.
sudo systemctl restart subsonic
J'espère que ce tutoriel vous a aidé à installer le serveur multimédia Subsonic sur Ubuntu 16.04. Comme toujours, si vous avez trouvé cet article utile, abonnez-vous à notre newsletter gratuite. Vous pouvez également nous suivre sur Google+, Twitter ou aimer notre page Facebook.