L’auteur a choisi Open Internet/Free Speech Fund pour recevoir un don dans le cadre du programme Write for DOnations.
Ampache est un serveur de streaming musical open-source qui vous permet d’héberger et de gérer votre collection de musique numérique sur votre propre serveur. Ampache peut diffuser votre musique en continu sur votre ordinateur, votre smartphone, votre tablette ou votre smart TV. Cela signifie que vous n’avez pas à conserver plusieurs copies de votre musique sur l’appareil que vous voulez utiliser pour l’écouter. Avec Ampache, vous pouvez gérer votre collection sur votre serveur en utilisant l’interface web d’Ampache et l’écouter n’importe où.
Dans ce tutoriel, vous allez installer et configurer le serveur web Apache, ainsi que PHP (qui servira votre instance Ampache). Vous créerez ensuite une base de données MySQL qu’Ampache utilisera pour stocker toutes ses informations opérationnelles. Enfin, vous téléchargerez votre collection de musique afin de pouvoir commencer à diffuser votre musique en continu.
Avant de commencer ce guide, vous aurez besoin des éléments suivants :
Au cours de cette étape, vous allez télécharger l’archive ZIP Ampache sur votre serveur, la décompresser dans le répertoire d’origine de son installation et apporter les modifications nécessaires au système de fichiers.
Tout d’abord, connectez-vous à votre serveur en tant qu’utilisateur non root. Ensuite, créez le répertoire d’accueil d’Ampache avec la commande suivante :
- sudo mkdir /var/www/ampache
Maintenant, installez l’utilitaire zip
dont vous aurez besoin pour décompresser l’archive Ampache :
- sudo apt install zip
Puis téléchargez la dernière version de l’archive ZIP. Vous pouvez trouver le lien vers la dernière version sur la page GitHub d’Ampache. Dans ces exemples, la version 4.1.1
est utilisée :
- wget https://github.com/ampache/ampache/releases/download/4.1.1/ampache-4.1.1_all.zip
Ensuite, décompressez l’archive ZIP dans le répertoire /var/www/ampache/
en utilisant l’option -d
:
- sudo unzip ampache-4.1.1_all.zip -d /var/www/ampache/
Définissez l’identité de l’utilisateur et du groupe des fichiers Ampache afin qu’Apache puisse lire, écrire et exécuter les fichiers d’instance Ampache :
- sudo chown --recursive www-data:www-data /var/www/ampache/
L’option --recursive
fait que chown
change la propriété et l’identité de groupe de tous les fichiers et du sous-répertoire sous /var/www/ampache/
en utilisateur et groupe d’Apache www-data
.
Maintenant, renommez les fichiers .htaccess
qui sont inclus dans l’archive ZIP. Les fichiers .htaccess
contiennent des informations sur la sécurité et sur d’autres opérations pour Apache, mais ils ne fonctionneront qu’avec l’extension de fichier .htaccess
. Renommez les fichiers .htaccess.dist
fournis en .htaccess
avec les commandes suivantes :
- sudo mv /var/www/ampache/rest/.htaccess.dist /var/www/ampache/rest/.htaccess
- sudo mv /var/www/ampache/play/.htaccess.dist /var/www/ampache/play/.htaccess
- sudo mv /var/www/ampache/channel/.htaccess.dist /var/www/ampache/channel/.htaccess
Vous allez maintenant créer le répertoire qui contiendra vos fichiers musicaux. Pour des raisons de sécurité, il est préférable de créer ce répertoire en dehors du répertoire d’installation d’Ampache. De cette façon, il ne sera pas lisible ou modifiable par des requêtes web malveillantes, car il réside en dehors du DocumentRoot
d’Ampache.
Créez le répertoire /data/Music
avec la commande suivante :
- sudo mkdir -p /data/Music
Changez ensuite son propriétaire et l’identité de son groupe pour qu’Apache puisse y lire et y écrire :
- sudo chown www-data:www-data /data/Music
Pour terminer la configuration, vous installerez FFmpeg, utilitaire permettant de convertir l’audio et la vidéo d’un format à un autre. Par exemple, vous pourriez l’utiliser pour convertir un fichier de musique MP3 en un fichier de musique OPUS. Ampache utilise FFmpeg pour convertir l’audio en temps réel du format dans lequel il a été téléchargé vers un format que l’appareil d’écoute peut lire. Il s’agit d’un processus connu sous le nom de transcoding.
C’est utile car tous les appareils ne sont pas capables de lire tous les formats de musique. Ampache peut détecter quels formats sont pris en charge par l’appareil de lecture et fournir automatiquement votre musique dans le format pris en charge.
Installez FFmpeg avec la commande suivante :
- sudo apt install ffmpeg
Vous avez maintenant décompressé et préparé votre instance Ampache pour l’installateur web et installé l’utilitaire FFmpeg. Ensuite, vous allez configurer Apache et PHP pour servir votre instance Apache.
Dans cette section, vous configurerez Apache en créant un nouveau fichier VirtualHost, qui fournira la configuration dont Apache a besoin pour servir votre domaine de serveur Ampache. Vous installerez également quelques modules PHP supplémentaires qui étendent les capacités de PHP, afin de couvrir les besoins d’Ampache
Tout d’abord, installez quelques modules PHP supplémentaires qui n’étaient pas inclus dans l’installation par défaut de PHP :
- sudo apt install php-mysql php-curl php-json php-gd php7.2-xml
Ces modules offrent les fonctionnalités supplémentaires suivantes :
php-mysql
- Permet à PHP de communiquer avec une base de données MySQL.php-curl
- Permet à PHP d’utiliser l’utilitaire curl pour télécharger des fichiers, tels que des pochettes d’album, à partir de serveurs distants.php-json
- Permet à PHP de lire et de manipuler des fichiers texte formatés en JSON.php-gd
- Permet à PHP de manipuler et de créer des fichiers d’images.php7.2-xml
- Permet à PHP de lire et de manipuler des fichiers texte formatés en XML.Ensuite, activez quelques modules Apache à l’aide de l’utilitaire a2enmod
:
- sudo a2enmod rewrite expires
Ces modules Apache permettent à Apache de faire ce qui suit :
rewrite
- Modifier ou réécrire les URL en suivant les règles fournies par Ampache.expires
- Définir les délais d’expiration du cache pour les objets tels que les images afin qu’ils soient stockés plus efficacement par les navigateurs.Maintenant, vous allez créer le fichier VirtualHost
qui indique à Apache comment et où charger l’instance Ampache.
Remarque : si vous avez créé un fichier VirtualHost
de test qui utilise votre nom de domaine Ampache lorsque vous avez suivi le guide “Comment installer la pile Linux, Apache, MySQL, PHP (LAMP) sur Ubuntu 18.0”, vous devez le désactiver. Utilisez l’utilitaire a2dissit
e pour le désactiver :
- sudo a2dissite test_virtalhost_file
Maintenant, créez et ouvrez le fichier VirtualHost
avec votre éditeur de texte à l’adresse /etc/apache2/sites-available/ampache.conf
:
- sudo nano /etc/apache2/sites-available/ampache.conf
Ajoutez le template VirtualHost
suivant dans votre fichier :
<VirtualHost *:80>
ServerName your_domain
DocumentRoot /var/www/ampache
<Directory /var/www/ampache/>
AllowOverride All
Require all granted
</Directory>
RewriteEngine on
CustomLog /var/log/apache2/ampache.access.log common
ErrorLog /var/log/apache2/ampache.error.log
</VirtualHost>
Vous devez changer your_domain
pour le nom de domaine que vous avez redirigé vers votre serveur. Lorsque vous avez fini de modifier ce fichier, sauvegardez et quittez l’éditeur.
Les directives de ce fichier VirtualHost
sont :
ServerName
- Le nom de domaine qu’Apache utilisera pour servir votre instance Ampache.DocumentRoot
- L’emplacement du système de fichiers sur votre serveur où se trouve l’instance Ampache. C’est le même endroit que celui où vous avez déballé les archives ZIP à l’étape 1.Directory
- Cette section transmet à Apache la configuration qui s’applique aux fichiers et aux répertoires contenus dans le chemin d’accès.RewriteEngine
- Permet de réécrire le module Apache.CustomLog
- Crée un fichier journal qu’Apache utilisera pour enregistrer tous les journaux d’accès à votre serveur Ampache.ErrorLog
- Crée un fichier journal qu’Apache utilisera pour enregistrer tous les journaux d’erreurs générés par votre serveur Ampache.Ensuite, vérifiez que le fichier VirtualHost
que vous avez créé ne contient aucune erreur, à l’aide de l’utilitaire apachectl
:
- sudo apachectl configtest
Si votre configuration ne contient aucune erreur, vous verrez la sortie suivante après la commande :
OutputSyntax OK
Si votre configuration contient des erreurs, la sortie imprimera le nom du fichier et le numéro de ligne où l’erreur a été rencontrée.
Remarque : si vous voyez l’erreur :
AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Vous devrez modifier le fichier de configuration principal d’Apache à l’adresse /etc/apache2/apache2.conf
et ajouter la ligne suivante :
ServerName your_domain
Ensuite, activez la nouvelle configuration du VirtualHost
en utilisant l’utilitaire a2ensite
:
- sudo a2ensite ampache
La configuration finale est facultative, mais recommandée. Le paramètre par défaut pour le téléchargement de fichiers en PHP est qu’aucun fichier de plus de 2 Mo ne peut être téléchargé. Les fichiers musicaux ont tendance à être plus volumineux que cela, donc augmenter cette taille vous permettra d’utiliser l’interface Ampache pour télécharger des fichiers plus volumineux dans votre collection de musique.
Ouvrez /etc/php/7.2/apache2/php.ini
avec la commande suivante :
- sudo nano /etc/php/7.2/apache2/php.ini
Et modifiez les lignes suivantes :
. . .
upload_max_filesize = 2M
. . .
post_max_size = 8M
. . .
Vers :
. . .
upload_max_filesize = 100M
. . .
post_max_size = 110M
. . .
Vous pourrez désormais télécharger des fichiers de musique jusqu’à 100 Mo. Utilisez une valeur plus élevée si vous avez l’intention de télécharger des fichiers d’une taille supérieure. Enregistrez et quittez le fichier.
Enfin, rechargez votre configuration Apache mise à jour :
- sudo systemctl reload apache2.service
Vous avez maintenant configuré Apache pour qu’il serve Ampache via HTTP. Ensuite, vous obtiendrez un certificat TLS et configurerez Apache pour l’utiliser afin de pouvoir accéder à Ampache en toute sécurité via HTTPS.
Au cours de cette étape, vous obtiendrez gratuitement un certificat Let’s Encrypt TLS en utilisant l’utilitaire Certbot, qui permet la navigation HTTPS. Certbot va créer le certificat, générer automatiquement la configuration Apache requise et gérer le renouvellement automatique du certificat.
C’est important, car chaque fois que vous vous connectez à Ampache, vous envoyez votre nom d’utilisateur et votre mot de passe sur Internet. Si vous n’utilisez pas HTTPS, votre mot de passe sera envoyé en texte clair et pourra donc être lu lors de son passage sur Internet.
Les versions LTS d’Ubuntu ne possèdent pas toujours les derniers packages et cela est vrai pour le programme Certbot. Les développeurs de Certbot gèrent un dépôt Ubuntu dédié, connu sous le nom de PPA, afin que les utilisateurs d’Ubuntu puissent garder une copie à jour de Certbot.
Installez le dépôt Certbot avec la commande suivante :
- sudo add-apt-repository ppa:certbot/certbot
Maintenant, installez l’utilitaire certbot
:
- sudo apt install python-certbot-apache
Ensuite, utilisez le certbot
pour obtenir le certificat TLS :
- sudo certbot --apache -d your_domain
L’option --apache
utilise le plugin Apache qui permet à Certbot de lire et de configurer Apache automatiquement. -d your_domain
indique le nom de domaine pour lequel vous souhaitez que Certbot crée le certificat.
Lorsque vous exécutez la commande du certbot
, une série de questions vous est posée. Vous serez invité à saisir une adresse électronique et à accepter les conditions de service.
Si certbot
confirme avec succès que vous contrôlez votre domaine, il vous demandera de configurer vos paramètres HTTPS :
OutputPlease choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect - Make no further changes to the webserver configuration.
2: Redirect - Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):
No redirect
: Apache servira Ampache via HTTP et HTTPS.Redirect
: Apache redirigea automatiquement toute connexion HTTP vers HTTPS. Cela signifie que votre serveur Ampache ne sera disponible que via HTTPS. Cette option est la plus sûre et n’affectera pas le comportement de votre instance Ampache. C’est le choix recommandé.Enfin, vérifiez que l’auto-renouvellement du certificat se fera avec succès en exécutant la commande suivante :
- sudo certbot renew --dry-run
L’option --dry-run
signifie que certbot
testera une tentative de renouvellement sans apporter de modifications permanentes à votre serveur. Si le test a été concluant, la sortie comprendra la ligne suivante :
OutputCongratulations, all renewals succeeded. The following certs have been renewed:
/etc/letsencrypt/live/your_domain/fullchain.pem (success)
Apache et PHP sont maintenant prêts à servir votre instance Ampache. Dans l’étape suivante, vous allez créer et configurer la base de données d’Ampache.
Ampache utilise une base de données MySQL pour stocker des informations telles que les listes de lecture, les préférences des utilisateurs, etc. Au cours de cette étape, vous allez créer une base de données et un utilisateur MySQL qu’Ampache utilisera pour y accéder.
Vous devrez choisir trois éléments d’information pour compléter les instructions suivantes afin de créer la base de données d’Ampache :
ampache_database
: le nom de la base de données Ampache.database_user
: l’utilisateur MySQL qu’Ampache utilisera pour accéder à la base de données. Ce n’est pas un utilisateur système et il peut uniquement accéder à la base de données.database_password
: le mot de passe de l’utilisateur de la base de données. Veillez à choisir un mot de passe sécurisé.Prenez note de ces détails, car vous en aurez besoin plus tard.
Tout d’abord, ouvrez le shell interactif de MySQL avec la commande mysql
:
- mysql --user=root --password
--user=root
ouvre le shell MySQL en tant qu’utilisateur root de MySQL et --password
demande le mot de passe de l’utilisateur root.
La commande suivante créera une base de données vide :
- CREATE DATABASE ampache_database;
Ensuite, créez l’utilisateur MySQL :
- CREATE USER 'database_user'@'localhost' IDENTIFIED BY 'database_password';
Maintenant, donnez au nouvel utilisateur l’accès complet à la base de données :
- GRANT ALL PRIVILEGES ON ampache_database.* TO 'database_user'@'localhost';
Enfin, vérifiez que la nouvelle base de données existe en exécutant la commande suivante :
- SHOW DATABASES;
Vous verrez le résultat suivant :
+--------------------+
| Database |
+--------------------+
| information_schema |
| ampache_database |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)
Exécutez le shell MySQL en entrant exit;
.
Enfin, testez la base de données, le nom d’utilisateur et le mot de passe en essayant de vous connecter au shell MySQL avec le database_user
.
Entrez la commande suivante pour vous connecter au shell MySQL en tant que nouvel utilisateur :
- mysql --user=database_user --password ampache_database
Vous avez maintenant créé la base de données qu’Ampache utilisera. Vous avez terminé la configuration de votre serveur et êtes prêt à terminer l’installation avec le programme d’installation web.
Dans cette étape, vous utiliserez le programme d’installation web d’Ampache pour terminer l’installation en donnant à Ampache les informations dont il aura besoin pour fonctionner, telles qu’un utilisateur de l’interface web, les détails de la base de données et d’autres paramètres.
Démarrez l’installation web en entrant https://your_domain
dans votre navigateur.
Sélectionnez la langue de l’interface d’Ampache et cliquez sur le bouton Start Configuration pour continuer.
C’est sur cette page qu’Ampache vérifie que le serveur répond à ses exigences. Chaque ligne de cette page représente un test que le programme d’installation effectue pour s’assurer, par exemple, que tous les modules PHP requis sont présents et fonctionnent. Vous verrez que chaque test comporte une coche verte pour indiquer que votre serveur est prêt pour Ampache.
Cliquez sur le bouton Continue pour passer à la page suivante.
Cette page crée la base de données d’Ampache si elle n’existe pas et la met en forme. Remplissez les champs comme suit :
ampache_database
localhost
database_user
database_password
Cliquez sur le bouton Insert Database pour continuer.
Cette page crée le fichier de configuration qu’Ampache utilisera pour s’exécuter. Remplissez les champs comme suit :
Web Path:<EMPTY>
Database Name: ampache_database
MySQL Hostname: localhost
MySQL Port (facultatif):<EMPTY>
MySQL Username: database_user
MySQL Password: database_password
Installation Type Laissez le réglage par défaut.
Allow Transcoding Sélectionnez ffmpeg dans la liste déroulante.
Players Laissez le réglage par défaut.
Cliquez sur le bouton Create Config pour continuer.
Cette page crée le premier utilisateur de l’interface web. Cet utilisateur est créé avec des privilèges administratifs complets et c’est celui que vous utiliserez pour vous connecter et pour la configuration initiale d’Ampache.
Choisissez un nom d’utilisateur et un mot de passe sécurisé et saisissez-les dans les champs Password et Confirm Password.
Cliquez sur le bouton Create Account pour continuer.
Cette page permet d’effectuer toute modification administrative à apporter à la base de données d’Ampache. Ces modifications sont effectuées lors des mises à jour de version, mais comme il s’agit d’une nouvelle installation, le programme d’installation n’apportera aucune modification.
Cliquez sur le bouton Update Now! pour continuer.
Cette page affiche et explique toutes les mises à jour que le programme d’installation a effectuées à l’étape précédente. Vous ne devriez voir aucune mises à jour listée.
Cliquez sur le lien [Return to main page] pour continuer vers la page d’accueil. Entrez votre nom d’utilisateur et votre mot de passe que vous avez définis pour vous connecter à votre serveur Ampache.
Ampache n’est pas tout à fait prêt à être utilisé. Vous allez maintenant compléter l’installation en ajoutant votre musique afin de pouvoir commencer à utiliser votre nouveau serveur Ampache.
Un serveur musical ne sert à rien s’il n’y a pas de musique à diffuser. Dans cette étape, vous allez configurer un catalogue musical et télécharger de la musique. “Catalogue” est le nom qu’Ampache donne à une collection de musique. Ampache est capable de lire de la musique provenant de nombreuses sources sur le serveur et en dehors, mais dans ce tutoriel, vous allez télécharger et stocker votre musique sur le serveur dans un catalogue local, comme Ampache l’appelle.
Tout d’abord, cliquez sur le lien add a Catalog sur la ligne suivante, dans la première page que vous voyez lorsque vous vous connectez à Ampache :
Aucun catalogue n’a encore été créé. Pour commencer à écouter de la musique en streaming, vous devez ajouter un Catalogue.
Cela vous amènera à la page Add Catalog. Remplissez les champs comme suit :
Donnez à ce catalogue un nom court et facile à mémoriser.
local
/data/Music
Cliquez sur le bouton Add Catalog pour terminer cette page.
Sur la page qui suit, cliquez sur le bouton Continue. Cela vous amènera à la page Show Catalogs qui affichera les détails du catalogue que vous avez créé. Vous pourrez ensuite modifier les paramètres du catalogue à tout moment.
Maintenant, activez la fonction de téléchargement d’Ampache sur le web en cliquant sur la troisième icône de navigation pour ouvrir les paramètres étendus :
Faites défiler vers le bas jusqu’à la section Server Config et cliquez sur le lien System pour ouvrir la page des paramètres système.
Trouvez la ligne Allow user uploads et sélectionnez Enable dans le menu déroulant, dans la colonne Value.
Vous pouvez également choisir quel niveau d’utilisateur est en mesure de télécharger des fichiers musicaux. Le niveau par défaut est Catalog Manager, ce qui permet au Catalog Manager et à tous les utilisateurs avec des privilèges plus importants de télécharger de la musique. Dans ce cas, il s’agit de l’administrateur.
Vous devez également définir le catalogue auquel la musique sera ajoutée. Définissez cela en utilisant la ligne Destination catalog. Sélectionnez le catalogue que vous avez créé dans la liste déroulante Value.
Cliquez sur le bouton Update Preferences en bas de la page pour terminer la configuration. Vous êtes maintenant prêt à télécharger de la musique.
Tout d’abord, cliquez sur la première icône des paramètres :
Ensuite, cliquez sur le lien Upload dans la section Music.
Dans la page Upload, cliquez sur le bouton Browse et localisez vos fichiers musicaux sur votre ordinateur, puis téléchargez les.
Si vous laissez les étiquettes Artist et Album vides, Ampache lira les balises ID3 des fichiers musicaux pour découvrir automatiquement l’artiste et l’album. Une fois que vous aurez téléchargé de la musique, vous pourrez la trouver en cliquant sur les liens Songs, Albums ou Artists dans la section Music du panneau de navigation, à gauche.
Votre serveur de musique Ampache est maintenant prêt à commencer à diffuser votre musique en continu.
Dans cet article, vous avez installé et configuré un serveur de streaming musical Ampache et téléchargé une partie de votre musique. Vous pouvez désormais écouter votre musique où que vous alliez, sur n’importe lequel de vos appareils. La documentation d’Ampache vous aidera à utiliser et à étendre votre serveur de streaming. Ces apps Android et cette app iOS diffuseront votre musique sur votre téléphone. Ampache organise votre musique sur le serveur en utilisant les balises ID3 dans les fichiers musicaux. Le programme MusicMrainz vous aidera à gérer les balises ID3 de vos fichiers musicaux.
Thanks for learning with the DigitalOcean Community. Check out our offerings for compute, storage, networking, and managed databases.
This textbox defaults to using Markdown to format your answer.
You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!