Ampache est un logiciel gratuit, open-source et basé sur le Web qui vous permet d'héberger votre propre serveur de streaming musical. Avec Ampache, vous pouvez accéder à votre musique et à vos vidéos sur Internet. Vous pouvez afficher, modifier et lire votre musique via un navigateur Web ou n'importe quel client de diffusion multimédia.
Caractéristiques
- API puissante et streaming vers n'importe quel client
- Catalogues flexibles et personnalisation
- Lecteur Web HTML5 moderne
- Prise en charge de diverses méthodes d'autorisation telles que MySQL, LDAP, HTTP et PAM
- Compatibilité avec n'importe quel client Subsonic
Dans ce didacticiel, nous allons apprendre à configurer le serveur de diffusion de musique Ampache sur Ubuntu 20.04.
Prérequis
- Un serveur exécutant Ubuntu 20.04.
- Un mot de passe root est configuré sur votre serveur.
Mise en route
Avant de commencer, c'est une bonne idée de mettre à jour le package de votre système vers la dernière version. Vous pouvez les mettre à jour à l'aide de la commande suivante :
apt-get update -y
apt-get upgrade -y
Une fois tous les packages mis à jour, redémarrez votre système pour appliquer les modifications.
Installer le serveur LAMP
Ampache s'exécute sur le serveur Web, écrit en PHP et utilise MySQL/MariaDB pour stocker ses données. Vous devrez donc installer Apache, MariaDB, PHP et les autres extensions PHP requises sur votre système. Vous pouvez les installer en exécutant la commande suivante :
apt-get install apache2 libapache2-mod-php php php-cli mariadb-server php-mysql php-curl php-json php-gd php-xml unzip curl git zip ffmpeg -y
Une fois tous les packages installés, ouvrez le fichier php.ini et modifiez quelques paramètres :
nano /etc/php/7.4/apache2/php.ini
Modifiez les valeurs suivantes :
upload_max_filesize = 100M post_max_size = 100M date.timezone = Asia/Kolkata
Enregistrez et fermez le fichier lorsque vous avez terminé. Redémarrez ensuite le service Apache pour appliquer les modifications :
systemctl restart apache2
Configurer la base de données MariaDB
Par défaut, MariaDB n'est pas sécurisée. Vous pouvez le sécuriser en exécutant le script suivant :
mysql_secure_installation
Répondez à toutes les questions comme indiqué ci-dessous :
Enter current password for root (enter for none): Set root password? [Y/n] Y New password: Re-enter new password: Remove anonymous users? [Y/n] Y Disallow root login remotely? [Y/n] Y Remove test database and access to it? [Y/n] Y Reload privilege tables now? [Y/n] Y
Une fois MariaDB sécurisée, connectez-vous au shell MariaDB avec la commande suivante :
mysql -u root -p
Fournissez votre mot de passe root MariaDB et créez une base de données et un utilisateur pour Ampache avec la commande suivante :
MariaDB [(none)]> CREATE DATABASE ampachedb;
MariaDB [(none)]> CREATE USER 'ampache'@'localhost' IDENTIFIED BY 'password';
Ensuite, accordez tous les privilèges à la base de données Ampache avec la commande suivante :
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ampachedb.* TO 'ampache'@'localhost';
Ensuite, videz les privilèges et quittez le shell MariaDB à l'aide de la commande suivante :
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;
Télécharger Ampache
Vous pouvez télécharger la dernière version d'Ampache à l'aide de la commande suivante :
wget https://github.com/ampache/ampache/releases/download/4.1.1/ampache-4.1.1_all.zip
Une fois le téléchargement terminé, décompressez le fichier téléchargé dans le répertoire racine Web d'Apache :
unzip ampache-4.1.1_all.zip -d /var/www/html/ampache
Ensuite, changez la propriété du répertoire Ampache en www-data :
chown -R www-data:www-data /var/www/html/ampache
Ensuite, changez le répertoire en ampache et renommez le fichier .htaccess requis.
cd /var/www/html/ampache
mv rest/.htaccess.dist rest/.htaccess
mv play/.htaccess.dist play/.htaccess
mv channel/.htaccess.dist channel/.htaccess
Ensuite, créez un répertoire pour stocker les fichiers musicaux et changez la propriété en www-data :
mkdir -p /data/Music
chown www-data:www-data /data/Music
Une fois que vous avez terminé, vous pouvez passer à l'étape suivante.
Configurer Apache pour Ampache
Ensuite, vous devrez créer un nouveau fichier de configuration d'hôte virtuel Apache pour Ampache. Vous pouvez le créer avec la commande suivante :
nano /etc/apache2/sites-available/ampache.conf
Ajoutez les lignes suivantes :
<VirtualHost *:80> ServerName ampache.linuxbuz.com DocumentRoot /var/www/html/ampache <Directory /var/www/html/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>
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, vérifiez le fichier de configuration Apache pour toute erreur avec la commande suivante :
apachectl configtest
Vous devriez obtenir le résultat suivant :
Syntax OK
Ensuite, activez le fichier de configuration de l'hôte virtuel Apache et les modules requis avec la commande suivante :
a2ensite ampache
a2enmod expires rewrite
Enfin, redémarrez le service Apache pour appliquer les modifications :
systemctl reload apache2
À ce stade, Ampache est installé et configuré. Vous pouvez maintenant passer à l'étape suivante.
Sécuriser Ampache avec Let's Encrypt SSL
Il est recommandé de sécuriser votre site Ampache avec Let's Encrypt SSL.
Tout d'abord, installez le client Certbot pour télécharger et installer le SSL Let's Encrypt pour votre site Web.
apt-get install certbot python3-certbot-apache -y
Une fois installé, exécutez la commande suivante pour installer Let's Encrypt SSL pour votre site Web.
certbot --apache -d ampache.linuxbuz.com
Il vous sera demandé de fournir votre adresse e-mail et d'accepter les conditions d'utilisation comme indiqué ci-dessous :
Saving debug log to /var/log/letsencrypt/letsencrypt.log Plugins selected: Authenticator apache, Installer apache Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): [email protected] - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.2-November-15-2017.pdf. You must agree in order to register with the ACME server at https://acme-v02.api.letsencrypt.org/directory - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (A)gree/(C)ancel: A - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Would you be willing to share your email address with the Electronic Frontier Foundation, a founding partner of the Let's Encrypt project and the non-profit organization that develops Certbot? We'd like to send you email about our work encrypting the web, EFF news, campaigns, and ways to support digital freedom. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y Obtaining a new certificate Performing the following challenges: http-01 challenge for ampache.linuxbuz.com Waiting for verification... Cleaning up challenges Created an SSL vhost at /etc/apache2/sites-available/ampache-le-ssl.conf Enabled Apache socache_shmcb module Enabled Apache ssl module Deploying Certificate to VirtualHost /etc/apache2/sites-available/ampache-le-ssl.conf Enabling available site: /etc/apache2/sites-available/ampache-le-ssl.conf
Ensuite, vous devrez choisir de rediriger ou non le trafic HTTP vers HTTPS comme indiqué ci-dessous :
Please 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): 2
Tapez 2 et appuyez sur Entrée pour continuer. Une fois l'installation terminée, vous devriez obtenir le résultat suivant :
Redirecting vhost in /etc/apache2/sites-enabled/ampache.conf to ssl vhost in /etc/apache2/sites-available/ampache-le-ssl.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations! You have successfully enabled https://ampache.linuxbuz.com You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=ampache.linuxbuz.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/letsencrypt/live/ampache.linuxbuz.com/fullchain.pem Your key file has been saved at: /etc/letsencrypt/live/ampache.linuxbuz.com/privkey.pem Your cert will expire on 2020-07-29. To obtain a new or tweaked version of this certificate in the future, simply run certbot again with the "certonly" option. To non-interactively renew *all* of your certificates, run "certbot renew" - Your account credentials have been saved in your Certbot configuration directory at /etc/letsencrypt. You should make a secure backup of this folder now. This configuration directory will also contain certificates and private keys obtained by Certbot so making regular backups of this folder is ideal. - If you like Certbot, please consider supporting our work by: Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate Donating to EFF: https://eff.org/donate-le
Ensuite, testez le renouvellement automatique du certificat Let's Encrypt avec la commande suivante :
certbot renew --dry-run
Si le test a réussi, vous devriez obtenir le résultat suivant :
** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates below have not been saved.) Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/ampache.linuxbuz.com/fullchain.pem (success) ** DRY RUN: simulating 'certbot renew' close to cert expiry ** (The test certificates above have not been saved.)
Accéder à l'interface Web Ampache
Votre site Ampache est maintenant sécurisé avec Let's Encrypt SSL. Ensuite, ouvrez votre navigateur Web et tapez l'URL https://ampache.linuxbuz.com. Vous serez redirigé vers la page suivante :
Sélectionnez votre langue et cliquez sur Démarrer Configuration bouton. Vous devriez voir la page suivante :
Assurez-vous que toutes les extensions PHP requises sont installées, puis cliquez sur Continuer bouton. Vous devriez voir la page suivante :
Fournissez les détails de votre base de données, décochez Créer une base de données, cochez Créer des tables, décochez Créer des utilisateurs de base de données et cliquez sur Insérer Base de données bouton. Vous devriez voir la page suivante :
Fournissez les détails de votre base de données, sélectionnez ffmpeg et cliquez sur Créer Configuration . Vous devriez voir la page suivante :
Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Créer Compte bouton. Vous devriez voir la page suivante :
Cliquez sur Mettre à jour Maintenant bouton pour mettre à jour tous les packages requis. Vous devriez voir la page suivante :
Cliquez sur Revenir à la page principale lien. Vous devriez voir la page suivante :
Indiquez votre nom d'utilisateur et votre mot de passe d'administrateur et cliquez sur Connexion bouton. Vous devriez voir le tableau de bord Ampache sur la page suivante :
Conclusion
Toutes nos félicitations! vous avez installé et sécurisé avec succès Ampache sur le serveur Ubuntu 20.04. Vous pouvez maintenant créer votre nouveau catalogue, télécharger votre musique et la jouer sur Internet.