Comment installer le serveur de streaming musical Ampache sur Ubuntu 20.04

Ampache est un logiciel gratuit, open-source et basé sur le Web qui te permet d’héberger ton propre serveur de streaming musical. Avec Ampache, tu peux accéder à ta musique et à tes vidéos sur Internet. Tu peux afficher, modifier et lire ta musique via un navigateur Web ou tout client de streaming multimédia.

Caractéristiques

  • API puissante et streaming vers n’importe quel client
  • Catalogues et personnalisation flexibles
  • Lecteur Web HTML5 moderne
  • Prend en charge diverses méthodes d’autorisation telles que MySQL, LDAP, HTTP et PAM
  • Compatibilité avec n’importe quel client Subsonic

Dans ce tutoriel, nous allons apprendre à configurer le serveur de streaming musical Ampache sur Ubuntu 20.04.

Conditions préalables

  • Un serveur fonctionnant sous Ubuntu 20.04.
  • Un mot de passe root est configuré sur ton serveur.

Démarrage

Avant de commencer, c’est une bonne idée de mettre à jour les paquets de ton système à la dernière version. Tu peux les mettre à jour à l’aide de la commande suivante :

apt-get update -y
apt-get upgrade -y

Une fois que tous les paquets sont mis à jour, redémarre ton système pour appliquer les changements.

Installe le serveur LAMP

Ampache fonctionne sur le serveur web, écrit en PHP et utilise MySQL/MariaDB pour stocker ses données. Tu devras donc installer Apache, MariaDB, PHP et les autres extensions PHP requises dans ton système. Tu peux 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 que tous les paquets sont installés, ouvre le fichier php.ini et modifie certains paramètres :

nano /etc/php/7.4/apache2/php.ini

Change les valeurs suivantes :

upload_max_filesize = 100M
post_max_size = 100M
date.timezone = Asia/Kolkata

Enregistre et ferme le fichier lorsque tu as terminé. Ensuite, redémarre le service Apache pour appliquer les changements :

systemctl restart apache2

Configurer la base de données MariaDB

Par défaut, MariaDB n’est pas sécurisée. Tu peux la sécuriser en exécutant le script suivant :

mysql_secure_installation

Réponds à 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 que la base MariaDB est sécurisée, connecte-toi au shell MariaDB avec la commande suivante :

mysql -u root -p

Donne ton mot de passe MariaDB root et crée 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, accorde 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, annule les privilèges et quitte le shell MariaDB à l’aide de la commande suivante: :

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Télécharger Ampache

Tu peux 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écompresse le fichier téléchargé dans le répertoire racine du site Web d’Apache :

unzip ampache-4.1.1_all.zip -d /var/www/html/ampache

Ensuite, change la propriété du répertoire Ampache en www-data :

chown -R www-data:www-data /var/www/html/ampache

Ensuite, change le répertoire en ampache et renomme 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ée un répertoire pour stocker les fichiers musicaux et change la propriété en www-data :

mkdir -p /data/Music
chown www-data:www-data /data/Music

Une fois que tu as terminé, tu peux passer à l’étape suivante.

Configure Apache pour Ampache

Ensuite, tu devras créer un nouveau fichier de configuration d’hôte virtuel Apache pour Ampache. Tu peux le créer avec la commande suivante :

nano /etc/apache2/sites-available/ampache.conf

Ajoute 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>

Enregistre et ferme le fichier lorsque tu as terminé. Ensuite, vérifie que le fichier de configuration Apache ne contient pas d’erreur avec la commande suivante :

apachectl configtest

Tu devrais obtenir la sortie suivante :

Syntax OK

Ensuite, active 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émarre le service Apache pour appliquer les modifications :

systemctl reload apache2

À ce stade, Ampache est installé et configuré. Tu peux maintenant passer à l’étape suivante.

Sécurise Ampache avec Let’s Encrypt SSL

Il est recommandé de sécuriser ton site Ampache avec Let’s Encrypt SSL.

Tout d’abord, installe le client Certbot pour télécharger et installer le SSL Let’s Encrypt pour ton site Web.

apt-get install certbot python3-certbot-apache -y

Une fois installé, exécute la commande suivante pour installer le SSL Let’s Encrypt pour ton site Web.

certbot --apache -d ampache.linuxbuz.com

Il te sera demandé de fournir ton adresse e-mail et d’accepter les conditions de service 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, tu devras 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

Tape 2 et appuie sur Entrée pour continuer. Une fois l’installation terminée, tu devrais 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, teste le renouvellement automatique du certificat Let’s Encrypt avec la commande suivante :

certbot renew --dry-run

Si le test a réussi, tu devrais obtenir la sortie suivante :

** 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 d’Ampache

Ton site Web Ampache est maintenant sécurisé avec Let’s Encrypt SSL. Ensuite, ouvre ton navigateur Web et tape l’URL https://ampache.linuxbuz.com. Tu seras redirigé vers la page suivante :

Choisis la langue

Sélectionne ta langue et clique sur le bouton Start Configuration. Tu devrais voir la page suivante :

Vérifier les conditions préalables

Assure-toi que toutes les extensions PHP requises sont installées puis clique sur le bouton Continuer. Tu devrais voir la page suivante :

Configuration de la base de données

Indique les détails de ta base de données, décoche la case Créer une base de données, coche la case Créer des tableaux, décoche la case Créer des utilisateurs de base de données et clique sur le bouton Insérer une base de données. Tu devrais voir la page suivante :

Génère le fichier de configuration

Indique les détails de ta base de données, sélectionne ffmpeg et clique sur le bouton Créer une configuration. Tu devrais voir la page suivante :

Créer compte administrateur

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton Créer un compte. Tu devrais voir la page suivante :

Mets-toi à jour maintenant

Clique sur le bouton Mettre à jour maintenant pour mettre à jour tous les paquets requis. Tu devrais voir la page suivante :

Mise à jour d'Ampache

Clique sur le lien Retour à la page principale. Tu devrais voir la page suivante :

Connexion Admin

Indique ton nom d’utilisateur admin, ton mot de passe et clique sur le bouton Connexion. Tu devrais voir le tableau de bord d’Ampache sur la page suivante :

Tableau de bord Ampache

Conclusion

Félicitations ! Tu as réussi à installer et à sécuriser Ampache sur le serveur Ubuntu 20.04. Tu peux maintenant créer ton nouveau catalogue, télécharger ta musique et la lire sur Internet.

Vous aimerez aussi...