Comment installer Airsonic Media Server sur Ubuntu 18.04 LTS

Airsonic est un serveur multimédia gratuit et open source. C’est un streamer multimédia basé sur le Web et auto-hébergé qui fournit un accès omniprésent à ta musique, facilite le partage de ta musique avec tes amis ou l’écoute de ta musique au travail. Airsonic a été créé avec Java comme un fork complet de Subsonic, et conçu pour gérer de très grandes collections de musique et optimisé pour le streaming MP3. Airsonic fonctionne avec tous les formats audio ou vidéo qui peuvent être diffusés en continu via le protocole HTTP, notamment WMA, FLAC, APE, etc.

Dans ce tutoriel, je vais te montrer, étape par étape, comment installer Airsonic sur Ubuntu 18.04. Nous te montrerons comment déployer l’installation autonome d’Airsonic à l’aide du paquet .WAR, exécuter Airsonic en tant que service, puis configurer le serveur Web Nginx en tant que proxy inverse pour Airsonic.

Conditions préalables

  • Ubuntu 18.04
  • Privilèges de racine

Ce que nous allons faire ?

  1. Installer Java OpenJDK
  2. Installer et configurer AirSonic
  3. Générer un nouveau certificat SSL Letsencrypt
  4. Configurer Nginx en tant que Reverse Proxy
  5. Configurer le pare-feu UFW
  6. Tester

Étape 1 – Installer Java OpenJDK

Airsonic est un logiciel d’application basé sur Java, nous devons donc installer Java sur le serveur, et cela nécessite l’installation de la série OpenJDK 1.8x. Dans cette première étape, nous allons installer Java OpenJDK à partir du dépôt PPA webupd8team.

Installe les paquets ‘software-properties-common’, puis ajoute le dépôt PPA de Java OpenJDK.

Exécute les commandes apt suivantes.

sudo apt install software-properties-common apt-transport-https -y
sudo add-apt-repository ppa:webupd8team/java -y

Installe maintenant le Java OpenJDK.

sudo apt install oracle-java8-installer -y

Et une fois l’installation terminée, vérifie la version de Java OpenJDK.

java -version

Tu obtiendras maintenant que la série Java OpenJDK 1.8 a été installée sur le système Ubuntu 18.04.

Installe Java OpenJDK

Étape 2 – Installe et configure Airsonic

Airsonic propose différents paquets d’installation. Pour ce guide, nous utiliserons l’installation WAR autonome.

Crée un nouvel utilisateur nommé ‘airsonic’, et crée un nouveau répertoire ‘/opt/airsonic’.

useradd airsonic
mkdir -p /opt/airsonic

Va maintenant dans le répertoire ‘/opt/airsonic’ et télécharge le fichier du paquetage ‘.WAR’ d’Airsonic à l’aide de wget.

cd /opt/airsonic
wget https://github.com/airsonic/airsonic/releases/download/v10.1.1/airsonic.war

Et change le propriétaire du répertoire ‘/opt/airsonic’ pour l’utilisateur et le groupe ‘airsonic’.

chown -R airsonic:airsonic /opt/airsonic

Le paquet binaire Airsonic ‘.WAR’ a été téléchargé.

Installer et configurer Airsonic

Ensuite, nous devons créer un nouveau fichier de service pour Airsonic, va dans le répertoire ‘/etc/systemd/system’ et crée un nouveau fichier de service ‘airsonic.service’.

cd /etc/systemd/system/
vim airsonic.service

Colle-y la configuration suivante du service Airsonic.

[Unit]
Description=Airsonic Media Server
After=remote-fs.target network.target
AssertPathExists=/opt/airsonic

[Service]
Type=simple
Environment="JAVA_JAR=/opt/airsonic/airsonic.war"
Environment="JAVA_OPTS=-Xmx700m"
Environment="AIRSONIC_HOME=/opt/airsonic"
Environment="PORT=8080"
Environment="CONTEXT_PATH=/airsonic"
Environment="JAVA_ARGS="
EnvironmentFile=-/etc/sysconfig/airsonic
ExecStart=/usr/bin/java \
          $JAVA_OPTS \
          -Dairsonic.home=${AIRSONIC_HOME} \
          -Dserver.context-path=${CONTEXT_PATH} \
          -Dserver.port=${PORT} \
          -jar ${JAVA_JAR} $JAVA_ARGS
User=airsonic
Group=airsonic

[Install]
WantedBy=multi-user.target

Sauvegarde et quitte.

Recharge le système systemd et crée un nouveau fichier de configuration par défaut airsonic dans le répertoire ‘/etc/default’.

sudo systemctl daemon-reload
vim /etc/default/airsonic

Collez-y la configuration par défaut d’airsonic suivante.

# Set the location of the standalone war to use
JAVA_JAR=/opt/airsonic/airsonic.war

# Set any java opts separated by spaces
JAVA_OPTS=-Xmx700m

# Set a different location for the airsonic home.
# If this path is /opt/libresonic or even contains "libresonic",
# the data from a previous libresonic can be used as is (i.e. without
# renaming libresonic.properties,db/libresonic*, etc
AIRSONIC_HOME=/opt/airsonic

# Change the port to listen on
PORT=8080

# Change the path that is listened to on
CONTEXT_PATH=/airsonic

# Add any java args. These are different than JAVA_OPTS in that
# they are passed directly to the program. The default is empty:
#JAVA_ARGS=

# Note that there are several settings for spring boot, not explicitly listed
# here, but can be used in either JAVA_OPTS or JAVA_ARGS. The full list
# can be found here:
# https://docs.spring.io/spring-boot/docs/1.4.5.RELEASE/reference/htmlsingle/#common-application-properties
# For example to set debug across the board:
#JAVA_ARGS=--debug

# Or to change the IP address that is listened to:
JAVA_ARGS=--server.address=127.0.0.1

Sauvegarde et quitte.

Maintenant, démarre le service Airsonic et active-le pour qu’il se lance à chaque fois au démarrage du système.

systemctl start airsonic
systemctl enable airsonic

Lance le service airsonic

L’installation d’airsonic ‘stand-alone’ est terminée, et maintenant elle est en marche, vérifie-la en utilisant la commande netstat.

netstat -plntu

Tu verras que le port par défaut Airsonic ‘8080’ est à l’état ‘LISTEN’, utilisé par le service Java Airsonic.

Vérifie le réseau avec netstat

Étape 3 – Générer un nouveau certificat SSL Letsencrypt

Dans ce tutoriel, nous allons déployer Airsonic sous la connexion HTTPS du proxy inverse Nginx avec le nom de domaine ‘music.hakase-labs.io’.

Et pour cette étape, nous allons générer les certificats SSL de Letsencrypt. Installe l’outil Letsencrypt à l’aide de la commande apt suivante.

sudo apt install letsencrypt -y

L’outil Letsencrypt a été installé.

Ensuite, nous devons générer les nouveaux certificats SSL pour le domaine ‘music.hakase-labs.io’ à l’aide de la commande ci-dessous.

certbot certonly --standalone -d music.hakase-labs.io

On te demandera l’adresse e-mail, qui sera utilisée pour la notification de renouvellement. Pour l’accord sur les CGU de Letsencrypt, tape ‘A’ pour accepter et pour l’adresse e-mail de partage, tu peux taper ‘N’ pour Non.

Créer un cert SSL

Lorsque tout est terminé, tu obtiendras le résultat indiqué ci-dessous.

Le certificat SSL Letsencrypt a été émis

Le SSL Letsencrypt pour le domaine ‘music.hakase-labs.io’ a été généré, tous les certificats se trouvent dans le répertoire ‘/etc/letsencrypt/live/domain’.

Étape 4 – Installer et configurer Nginx comme proxy inverse

Dans cette étape, nous allons installer le serveur Web Nginx et le configurer comme un proxy inverse pour le logiciel Airsonic sur le port 8080.

Installe le serveur Web Nginx à l’aide de la commande apt suivante.

sudo apt install nginx -y

Va maintenant dans le répertoire ‘/etc/nginx’ et crée un nouveau fichier d’hôte virtuel ‘airsonic’.

cd /etc/nginx/
vim sites-available/airsonic

Colle-y la configuration suivante.

server {
    listen 80;
    listen [::]:80;
    server_name music.hakase-labs.io;
    # enforce https
    return 301 https://$server_name$request_uri;
}

server {
    listen              443 ssl;
    server_name         music.hakase-labs.io;
    ssl_certificate /etc/letsencrypt/live/music.hakase-labs.io/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/music.hakase-labs.io/privkey.pem;

    location /airsonic {
      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 https;
      proxy_set_header X-Forwarded-Host  $http_host;
      proxy_set_header Host              $http_host;
      proxy_max_temp_file_size           0;
      proxy_pass                         http://127.0.0.1:8080;
      proxy_redirect                     http:// https://;
    }
}

Sauvegarde et quitte.

Active le fichier d’hôte virtuel ‘airsonic’ et teste la configuration.

ln -s /etc/nginx/sites-available/airsonic /etc/nginx/sites-enabled/
nginx -t

Assure-toi qu’il n’y a pas d’erreur, puis redémarre le service nginx et active-le pour qu’il se lance à chaque fois au démarrage du système.

systemctl restart nginx
systemctl enable nginx

Installe Nginx et configure-le comme proxy inverse

Le serveur Web Nginx fonctionne maintenant comme un proxy inverse pour l’Airsonic sur le port 8080, et il fonctionne sous la connexion sécurisée https.

Vérifie-le à l’aide de la commande netstat ci-dessous.

netstat -plntu

Vérifie le port de nginx

Étape 5 – Configurer le pare-feu UFW

Dans ce tutoriel, nous allons activer le pare-feu, et nous utiliserons le pare-feu UFW pour Ubuntu.

Ouvre le service SSH, HTTP et HTTPS sur la liste du pare-feu UFW en exécutant les commandes ci-dessous.

ufw allow ssh
ufw allow http
ufw allow https

Active maintenant le pare-feu ufw.

ufw enable

Tape ‘y’ et appuie sur Entrée pour démarrer et activer le pare-feu UFW.

Et le pare-feu ufw a été activé.

Configurer le pare-feu UFW

Étape 6 – Test

Ouvre ton navigateur Web et tape l’URL d’installation d’Airsonic dans la barre d’adresse. La mienne est :

https://music.hakase-labs.io/airsonic/

La page de connexion d’Airsonic s’affiche maintenant.

Connexion Airsonic

Connecte-toi en tant qu’utilisateur par défaut ‘admin’ avec le mot de passe ‘admin’, et appuie sur le bouton ‘Log In’.

Une fois connectée, tu verras le tableau de bord d’Airsonic.

– Change le mot de passe par défaut

Clique sur le bouton ‘Changer le mot de passe de l’administrateur’.

Change le mot de change de mot de change

Sélectionne maintenant l’utilisateur ‘admin’ et coche la case ‘Modifier le mot de passe’, puis saisis le nouveau mot de passe administrateur et clique sur ‘Enregistrer’.

Paramètres administratifs

Le mot de passe administrateur par défaut pour Airsonic a été modifié.

– Configurer les dossiers de médias

Retourne sur le serveur shell du terminal, crée manuellement de nouveaux dossiers de médias et change le propriétaire du répertoire de dossiers de médias en utilisateur ‘airsonic’.

mkdir -p /var/music
chown -R airsonic:airsonic /var/music

Maintenant, sur le tableau de bord d’administration d’Airsonic, clique sur le bouton ‘Paramètres’ et clique sur l’onglet ‘Dossiers de médias’.

Configurer le dossier Media

Assure-toi que le dossier multimédia par défaut ‘Musique’ est activé, puis clique sur le bouton ‘Enregistrer’.

Passe maintenant à l’onglet « Utilisateur », sélectionne l’utilisateur « admin » et vérifie le dossier multimédia « Musique » comme ci-dessous.

onglet Utilisateur

Le dossier média ‘Musique’ par défaut a été activé et l’utilisateur ‘admin’ a maintenant accès aux dossiers média.

Voici mon tableau de bord Airsonic après avoir effectué quelques modifications.

Tableau de bord d'Airsonic

L’installation du diffuseur de médias Airsonic avec Nginx comme proxy inverse sur Ubuntu 18.04 a été effectuée avec succès.

Référence

Vous aimerez aussi...