So installieren Sie Ampache Music Streaming Server auf Fedora 33

Ampache ist eine Open-Source-Web-basierte persönliche Audio-Streaming-Anwendung, die in PHP geschrieben wurde. Sie ermöglicht es Ihnen, Ihre digitale Musiksammlung auf Ihrem Server zu hosten und zu verwalten und sie auf Ihren Computer, Ihr Smartphone, Tablet oder Smart-TV zu streamen. Sie können verschiedene Android- und iOS-Anwendungen verwenden, um Ihre Musik von Ihrem Ampache-Musikserver auf Ihre persönlichen Geräte zu streamen.

In diesem Tutorial erfahren Sie, wie Sie die Ampache-Anwendung auf einem Fedora 33-basierten Server installieren und wie Sie Musik zum Streaming auf den Server hochladen.

Voraussetzungen

  • Ein Server, auf dem Fedora 33 läuft.
  • Ein sudo-Benutzer ohne Root-Rechte.
  • Stellen Sie sicher, dass alles aktualisiert ist.
    $ sudo dnf upgrade
    
  • Einige wenige Pakete, die Ihr System benötigt.
    $ sudo dnf install wget curl nano zip -y
    
  • Deaktivieren Sie SELinux.
    $ sudo setenforce 0
    

Konfigurieren der Firewall

Der erste Schritt ist die Konfiguration der Firewall. Auf dem Fedora-Server ist Firewalld vorinstalliert.

Prüfen Sie, ob die Firewall läuft.

$ sudo firewall-cmd --state

Sie sollten die folgende Ausgabe erhalten.

running

Setzen Sie die Standardzone der Firewall auf public.

$ sudo firewall-cmd --set-default-zone=public

Überprüfen Sie die aktuell erlaubten Dienste/Ports.

$ sudo firewall-cmd --zone=public --permanent --list-services

Es sollte die folgende Ausgabe angezeigt werden.

dhcpv6-client mdns ssh

Erlauben Sie HTTP- und HTTPS-Ports.

$ sudo firewall-cmd --zone=public --permanent --add-service=http
$ sudo firewall-cmd --zone=public --permanent --add-service=https

Überprüfen Sie erneut den Status der Firewall.

$ sudo firewall-cmd --zone=public --permanent --list-services

Sie sollten eine ähnliche Ausgabe sehen.

dhcpv6-client http https mdns ssh

Laden Sie die Firewall neu.

$ sudo systemctl reload firewalld

Installieren von Git

Bevor wir fortfahren, müssen wir Git installieren.

$ sudo dnf install git

Als nächstes konfigurieren Sie Git mit Ihren persönlichen Daten.

$ git config --global user.name "Your Name"
$ git config --global user.email "[email protected]"

MariaDB installieren

MariaDB ist ein Drop-in-Ersatz für MySQL, was bedeutet, dass die Befehle zum Ausführen und Bedienen von MariaDB die gleichen sind wie die für MySQL.

Fedora 33 wird standardmäßig mit MariaDB 10.4 ausgeliefert, da MariaDB 10.5 die neueste stabile Version ist, werden wir das offizielle MariaDB-Repository verwenden.

Erstellen Sie die Datei /etc/yum.repos.d/MariaDB.repo und öffnen Sie sie zum Bearbeiten.

$ sudo nano /etc/yum.repos.d/MariaDB.repo

Fügen Sie den folgenden Code darin ein.

# MariaDB 10.5 Fedora repository list
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/fedora33-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

Speichern und schließen Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Um MariaDB zu installieren, geben Sie den folgenden Befehl ein.

$ sudo dnf install MariaDB-server -y

Achten Sie darauf, dass Sie im obigen Befehl MariaDB-server und nicht mariadb-server eingeben, da ersteres die Installation aus dem offiziellen Repository vornimmt, während der zweite Befehl die ältere Version aus dem Fedora-Repository installiert.

Überprüfen Sie, ob MariaDB korrekt installiert ist.

$ mysql --version

Sie sollten die folgende Ausgabe sehen.

mysql  Ver 15.1 Distrib 10.5.9-MariaDB, for Linux (x86_64) using  EditLine wrapper

Aktivieren und starten Sie den MariaDB-Dienst.

$ sudo systemctl enable mariadb
$ sudo systemctl start mariadb

Führen Sie den folgenden Befehl aus, um die Standardkonfiguration durchzuführen, z. B. ein Root-Passwort zu vergeben, anonyme Benutzer zu entfernen, Root-Login aus der Ferne zu verbieten und Testtabellen zu löschen.

$ sudo mysql_secure_installation

Mit MariaDB 10.4 werden Sie nun gefragt, ob Sie das Root-Passwort oder das Plugin unix_socket verwenden möchten. Mit dem Plugin können Sie sich mit Ihren Linux-Benutzeranmeldeinformationen bei MariaDB anmelden. Es wird als sicherer angesehen, obwohl Sie einen traditionellen Benutzernamen/Passwort benötigen, um Anwendungen von Drittanbietern wie phpMyAdmin zu verwenden. Für dieses Tutorial werden wir uns auf die Verwendung des Plugins beschränken. Sie können phpMyAdmin trotzdem über jeden beliebigen Benutzer verwenden, den Sie für Ihre Datenbanken anlegen.

Wenn Sie die Eingabetaste drücken, wird die Standardoption ausgewählt (diejenige, die groß geschrieben wird, in diesem Fall Y).

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none): [PRESS ENTER]
OK, successfully used password, moving on...

Setting the root password or using the unix_socket ensures that nobody
can log into the MariaDB root user without the proper authorisation.

You already have your root account protected, so you can safely answer 'n'.

Switch to unix_socket authentication [Y/n] [PRESS ENTER]
Enabled successfully!
Reloading privilege tables..
 ... Success!

You already have your root account protected, so you can safely answer 'n'.

Change the root password? [Y/n] [ANSWER n]
... skipping.

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] [PRESS ENTER]
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] [PRESS ENTER]
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] [PRESS ENTER]
 \- Dropping test database...
 ... Success!
 \- Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] [PRESS ENTER]
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!

Das war’s. Wenn Sie sich das nächste Mal bei MySQL anmelden wollen, verwenden Sie den folgenden Befehl

$ sudo mysql

Geben Sie Ihr root-Passwort ein, wenn Sie dazu aufgefordert werden.

Konfigurieren von MariaDB für Ampache

Nun müssen wir eine Datenbank einrichten, die für die Ampache-Anwendung verwendet wird. Melden Sie sich dazu an der MySQL-Eingabeaufforderung an.

$ sudo mysql

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um eine Datenbank namens ampache und einen Datenbankbenutzer namens ampuser einzurichten und ihm Zugriff auf die Datenbank zu gewähren.

mysql> CREATE DATABASE ampache;
mysql> CREATE USER 'ampuser'@'localhost' IDENTIFIED BY 'yourpassword';
mysql> GRANT ALL PRIVILEGES ON ampache.* TO 'ampuser'@'localhost';
mysql> exit

PHP installieren

Fedora 33 wird standardmäßig mit PHP 7.4 ausgeliefert, aber um ein aktuelles PHP-Repository zu haben, werden wir das REMI-Repository hinzufügen.

Installieren Sie das REMI-Repository, welches das offizielle Fedora-Repository für die Installation von PHP-Paketen ist.

$ sudo dnf -y install https://rpms.remirepo.net/fedora/remi-release-33.rpm

Installieren Sie PHP 7.4 als Modul.

$ sudo dnf module install php:remi-7.4

Prüfen Sie, ob PHP korrekt funktioniert.

$ php --version

Sie sollten eine ähnliche Ausgabe sehen.

PHP 7.4.16 (cli) (built: Mar  2 2021 10:35:17) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

Installieren Sie PHP-Erweiterungen

Ampache benötigt einige PHP-Erweiterungen. Verwenden Sie den folgenden Befehl, um sie zu installieren.

sudo dnf install php-curl php-gd php-intl php-mysql

PHP-FPM konfigurieren

Öffnen Sie die Datei /etc/php-fpm.d/www.conf.

$ sudo nano /etc/php-fpm.d/www.conf

Wir müssen den Unix-Benutzer/die Unix-Gruppe der PHP-Prozesse auf nginx setzen. Suchen Sie die Zeilen user=apache und group=apache in der Datei und ändern Sie sie in nginx.

...
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;       will be used.
; RPM: apache user chosen to provide access to the same directories as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
...

Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Als nächstes müssen wir die Dateigröße für Musik-Uploads in der Datei /etc/php.ini erhöhen. Öffnen Sie die Datei zur Bearbeitung.

$ sudo nano /etc/php.ini

Ändern Sie die folgenden Zeilen

. . .
post_max_size = 8M
. . .
upload_max_filesize = 2M

in

. . .
post_max_size = 110M
. . .
upload_max_filesize = 100M
. . .

Jetzt können Sie Dateien bis zu einer Größe von 100 MB hochladen. Sie können den Wert nach Belieben ändern. Stellen Sie nur sicher, dass die Variable post_max_size größer ist als upload_max_filesize.

Speichern Sie die Datei, indem Sie Strg + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Starten Sie den PHP-fpm-Prozess neu.

$ sudo systemctl restart php-fpm

Nginx installieren

Fedora 33 wird standardmäßig mit der neuesten Stable-Version von Nginx ausgeliefert. (1.18.0).

Installieren Sie Nginx.

$ sudo dnf install nginx -y

Prüfen Sie, ob es korrekt funktioniert.

$ nginx -v

Abhängig von der Version von Nginx, die Sie installiert haben, sollten Sie die folgende Ausgabe sehen.

nginx version: nginx/1.18.0

Starten und aktivieren Sie Nginx.

$ sudo systemctl start nginx
$ sudo systemctl enable nginx

Öffnen Sie die IP-Adresse Ihres Servers in einem Browser, um die folgende Seite zu sehen. Das bedeutet, dass Nginx ordnungsgemäß funktioniert.

Fedora Nginx Startseite

Konfigurieren Sie Nginx

Richten Sie Verzeichnisse ein, in denen die Serverblöcke liegen werden.

$ sudo mkdir /etc/nginx/sites-available
$ sudo mkdir /etc/nginx/sites-enabled

Öffnen Sie die Datei /etc/nginx/nginx.conf zum Bearbeiten.

$ sudo nano /etc/nginx/nginx.conf	

Fügen Sie die folgenden Zeilen nach der Zeile include /etc/nginx/conf.d/*.conf

include /etc/nginx/sites-enabled/*.conf;
server_names_hash_bucket_size 64;

Drücken Sie Strg + X, um den Editor zu schließen, und drücken Sie Y, wenn Sie zum Speichern der Datei aufgefordert werden.

Führen Sie den folgenden Befehl aus, um eine Konfigurationsdatei für Ampache hinzuzufügen.

$ sudo nano /etc/nginx/sites-available/ampache.conf

Fügen Sie den folgenden Code in den Editor ein.

server {

    # listen to
    listen  [::]:80;
    listen       80;

    server_name ampache.example.com;
    charset utf-8;

    # Logging, error_log mode [notice] is necessary for rewrite_log on,
    # (very usefull if rewrite rules do not work as expected)

    error_log       /var/log/nginx/ampache.error.log; # notice;
    access_log      /var/log/nginx/ampache.access.log;
    # rewrite_log     on;

    # Use secure headers to avoid XSS and many other things
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Robots-Tag none;
    add_header X-Download-Options noopen;
    add_header X-Permitted-Cross-Domain-Policies none;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header Referrer-Policy "no-referrer";
    add_header Content-Security-Policy "script-src 'self' 'unsafe-inline' 'unsafe-eval'; frame-src 'self'; object-src 'self'";

    # Avoid information leak
    server_tokens off;
    fastcgi_hide_header X-Powered-By;

    root /var/www/html/ampache;
    index index.php;
    client_max_body_size 100m;

    # Somebody said this helps, in my setup it doesn't prevent temporary saving in files
    proxy_max_temp_file_size 0;

    # Rewrite rule for Subsonic backend
    if ( !-d $request_filename ) {
        rewrite ^/rest/(.*).view$ /rest/index.php?action=$1 last;
        rewrite ^/rest/fake/(.+)$ /play/$1 last;
    }

    # Rewrite rule for Channels
    if (!-d $request_filename){
      rewrite ^/channel/([0-9]+)/(.*)$ /channel/index.php?channel=$1&target=$2 last;
    }

    # Beautiful URL Rewriting
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&name=$5 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&name=$6 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&player=$6&name=$7 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&bitrate=$6player=$7&name=$8 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/transcode_to/(w+)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&transcode_to=$6&bitrate=$7&player=$8&name=$9 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&name=$7 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&player=$7&name=$8 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&bitrate=$7player=$8&name=$9 last;
    rewrite ^/play/ssid/(\w+)/type/(\w+)/oid/([0-9]+)/uid/([0-9]+)/client/(.*)/noscrobble/([0-1])/transcode_to/(w+)/bitrate/([0-9]+)/player/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4&client=$5&noscrobble=$6&transcode_to=$7&bitrate=$8&player=$9&name=$10 last;

    # the following line was needed for me to get downloads of single songs to work
    rewrite ^/play/ssid/(.*)/type/(.*)/oid/([0-9]+)/uid/([0-9]+)/action/(.*)/name/(.*)$ /play/index.php?ssid=$1&type=$2&oid=$3&uid=$4action=$5&name=$6 last;
    location /play {
        if (!-e $request_filename) {
			rewrite ^/play/art/([^/]+)/([^/]+)/([0-9]+)/thumb([0-9]*)\.([a-z]+)$ /image.php?object_type=$2&object_id=$3&auth=$1 last;
        }

		rewrite ^/([^/]+)/([^/]+)(/.*)?$ /play/$3?$1=$2;
		rewrite ^/(/[^/]+|[^/]+/|/?)$ /play/index.php last;
		break;
    }

   location /rest {
      limit_except GET POST {
         deny all;
      }
   }

   location ^~ /bin/ {
      deny all;
      return 403;
   }

   location ^~ /config/ {
      deny all;
      return 403;
   }

   location / {
      limit_except GET POST HEAD{
         deny all;
      }
   }

   location ~ ^/.*.php {
        fastcgi_index index.php;

        # sets the timeout for requests in [s] , 60s are normally enough
        fastcgi_read_timeout 600s;

        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        # Mitigate HTTPOXY https://httpoxy.org/
        fastcgi_param HTTP_PROXY "";

        # has to be set to on if encryption (https) is used:
        fastcgi_param HTTPS on;

        fastcgi_split_path_info ^(.+?\.php)(/.*)$;

        # chose as your php-fpm is configured to listen on
        fastcgi_pass unix:/run/php-fpm/www.sock;
   }

   # Rewrite rule for WebSocket
   location /ws {
        rewrite ^/ws/(.*) /$1 break;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:8100/;
   }
}

Diese Datei geht davon aus, dass wir Ampache in der Domäne ampache.example.com und im Verzeichnis /var/www/html/ampache installieren werden. Drücken Sie Strg + X, um den Editor zu schließen, und drücken Sie Y, wenn Sie zum Speichern der Datei aufgefordert werden.

Aktivieren Sie diese Konfigurationsdatei, indem Sie sie mit dem Verzeichnis sites-enabled verknüpfen.

$ sudo ln -s /etc/nginx/sites-available/ampache.conf /etc/nginx/sites-enabled/

Testen Sie die Nginx-Konfiguration.

$ sudo nginx -t

Sie sollten die folgende Ausgabe sehen, die anzeigt, dass Ihre Konfiguration korrekt ist.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Laden Sie den Nginx-Dienst neu.

$ sudo systemctl reload nginx

Einrichten von HTTPS mit Let’s Encrypt

Um Let’s Encrypt zu verwenden, müssen wir das Certbot-Paket installieren.

Installieren Sie Certbot.

$ sudo dnf install certbot certbot-nginx -y

Installieren Sie das Zertifikat.

$ sudo certbot --nginx -d ampache.example.com

Wenn Sie das Tool zum ersten Mal auf diesem Server verwenden, müssen Sie den Bedingungen zustimmen und Ihre E-Mail-Adresse eingeben. Sagen Sie „Nein“, wenn Sie gefragt werden, ob Sie Ihre E-Mail-Adresse mit der EFF-Stiftung teilen wollen.

Wenn das erfolgreich war, wird certbot Sie fragen, wie Sie Ihre HTTPS-Einstellungen konfigurieren möchten.

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):

Wählen Sie 2 und drücken Sie dann ENTER. Ihr Zertifikat ist nun installiert und aktiviert.

Führen Sie den folgenden Befehl aus, um die automatische Erneuerung einzurichten.

$ echo "0 0,12 * * * root python -c 'import random; import time; time.sleep(random.random() * 3600)' && certbot renew" | sudo tee -a /etc/crontab > /dev/null

Ampache installieren

Legen Sie einen leeren Dokumentenstammordner für Ampache an.

$ sudo mkdir -p /var/www/html/ampache

Das Argument -p sorgt dafür, dass die übergeordneten Verzeichnisse var und www automatisch angelegt werden, wenn sie nicht existieren.

Laden Sie als nächstes das ZIP-Archiv der neuesten Version von Ampache herunter. Den Link zur neuesten Version finden Sie auf der Github-Releases-Seite. Zum Zeitpunkt der Erstellung dieser Anleitung ist 4.4.1 die neueste Version, also laden wir diese herunter.

$ wget https://github.com/ampache/ampache/releases/download/4.4.1/ampache-4.4.1_all.zip

Als nächstes entpacken Sie die ZIP-Datei in das Verzeichnis, das wir zuvor erstellt haben.

$ sudo unzip ampache-4.4.1_all.zip -d /var/www/html/ampache/

Setzen Sie als nächstes die Berechtigungen für das Verzeichnis /var/www/html/ampache für den Nginx-Webserver.

$ sudo chown --recursive  nginx:nginx /var/www/html/ampache/

Erstellen Sie ein weiteres Verzeichnis, um Ihre Musik zu speichern. Wir brauchen hier kein sudo, da wir in unserem eigenen Benutzerverzeichnis erstellen.

$ sudo mkdir -p /data/Music

Ändern Sie die Eigentümerschaft von /home/user/music in nginx, damit der Server in dem Verzeichnis, in dem Sie die Musik speichern werden, schreiben und lesen kann.

$ sudo chown -R nginx:nginx /data/Music

Um die Einrichtung von Ampache abzuschließen, installieren Sie FFmpeg, ein Dienstprogramm zum Konvertieren von Audio- und Videodateien von einem Format in ein anderes. Ampache verwendet FFmpeg, um Audiodateien „on the fly“ von dem Format, in das sie hochgeladen wurden, in ein Format zu konvertieren, das das Abspielgerät abspielen kann.

Fedora wird standardmäßig nicht mit FFmpeg ausgeliefert, daher müssen wir zuerst das RPMFusion-Repository hinzufügen.

$ sudo dnf install https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

Als nächstes installieren Sie FFmpeg.

$ sudo dnf install ffmpeg

Verwenden des Ampache-Installationsprogramms

Ihre Ampache-Site ist einsatzbereit und kann über https://example.com in Ihrem Browser aufgerufen werden. Wenn Sie sie zum ersten Mal öffnen, werden Sie vom Web-Installer von Ampache begrüßt.

Ampache Installer Home

Wählen Sie Ihre Sprache und fahren Sie mit der nächsten Seite fort, auf der Ihnen angezeigt wird, ob Ihr Server die Anforderungen für Ampache erfüllt.

Ampache Installer Anforderungen

Wenn Sie die Anleitung richtig befolgt haben, sollten Sie auf die nächste Seite wechseln können, auf der Sie aufgefordert werden, die Datenbankdetails auszufüllen. Da wir die Datenbank bereits erstellt haben, können wir das Kontrollkästchen für sie unmarkiert lassen. Das Gleiche gilt für den Datenbankbenutzer. Geben Sie den Datenbanknamen, den Benutzer und das Passwort ein, die wir erstellt haben, und fahren Sie mit der nächsten Seite fort.

Einrichtung der Ampache-Datenbank

Als nächstes werden Ihnen die Konfigurationsoptionen für Ampache angezeigt. Die meisten Informationen sind bereits ausgefüllt und müssen nicht geändert werden.

Konfiguration des Ampache-Installationsprogramms

Aus irgendeinem Grund erkennt das Ampache-Web-Installationsprogramm das installierte FFmpeg-Binary unter Fedora nicht. Wir werden das später aktivieren, indem wir die Konfigurationsdatei manuell bearbeiten.

Als nächstes geben Sie die Details für das Administrator-Konto für Ampache ein.

Ampache Admin-Konto einrichten

Sie werden nun auf die Anmeldeseite für Ampache weitergeleitet.

Ampache Login

Geben Sie Ihre Benutzerdaten ein und Sie können nun auf den Ampache-Player zugreifen.

Ampache Startseite

Bevor Sie ihn verwenden können, müssen wir FFmpeg für die Transcodierung aktivieren. Um dies zu aktivieren, müssen Sie die Datei /var/www/html/ampache/config/ampache.cfg.php zum Bearbeiten öffnen.

$ sudo nano /var/www/html/ampache/config/ampache.cfg.php

Ersetzen Sie die folgende Zeile

;transcode_cmd = "ffmpeg"

durch die folgende Zeile, indem Sie das kaufmännische Und-Zeichen vor der Zeile entfernen.

transcode_cmd = "ffmpeg"

Drücken Sie Strg + X, um den Editor zu schließen, und drücken Sie Y, wenn Sie zum Speichern der Datei aufgefordert werden. Sie können in dieser Datei noch viele weitere Änderungen vornehmen, die Sie wünschen. Ihre Ampache-Installation ist nun fertig, aber damit sie funktioniert, müssen wir ihr noch Musik hinzufügen.

Hinzufügen von Musik

Um Musik zu Ampache hinzuzufügen, müssen wir einen Katalog im Player erstellen und dann die Dateien über die Weboberfläche hochladen.

Verwenden Sie zunächst die Option “ Katalog hinzufügen “ auf der Startseite.

Ampache Katalog hinzufügen

Wählen Sie als Katalogtyp „local“ und geben Sie den Pfad /home/user/music ein. Wenn Sie Wiedergabelisten importieren möchten, können Sie die Option Build Playlists from Playlist Files wählen. Geben Sie Ihrem Katalog einen Namen und klicken Sie dann auf Katalog hinzufügen, um fortzufahren.

Nun, da unser Katalog erstellt ist, müssen wir die Option aktivieren, um Musikdateien hochladen zu können. Klicken Sie dazu auf die vierte Navigationsschaltfläche in der oberen linken Symbolleiste, um die Admin-Einstellungen aufzurufen.

Ampache Admin-Taste

Scrollen Sie nach unten zum Abschnitt Serverkonfiguration und klicken Sie auf System.

Abschnitt "Ampache Server Config

Suchen Sie die Zeile Benutzer-Uploads zulassen und wählen Sie Ein aus dem Dropdown-Menü. Sie können auch den Typ des Benutzers auswählen, der die Dateien hinzufügen darf. In unserem Fall ist es der Katalog-Manager, der zufällig auch der Administrator ist.

Sie müssen auch das Ziel für die vom Benutzer hochgeladenen Dateien festlegen. Dies können Sie in der Zeile Zielkatalog einstellen. Wählen Sie den Katalog, den wir gerade erstellt haben, aus dem Dropdown-Menü aus.

Ampache Upload-Einstellungen

Klicken Sie auf “ Update Preferences“, wenn Sie fertig sind. Sie können nun Musik zu Ihrer Ampache-Installation hinzufügen. Klicken Sie dazu auf das Kopfhörersymbol im Navigationsmenü oben links.

Ampache Toolbar

Klicken Sie dann im Abschnitt Musik auf den Link Hochladen.

Abschnitt Ampache Musik

Wählen Sie auf der Seite “ Upload“ Ihre Musikdateien von Ihrem lokalen PC aus und laden Sie sie hoch. Wenn Sie die Felder „Artist“ und „Album“ leer lassen, wird Ampache automatisch versuchen, die Dateien anhand der ID3-Tags zu identifizieren.

Ampache Upload Seite

Wenn Sie damit fertig sind, können Sie Ihre Dateien nun in jedem der Bereiche auf der linken Seite finden und Sie können Ihre Musik nun streamen.

Fazit

Damit ist unser Tutorial zur Installation und Verwendung des Ampache Music Streaming Servers powered by Fedora 33 abgeschlossen. Wenn Sie Fragen oder Feedback haben, schreiben Sie es unten in die Kommentare.

Das könnte dich auch interessieren …