[[Vorlage(Getestet, bionic)]] [[Vorlage(Fortgeschritten)]] {{{#!vorlage Wissen [:Pakete installieren: Installation von Programmen] [:Root-Rechte:] [:Terminal: ein Terminal-Fenster öffnen] }}} [[Inhaltsverzeichnis(2)]] [[Bild(./ampache_logo.png, 48, align=left)]] [http://ampache.org/ Ampache] {en} zählt zu den ältesten Streaming-Servern und wird immer noch aktiv entwickelt. Wer sich nun fragt, wozu man überhaupt einen Streaming-Server benötigt: Damit lassen sich die auf dem Server gespeicherten Musiktitel und Videos bequem im lokalen Netzwerk (LAN) oder auch über das Internet streamen. Man sollte einen solchen Server aber nicht mit einem [:Internetradio#Server:Internetradio] verwechseln. Während letzteres eine "Sendung" ausstrahlt, verteilt ersterer Musik (als Playlist) nur auf eine konkrete Nutzeranforderung. Diese könnte z.B. lauten: "Spiele das Album X von Interpret Y ab". Funktionen: * integrierte Benutzerverwaltung * automatische Konvertierung in verschiedene Formate und Bitraten (on-the-fly transcoding and downsampling) * Unterstützung für Cover * Bewertungssystem * Sortierung nach Interpret, Alben oder Bewertung * Flash-Audioplayer (falls kein [:AudioPlayer:] installiert ist) * Video und Musikstreaming * Live-Transcoding (nur bei starken Servern machbar) * Genaues Rechtesystem Alternative (Musik-)Streaming-Server sind im Artikel [:Musik_verwalten:] zu finden. = Installation = == Voraussetzungen/Dependencies == Ampache benötigt sowohl einen Webserver mit [:PHP:], als auch die Datenbank [:MySQL:] (Version 5.X) oder [:MariaDB:] (Version 5.X). Um die Abhängigkeiten (in diesem Beispiel wird MySQL verwendet) zu installieren: {{{#!vorlage Paketinstallation apache2, [:Apache_2.4:] libapache2-mod-php7.2 php7.2, [:PHP:] php7.2-mysql php7.2-common php7.2-cli php7.2-curl php7.2-xml php7.2-mbstring php7.2-zip php7.2-gd php-gd mysql-server-5.7 mysql-client-5.7 curl, [:cURL:] composer git, [:Git:] }}} Wer on-the-fly-Transcoding haben will, installiert am besten noch [:FFmpeg:]. (Dafür wird jedoch eine starke CPU benötigt.) == Manuelle Ampache-Installation (ab Ubuntu 18.04) == Nach der Installation der Voraussetzung wird die neuste Version von [github:ampache/ampache/tags:Github] {en} {dl} heruntergeladen und in den Ordner des Webservers Ordner entpackt. Die Installation lässt sich danach einfach aktualisieren (siehe [github:ampache/ampache/wiki/Upgrade:Upgrade Ampache] {en}). [[Vorlage(Fremd, Software)]] Die notwendigen Befehle zur Installation am Beispiel von [:18.04:Ubuntu 18.04] (Es wird hier `sudo` verwendet, da das Webserver-Verzeichnis für den normalen Nutzer nicht beschreibbar ist (es gehört `root` oder `www-data`, genaueres hierzu im [:Apache_2.4:Apache-Artikel]): {{{#!vorlage Befehl cd /var/www/html sudo git clone https://github.com/ampache/ampache.git cd ampache sudo composer install --prefer-source --no-interaction }}} Die Ausführungsdauer der einzelnen Befehle kann sehr stark variieren. === Konfiguration von Mysql und Apache === Für die Datenbanksoftware ([:MySQL:] oder [:MariaDB:]) wird ein User mit Passwort und zugehörige Datenbank benötigt. Diesen Benutzer kann man von Hand erstellen, oder man überlässt es dem Installationsprogramm. Falls man es dem Installationsprogramm überlassen möchte, sollte man das Root-Passwort bereithalten. Diejenigen, die auf dem MySQL-Server noch andere Programme lagern, sollten eine Datenbank und den dazugehörigen User bereits erstellen. Des Weiteren sollte noch der Apache-Webserver besser konfiguriert werden. {{{#!vorlage Experten Die Verbindung zwischen Ampache (bzw. dem Apache-Server) und dem Client ist standardmäßig nicht verschlüsselt! Es ist jedoch empfehlenswert [:Apache/mod_ssl: SSL] einzurichten um die Sicherheit massiv zu erhöhen. Dies gilt insbesondere, wenn der Server über das Internet zugänglich gemacht werden soll. Wenn der Server über das Internet zugänglich gemacht werden soll, empfiehlt es sich noch eine [:Personal_Firewalls:Firewall] (z.B. [:iptables2:Iptables] mit oder ohne [:ufw: UFW] einzurichten). Des Weiteren sollte der Artikel [:Sicherheits-Einmaleins/Server:] vorher gelesen werden. }}} Darauf fügt man noch folgenden Text in die Konfigurationsdatei (zwischen die Virtual Hosts) von Apache2 (Standardmäßig die Datei welche in '''/etc/apache2/sites-enabled''' liegt) ein. {{{#!code text AllowOverride All }}} Des Weiteren sollte man noch in der Datei '''/etc/php/7.2/apache2/php.ini''' die Werte der Variablen `upload_max_filesize` und `post_max_size` erhöhen. Auch muss man den `mod_rewrite` von Apache aktivieren und der Ampache-Ordner soll dem Webserver gehören. Damit alle Änderungen auch übernommen werden, muss der Webserver einmalig neugestartet werden: {{{#!vorlage Befehl sudo a2enmod rewrite sudo chown -R www-data:www-data /var/www/html/ampache sudo /etc/init.d/apache2 restart }}} = Konfiguration = [[Bild(./ampache_installation.png, 225, align=right)]] Jetzt sind alle notwendigen Komponenten installiert und man kann mit dem Browser über die Adresse `http:///ampache` oder `http://localhost/ampache` (letzteres nur bei einer lokalen Installation) die Einrichtung vornehmen. Zunächst stellt man die Sprache auf Deutsch ein und klickt auf ''"Start configuration"''. Die Konfiguration erfolgt in drei Schritten. Es ist alles selbsterklärend, deshalb hier nur eine kurze Zusammenfassung der Installation über das Web-Interface: 1. Auf der ersten Seite gibt man das MySQL Passwort für den `root`-Benutzer ein. Es ist weiterhin empfehlenswert, den Haken für einen eigenen MySQL-Benutzer `ampache` zu setzen. In diesem Falle setzt man auch für diesen ein Passwort. Mit einem Klick auf ''"Datenbank einfügen"'' geht es weiter zur nächsten Seite. Alternativ kann man auch den bereits erstellten Benutzer angeben. 1. Im zweiten Schritt geht es darum, eine Konfigurationsdatei für Ampache zu erstellen. Man kontrolliert die zuvor eingegebenen Daten nochmals und klickt auf ''"Schreibe Konfiguration"''. Wenn man alles richtig gemacht hat, kann man nun sehen, dass dort wo vorher in rot ''"error"'' stand, jetzt in grün ''"OK"'' steht. Ansonsten muss oben nochmals aktualisiert werden bis alle drei Konfigurationen ein grünes ''"ok"'' haben. Nun folgt ''"Weiter zu Schritt 3"''. 1. Hier gibt man ein Passwort für den Benutzer `admin` (oder einen anderen selbstbenannten Nutzer) ein. Mit diesem Benutzer und dem gesetztem Passwort kann man sich dann zum ersten Mal anmelden. Damit ist die Basis-Konfiguration abgeschlossen. Zu beachten ist, dass manchmal die Passwörter im zweiten Schritt nochmals eingetragen werden müssen. Und dass man mehrfach einen Error bekommt, welcher mit dem Drücken der drei "Schreiben"-Knöpfe für die einzelnen Konfigurationsdateien behoben werden kann. Diese Knöpfe bewirken, dass die jeweiligen Konfigurationsdateien für Ampache geschrieben werden. Je nachdem kann es vorkommen, dass nach dem Drücken von einem dieser Knöpfe die Inhalte der Konfigurationsfelder zurückgesetzt werden. = Benutzung = [[Bild(./ampache_login.jpg, 225,align=right)]] Unabhängig davon, ob man nur Musik hören oder Ampache konfigurieren möchte, ist eine Anmeldung Pflicht. Diese erfolgt über einen Webbrowser mit der Adresse `http:///ampache` bzw. auf dem eigenen Rechner mit `http://localhost/ampache`. Wenn man noch keinen weiteren Benutzer eingerichtet hat, verwendet man dafür den Benutzer `admin` (oder den während der Installation angelegten Nutzer). == Musik/Videos hinzufügen == Schließlich muss man noch Musik/Videos der Datenbank hinzufügen. Links oben im Menü wählt man die Kategorie ''"Admin"'' aus und klickt auf ''"Einen Katalog hinzufügen"''. Anschließend gibt man einen beliebigen, kurzen Namen und den kompletten Pfad zum Medienordner ein (z.B. '''/var/data/movies'''). Wer einen lokalen Musik-Server betreiben möchte, muss diesen Ordner noch via [:Samba:], [:NFS:] oder [:FTP:] freigeben, damit Benutzer dort auch eigene Musik hinterlegen können. Wenn Pfade im eigenen [:Homeverzeichnis:], wie beispielsweise '''/home/BENUTZERNAME/Musik/''', nicht akzeptiert werden, muss man für diesen Ordner alle Rechte (`777`) setzen oder auf einen anderen Ordner, z.B. '''/media/Musik/''', als Medienablage ausweichen. Daraufhin einfach die Mediendateien hinzufügen und das Nutzererlebnis genießen. (Wenn die Mediendateien nicht erscheinen, einfach unter ''"Kataloge Anzeigen"'' auf ''"Update"'' gehen und dann absenden.) == Benutzer hinzufügen == Aus Sicherheitsgründen sollte man (als `admin`) einen weiteren, unprivilegierten Benutzer anlegen, der nur zum Abspielen der Mediendateien berechtigt ist. == Audioplayer == Prinzipiell eignet sich jeder [:AudioPlayer:], der Streams wiedergeben kann, als Abspieler für Ampache - allerdings immer in Kombination mit einem [:Internetanwendungen#Webbrowser:Webbrowser] bzw. der Weboberfläche. Mit welchem AudioPlayer man direkt (ohne Weboberfläche) auf Ampache zugreifen kann, ist dieser [github:ampache/ampache/wiki/Clients:Tabelle] {en} zu entnehmen. === Amarok 2 === Mit dem Audioplayer [:Amarok:] kann man auch direkt auf einen Ampache-Server zugreifen. Hierzu muss man unter ''"Einstellungen -> Amarok einrichten -> Internet-Dienste"'' das Ampache-Plugin aktivieren und anschließend seine Benutzerdaten sowie die IP des Servers (bei funktionierendem DNS den Hostnamen) eintragen. = Links = * [http://ampache.org/ Projektseite] {en} * [github:ampache/ampache/wiki:Wiki] {en} - Dokumentation * [github:ampache/ampache/wiki/Installation:Installationshinweise] {en} * [github:ampache/ampache:Quellcode] {en} * [https://unusedcycles.wordpress.com/2010/06/07/all-of-your-music-anytime-anywhere-with-android-and-ampache/ All of your music anytime, anywhere, with Android and Ampache] {en} - Transcoding-Konfiguration, 06/2010 #tag: Netzwerk, Internet, Server, Multimedia