So installieren Sie den Ampache Music Streaming Server unter Ubuntu 20.04
Ampache ist eine freie, quelloffene und webbasierte Software, mit der Sie Ihren eigenen Musik-Streaming-Server hosten können. Mit Ampache können Sie über das Internet auf Ihre Musik und Videos zugreifen. Sie können Ihre Musik über einen Webbrowser oder einen beliebigen Media-Streaming-Client anzeigen, bearbeiten und abspielen.
Eigenschaften
- Leistungsstarke API und Streaming zu jedem Client
- Flexible Kataloge und Anpassung
- Moderner HTML5-Webplayer
- Unterstützung verschiedener Autorisierungsmethoden wie MySQL, LDAP, HTTP und PAM
- Kompatibilität mit jedem Subsonic-Client
In diesem Tutorial werden wir lernen, wie man den Ampache-Musik-Streaming-Server unter Ubuntu 20.04 einrichtet.
Voraussetzungen
- Einen Server, auf dem Ubuntu 20.04 läuft.
- Ein Root-Passwort wird auf Ihrem Server eingerichtet.
Erste Schritte
Bevor Sie beginnen, ist es eine gute Idee, das Paket Ihres Systems auf die neueste Version zu aktualisieren. Sie können sie mit dem folgenden Befehl aktualisieren:
apt-get update -y apt-get upgrade -y
Sobald alle Pakete aktualisiert sind, starten Sie Ihr System neu, um die Änderungen zu übernehmen.
LAMP-Server installieren
Ampache läuft auf dem Webserver, ist in PHP geschrieben und verwendet MySQL/MariaDB zur Speicherung seiner Daten. Sie müssen also Apache, MariaDB, PHP und andere erforderliche PHP-Erweiterungen in Ihrem System installieren. Sie können sie installieren, indem Sie den folgenden Befehl ausführen:
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
Wenn alle Pakete installiert sind, öffnen Sie die Datei php.ini und passen Sie einige Einstellungen an:
nano /etc/php/7.4/apache2/php.ini
Ändern Sie die folgenden Werte:
upload_max_filesize = 100M post_max_size = 100M date.timezone = Asia/Kolkata
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Apache-Dienst neu, um die Änderungen zu implementieren:
systemctl restart apache2
Konfigurieren Sie die MariaDB-Datenbank
Standardmäßig ist MariaDB nicht gesichert. Sie können es sichern, indem Sie das folgende Skript ausführen:
mysql_secure_installation
Beantworten Sie alle Fragen wie unten gezeigt:
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
Sobald die MariaDB gesichert ist, loggen Sie sich mit folgendem Befehl in die MariaDB-Shell ein:
mysql -u root -p
Geben Sie Ihr MariaDB-Root-Passwort an und erstellen Sie eine Datenbank und einen Benutzer für Ampache mit folgendem Befehl:
MariaDB [(none)]> CREATE DATABASE ampachedb; MariaDB [(none)]> CREATE USER 'ampache'@'localhost' IDENTIFIED BY 'password';
Als nächstes gewähren Sie alle Privilegien für die Ampache-Datenbank mit dem folgenden Befehl:
MariaDB [(none)]> GRANT ALL PRIVILEGES ON ampachedb.* TO 'ampache'@'localhost';
Als nächstes flushen Sie die Privilegien und verlassen die MariaDB-Shell mit dem folgenden Befehl:
MariaDB [(none)]> FLUSH PRIVILEGES; MariaDB [(none)]> EXIT;
Ampache herunterladen
Mit dem folgenden Befehl können Sie die neueste Version von Ampache herunterladen:
wget https://github.com/ampache/ampache/releases/download/4.1.1/ampache-4.1.1_all.zip
Sobald der Download abgeschlossen ist, entpacken Sie die heruntergeladene Datei in das Apache-Web-Stammverzeichnis:
unzip ampache-4.1.1_all.zip -d /var/www/html/ampache
Ändern Sie als Nächstes den Eigentümer des Ampache-Verzeichnisses in www-data:
chown -R www-data:www-data /var/www/html/ampache
Ändern Sie als nächstes das Verzeichnis in Ampache und benennen Sie die erforderliche .htaccess-Datei um.
cd /var/www/html/ampache mv rest/.htaccess.dist rest/.htaccess mv play/.htaccess.dist play/.htaccess mv channel/.htaccess.dist channel/.htaccess
Als nächstes erstellen Sie ein Verzeichnis zum Speichern von Musikdateien und ändern Sie den Besitzer in www-data:
mkdir -p /data/Music chown www-data:www-data /data/Music
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Konfigurieren Sie Apache für Ampache
Als nächstes müssen Sie eine neue Apache-Konfigurationsdatei für virtuelle Hosts für Ampache erstellen. Sie können sie mit dem folgenden Befehl erstellen:
nano /etc/apache2/sites-available/ampache.conf
Fügen Sie die folgenden Zeilen hinzu:
<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>
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Überprüfen Sie dann die Apache-Konfigurationsdatei mit dem folgenden Befehl auf Fehler:
apachectl configtest
Sie sollten die folgende Ausgabe erhalten:
Syntax OK
Als nächstes aktivieren Sie die Konfigurationsdatei des virtuellen Apache-Hosts und die erforderlichen Module mit dem folgenden Befehl:
a2ensite ampache a2enmod expires rewrite
Starten Sie schließlich den Apache-Dienst neu, um die Änderungen zu übernehmen:
systemctl reload apache2
Zu diesem Zeitpunkt ist Ampache installiert und konfiguriert. Sie können nun mit dem nächsten Schritt fortfahren.
Sicherer Ampache mit Let’s Encrypt SSL
Es wird empfohlen, Ihre Ampache-Website mit Let’s Encrypt SSL zu sichern.
Installieren Sie zunächst den Certbot-Client, um Let’s Encrypt SSL für Ihre Website herunterzuladen und zu installieren.
apt-get install certbot python3-certbot-apache -y
Nach der Installation führen Sie den folgenden Befehl aus, um Let’s Encrypt SSL für Ihre Website zu installieren.
certbot --apache -d ampache.linuxbuz.com
Sie werden gebeten, Ihre E-Mail-Adresse einzugeben und die Dienstzeit wie unten gezeigt zu akzeptieren:
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): hitjethva@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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
Als nächstes müssen Sie wählen, ob HTTP-Verkehr wie unten gezeigt zu HTTPS umgeleitet werden soll oder nicht:
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
Geben Sie 2 ein und drücken Sie Enter, um fortzufahren. Sobald die Installation abgeschlossen ist, sollten Sie die folgende Ausgabe erhalten:
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
Testen Sie als Nächstes die automatische Erneuerung des Let’s Encrypt-Zertifikats mit dem folgenden Befehl:
certbot renew --dry-run
Wenn der Test erfolgreich war, sollten Sie die folgende Ausgabe erhalten:
** 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.)
Zugriff auf die Ampache-Webschnittstelle
Ihre Ampache-Website ist jetzt mit Let’s Encrypt SSL gesichert. Öffnen Sie als nächstes Ihren Webbrowser und geben Sie die URL https://ampache.linuxbuz.com ein. Sie werden auf die folgende Seite weitergeleitet:
Wählen Sie Ihre Sprache und klicken Sie auf die Schaltfläche Konfiguration starten. Sie sollten die folgende Seite sehen:
Stellen Sie sicher, dass alle erforderlichen PHP-Erweiterungen installiert sind, und klicken Sie dann auf die Schaltfläche Weiter. Sie sollten die folgende Seite sehen:
Geben Sie Ihre Datenbankdetails an, deaktivieren Sie Datenbank erstellen, aktivieren Sie Tabellen erstellen, deaktivieren Sie Datenbankbenutzer erstellen und klicken Sie auf die Schaltfläche Datenbank einfügen. Sie sollten die folgende Seite sehen:
Geben Sie Ihre Datenbankangaben ein, wählen Sie ffmpeg und klicken Sie auf die Schaltfläche Create Config. Sie sollten die folgende Seite sehen:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Create Account. Sie sollten die folgende Seite sehen:
Klicken Sie auf die Schaltfläche Jetzt aktualisieren, um alle erforderlichen Pakete zu aktualisieren. Sie sollten die folgende Seite sehen:
Klicken Sie auf den Link Zurück zur Hauptseite. Sie sollten die folgende Seite sehen:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf die Schaltfläche Login. Sie sollten das Ampache-Dashboard auf der folgenden Seite sehen:
Schlussfolgerung
Herzlichen Glückwunsch! Sie haben Ampache erfolgreich auf dem Ubuntu 20.04 Server installiert und gesichert. Sie können nun Ihren neuen Katalog erstellen, Ihre Musik hochladen und über das Internet abspielen.