Streama ist eine kostenlose Open-Source-Media-Streaming-Anwendung. Es ist eine selbst gehostete Alternative zu Netflix. Es verfügt über zahlreiche Funktionen wie einfaches Drag-and-Drop-Medienmanagement, schöner Mediaplayer, Live-Synchronisation, Mehrbenutzerfunktion, Untertitel- und Fortsetzungsfunktion usw.
In diesem Tutorial installieren wir Streama auf dem CentOS 7-Server.
Voraussetzung
- Minimaler CentOS 7-Server
- Root-Rechte
Schritt 1 - Installation von Streama
Es wird empfohlen, den Server vor der Installation eines Pakets zu aktualisieren, damit die vorhandenen Pakete und Repositories aktualisiert werden.
yum -y update
Sie können Streama sowohl auf OpenJDK als auch auf Oracle JAVA installieren. In diesem Tutorial installieren wir die neueste Version von Oracle Java auf dem Server. Führen Sie dafür den folgenden Befehl aus.
wget --no-cookies --no-check-certificate --header "Cookie:oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm"
Wenn Sie wget nicht installiert haben, können Sie yum -y install wget ausführen, um wget zu installieren. Installieren Sie nun das heruntergeladene RPM mit dem folgenden Befehl.
yum -y localinstall jdk-8u131-linux-x64.rpm
Sie können den folgenden Befehl ausführen, um zu überprüfen, ob Java installiert ist oder nicht.
java -version
Der obige Befehl druckt die Version von JAVA, die Sie installiert haben. Sie sollten eine ähnliche Ausgabe wie unten gezeigt erhalten.
[[email protected] ~]# java -version java version "1.8.0_131" Java(TM) SE Runtime Environment (build 1.8.0_131-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.131-b11, mixed mode)
Nachdem wir Java erfolgreich installiert haben, können wir das Streama War-Paket über den folgenden Link herunterladen.
wget https://github.com/dularion/streama/releases/download/v1.1/streama-1.1.war
Ein War-Paket oder Webarchiv enthält alle Dateien eines Webprojekts. Sie können jederzeit auf der Streama-Downloadseite nach dem Link zur neuesten Version von Streama suchen.
Benennen Sie die WAR-Datei um und verschieben Sie sie mit den folgenden Befehlen an einen sicheren Ort.
mkdir /opt/streama mv streama-1.1.war /opt/streama/streama.war
Jetzt können Sie die Anwendung sofort starten, führen Sie den folgenden Befehl aus.
java -jar /opt/streama/streama.war
Drücken Sie Strg + C, um die Ausführung zu stoppen. Erstellen Sie ein neues Verzeichnis zum Speichern der auf Streama hochgeladenen Mediendateien, indem Sie Folgendes eingeben:
mkdir /opt/streama/media
Stellen Sie mit dem folgenden Befehl die entsprechenden Berechtigungen für das Verzeichnis bereit.
chmod 664 /opt/streama/media
Nachdem wir unsere Umgebung bereit haben, können wir einen systemd-Dienst erstellen, um den Streama-Server auszuführen. Durch das Ausführen von Streama als Dienst wird sichergestellt, dass der Server im Hintergrund ausgeführt wird. Es wird automatisch beim Systemneustart und bei Prozessfehlern gestartet. Um eine neue systemd-Dienstdatei zu erstellen, geben Sie Folgendes ein:
nano /etc/systemd/system/streama.service
Fügen Sie nun die folgenden Zeilen in die Textdatei ein.
[Unit] Description=Streama Server After=syslog.target After=network.target [Service] User=root Type=simple ExecStart=/bin/java -jar /opt/streama/streama.war Restart=always StandardOutput=syslog StandardError=syslog SyslogIdentifier=Streama [Install] WantedBy=multi-user.target
Speichern Sie die Datei und verlassen Sie den Editor. Sie können den Streama-Server jetzt direkt mit dem folgenden Befehl ausführen.
systemctl start streama
Führen Sie den folgenden Befehl aus, damit die Anwendung beim Booten automatisch gestartet wird.
systemctl enable streama
Führen Sie den folgenden Befehl aus, um den Status des Dienstes zu überprüfen.
systemctl status streama
Sie werden wahrscheinlich die folgende Ausgabe sehen.
[[email protected] ~]# systemctl status streama ? streama.service - Streama Server
Loaded: loaded (/etc/systemd/system/streama.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 2017-06-22 19:02:32 UTC; 19s ago
Main PID: 20053 (java)
CGroup: /system.slice/streama.service
??20053 /bin/java -jar /opt/streama/streama.war
Jun 22 19:02:32 ip-172-31-0-204 systemd[1]: Started Streama Server.
Jun 22 19:02:32 ip-172-31-0-204 systemd[1]: Starting Streama Server...
Jun 22 19:02:37 ip-172-31-0-204 Streama[20053]: INFO streama.Application - Starting Application on ip-172-31-0-204...in /)
Jun 22 19:02:37 ip-172-31-0-204 Streama[20053]: DEBUG streama.Application - Running with Spring Boot v1.3.8.RELEAS...LEASE
Jun 22 19:02:37 ip-172-31-0-204 Streama[20053]: INFO streama.Application - The following profiles are active: production
Jun 22 19:02:47 ip-172-31-0-204 Streama[20053]: Configuring Spring Security Core ...
Jun 22 19:02:48 ip-172-31-0-204 Streama[20053]: ... finished configuring Spring Security Core
Hint: Some lines were ellipsized, use -l to show in full.
Standardmäßig wird Streama auf Port 8080 ausgeführt. Wir können mit Apache einen Reverse-Proxy erstellen, sodass die Streama-Anwendung auf Port 8080 ausgeführt wird, aber Apache lauscht auf Port 80 und 443, dem Standard-HTTP- und HTTPS-Port. Wir werden auch die Verbindung zum Server mit Let’s Encrypt free SSL sichern. Installieren Sie den Apache-Webserver und mod_ssl mit dem folgenden Befehl.
yum -y install httpd mod_ssl
Starten Sie nun den Apache-Webserver und aktivieren Sie ihn mit den folgenden Befehlen so, dass er beim Booten automatisch gestartet wird.
systemctl start httpd
systemctl enable httpd
Jetzt müssen wir SSL-Zertifikate vom Let’s Encrypt-Client generieren. Certbot, der Zertifikat-Client von Let’s Encrypt, ist im standardmäßigen YUM-Repository nicht verfügbar. Dazu müssen Sie das EPEL-Repository installieren. Um EPEL zu installieren, geben Sie Folgendes ein:
yum -y install epel-release
yum -y update
Installieren Sie jetzt Certbot mit dem folgenden Befehl.
yum -y install python-certbot-apache
Führen Sie nach Abschluss der Installation den folgenden Befehl aus, um nur die Zertifikate zu erhalten. Der Client von Let’s Encrypt überprüft die Domänenautorität, bevor er die Zertifikate bereitstellt. Stellen Sie daher sicher, dass Ihre Domain auf die IP-Adresse des Servers verweist.
certbot certonly --apache -d streama.yourdomain.com
Der obige Befehl führt das Certbot-Dienstprogramm aus, um nur die Zertifikate zu erhalten. Zertifikate werden von Certbot weder installiert, noch wird eine Konfiguration auf dem Server geändert. Es kann Sie fragen, welche SSL-Konfiguration während der Authentifizierung verwendet werden soll, wählen Sie ssl.conf. Geben Sie abschließend Ihre E-Mail-Adresse an und akzeptieren Sie die Nutzungsbedingungen. Nachdem die Zertifikate generiert wurden, werden sie wahrscheinlich im folgenden Verzeichnis gespeichert.
/etc/letsencrypt/live/streama.yourdomain.com
Dabei ist streama.yourdomain.com Ihre eigentliche Domain. Im Verzeichnis finden Sie cert.pem, das SSL-Zertifikat Ihrer Domain, und privkey.pem, den privaten Schlüssel Ihres SSL-Zertifikats.
Let’s Encrypt SSL läuft in 90 Tagen ab, daher wird empfohlen, eine automatische Verlängerung für Ihre Zertifikate einzustellen. Führen Sie den folgenden Befehl aus, um Ihre crontab-Datei zu öffnen.
crontab -e
Enter the following line into the crontab file.
30 1 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
Der obige Cron-Job wird automatisch jeden Montag um 1:30 Uhr ausgeführt und wenn Ihre Zertifikate ablaufen, werden sie automatisch erneuert.
Nachdem unsere SSL-Zertifikate generiert wurden, fahren Sie mit der Erstellung eines neuen virtuellen Hosts für Ihre Anwendung fort. Geben Sie den folgenden Befehl ein, um einen neuen virtuellen Host zu erstellen.
nano /etc/httpd/conf.d/streama.yourdomain.com.conf
Ersetzen Sie streama.ihredomain.com durch Ihre tatsächliche Domain. Fügen Sie die folgenden Zeilen in die Datei ein.
<VirtualHost *:80> ServerName streama.yourdomain.com Redirect permanent / https://streama.yourdomain.com/ TransferLog /var/log/httpd/streama.yourdomain.com_access.log ErrorLog /var/log/httpd/streama.yourdomain.com_error.log </VirtualHost> <VirtualHost *:443> ServerName streama.yourdomain.com ServerAdmin [email protected] SSLEngine On SSLCertificateFile /etc/letsencrypt/live/streama.yourdomain.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/streama.yourdomain.com/privkey.pem ProxyPreserveHost On ProxyPass / http://localhost:8080/ ProxyPassReverse / http://localhost:8080/ TransferLog /var/log/httpd/streama.yourdomain.com_ssl_access.log ErrorLog /var/log/httpd/streama.yourdomain.com_ssl_error.log </VirtualHost>
Ändern Sie in der obigen Konfiguration streama.yourdomain.com in Ihre tatsächliche Domain. Sie müssen auch sicherstellen, dass der Pfad zu den SSL-Zertifikaten korrekt ist. Wenn ein Fehler in der Konfiguration auftritt, wird der Apache-Webserver nicht gestartet.
Wenn Sie fertig sind, starten Sie Ihren Apache-Webserver neu, damit die an der Konfiguration vorgenommenen Änderungen wirksam werden.
systemctl restart httpd
Außerdem müssen Sie SELinux deaktivieren. Führen Sie den folgenden Befehl aus, um SELinux vorübergehend zu deaktivieren, ohne den Server neu zu starten.
setenforce 0
Um SELinux vollständig zu deaktivieren, müssen Sie die Datei /etc/selinux/config bearbeiten.
nano /etc/selinux/config
Suchen Sie die folgende Zeile:
SELINUX=enforcing
Ändern Sie es in:
SELINUX=disabled
Die neue Konfiguration wird wirksam, sobald Sie Ihren Server neu starten. Jetzt können Sie den Streama-Dienst starten, wenn er nicht ausgeführt wird, indem Sie den folgenden Befehl verwenden.
systemctl start streama
Konfigurieren Sie die Firewall mit den folgenden Befehlen, um Port 80 und 443 zuzulassen.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Sie können jetzt die folgende URL in Ihrem bevorzugten Browser durchsuchen.
https://streama.yourdomain.com
Sie sehen die folgende Anmeldeoberfläche. Melden Sie sich mit dem Benutzernamen admin und dem Passwort admin an.
Bei der ersten erfolgreichen Anmeldung müssen Sie einige Einstellungen für Streama Server konfigurieren. Sie werden automatisch zur Seite „Einstellungen“ weitergeleitet.
Geben Sie den Pfad zum Upload-Verzeichnis an, das wir zum Speichern der Medien erstellt haben. Geben Sie die Basis-URL Ihrer Anwendung an. Sie können auch den Anwendungsnamen und die Logos der Anwendung konfigurieren. Wenn Sie fertig sind, klicken Sie auf Einstellungen speichern, um die Einstellungen zu speichern. Sie können jetzt auf das Dashboard zugreifen.
Um eine neue TV-Sendung oder einen neuen Film hinzuzufügen, klicken Sie auf die Registerkarte Inhalte verwalten.
Sie können auf der Seite Inhalt verwalten auf die Registerkarte Dateimanager klicken, um die Dateien zu verwalten.
Sie können jetzt Streama verwenden, um Ihre Lieblingsfernsehsendungen und -filme zu streamen.