Streama è un'applicazione di streaming multimediale gratuita e open source. È un'alternativa self-hosted a Netflix. Ha numerose funzionalità come la facile gestione dei media con trascinamento della selezione, bellissimo lettore multimediale, visualizzazione della sincronizzazione dal vivo, multiutente, sottotitoli e capacità di ripresa ecc.
In questo tutorial, installeremo Streama sul server CentOS 7.
Prerequisito
- Server CentOS 7 minimo
- Privilegi di root
Passaggio 1 - Installazione di Streama
Si consiglia di aggiornare il server prima di installare qualsiasi pacchetto in modo che i pacchetti e i repository esistenti vengano aggiornati.
yum -y update
Puoi installare Streama sia su OpenJDK che su Oracle JAVA. In questo tutorial, installeremo l'ultima versione di Oracle Java nel server. Esegui il seguente comando per lo stesso.
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"
Se non hai installato wget, puoi eseguire yum -y install wget per installare wget. Ora installa l'RPM scaricato usando il seguente comando.
yum -y localinstall jdk-8u131-linux-x64.rpm
È possibile eseguire il comando seguente per verificare che Java sia installato o meno.
java -version
Il comando precedente stamperà la versione di JAVA che hai installato. Dovresti ottenere un output simile a quello mostrato di seguito.
[[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)
Ora che abbiamo installato correttamente Java, possiamo scaricare il pacchetto Streama War utilizzando il seguente link.
wget https://github.com/dularion/streama/releases/download/v1.1/streama-1.1.war
Un pacchetto War o un archivio web contiene tutti i file di un progetto web. Puoi sempre controllare il collegamento all'ultima versione di Streama utilizzando la pagina di download di Streama.
Rinomina il file war e spostalo in una posizione sicura usando i seguenti comandi.
mkdir /opt/streama mv streama-1.1.war /opt/streama/streama.war
Ora puoi avviare immediatamente l'applicazione, esegui il seguente comando.
java -jar /opt/streama/streama.war
Premi ctrl + C per interrompere l'esecuzione. Crea una nuova directory per memorizzare i file multimediali caricati su Streama digitando:
mkdir /opt/streama/media
Fornisci le autorizzazioni appropriate alla directory utilizzando il comando seguente.
chmod 664 /opt/streama/media
Ora che abbiamo il nostro ambiente pronto, possiamo creare un servizio systemd per eseguire il server Streama. L'esecuzione di Streama come servizio assicurerà che il server sia in esecuzione in background. Verrà avviato automaticamente al riavvio del sistema e agli errori di processo. Per creare un nuovo file di servizio systemd, digita:
nano /etc/systemd/system/streama.service
Ora aggiungi le seguenti righe nel file di testo.
[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
Salva il file ed esci dall'editor. Ora puoi eseguire direttamente il server Streama usando il seguente comando.
systemctl start streama
Per consentire all'applicazione di avviarsi automaticamente all'avvio, eseguire il comando seguente.
systemctl enable streama
Per verificare lo stato del servizio, eseguire il comando seguente.
systemctl status streama
Probabilmente vedrai il seguente output.
[[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.
Per impostazione predefinita, Streama verrà eseguito sulla porta 8080. Possiamo creare un proxy inverso con Apache in modo che l'applicazione Streama venga eseguita sulla porta 8080, ma Apache ascolterà le porte 80 e 443, che sono le porte HTTP e HTTPS predefinite. Proteggeremo anche la connessione al server utilizzando Let's Encrypt SSL gratuito. Installa il server web Apache e mod_ssl usando il comando seguente.
yum -y install httpd mod_ssl
Ora avvia il server Web Apache e abilitalo per l'avvio automatico all'avvio utilizzando i seguenti comandi.
systemctl start httpd
systemctl enable httpd
Ora dovremo generare certificati SSL dal client Let's Encrypt. Certbot, che è il client del certificato Let's Encrypt, non è disponibile nel repository YUM predefinito. Dovrai installare il repository EPEL per questo. Per installare EPEL, digita:
yum -y install epel-release
yum -y update
Ora installa Certbot usando il seguente comando.
yum -y install python-certbot-apache
Al termine dell'installazione, eseguire il comando seguente per ottenere solo i certificati. Il client Let's Encrypt controlla l'autorità di dominio prima di fornire i certificati. Quindi, assicurati che il tuo dominio sia puntato all'indirizzo IP del server.
certbot certonly --apache -d streama.yourdomain.com
Il comando precedente eseguirà l'utilità Certbot per ottenere solo i certificati. I certificati non verranno installati da Certbot, né modificherà alcuna configurazione sul server. Potrebbe chiederti quale configurazione SSL utilizzare durante l'autenticazione, scegli ssl.conf. Infine, fornisci il tuo indirizzo e-mail e accetta i termini e le condizioni. Una volta che i certificati sono stati generati, è probabile che vengano archiviati nella directory seguente.
/etc/letsencrypt/live/streama.yourdomain.com
Dove streama.tuodominio.com è il tuo vero dominio. Nella directory troverai cert.pem che è il certificato SSL del tuo dominio e privkey.pem che è la chiave privata del tuo certificato SSL.
Let's Encrypt SSL scade tra 90 giorni, quindi ti consigliamo di impostare un rinnovo automatico per i tuoi certificati. Esegui il comando seguente per aprire il file crontab.
crontab -e
Enter the following line into the crontab file.
30 1 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
Il processo cron di cui sopra verrà eseguito automaticamente ogni lunedì all'01:30 e se i certificati stanno per scadere, li rinnoverà automaticamente.
Ora che i nostri certificati SSL sono stati generati, procedi alla creazione di un nuovo host virtuale per la tua applicazione. Digita il comando seguente per creare un nuovo host virtuale.
nano /etc/httpd/conf.d/streama.yourdomain.com.conf
Sostituisci streama.tuodominio.com con il tuo dominio effettivo. Aggiungi le seguenti righe nel file.
<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>
Nella configurazione sopra, cambia streama.tuodominio.com nel tuo dominio attuale. Dovrai anche assicurarti che il percorso dei certificati SSL sia corretto. In caso di errori nella configurazione, il server Web Apache non si avvierà.
Una volta fatto, riavvia il tuo server web Apache in modo che le modifiche apportate alla configurazione possano avere effetto.
systemctl restart httpd
Inoltre, dovrai anche disabilitare SELinux. Per disabilitare temporaneamente SELinux senza riavviare il server, eseguire il comando seguente.
setenforce 0
Per disabilitare completamente SELinux dovrai modificare il file /etc/selinux/config.
nano /etc/selinux/config
Trova la riga seguente:
SELINUX=enforcing
Cambialo in:
SELINUX=disabled
La nuova configurazione diventa effettiva una volta riavviato il server. Ora puoi avviare il servizio Streama se non è in esecuzione, utilizzando il seguente comando.
systemctl start streama
Configura il firewall per consentire le porte 80 e 443 utilizzando i seguenti comandi.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Ora puoi sfogliare il seguente URL nel tuo browser preferito.
https://streama.yourdomain.com
Vedrai la seguente interfaccia di accesso. Accedi utilizzando username admin e password admin.
Al primo accesso riuscito, dovrai configurare alcune impostazioni per Streama Server. Verrai reindirizzato automaticamente alla pagina delle Impostazioni.
Fornisci il percorso per caricare la directory che abbiamo creato per archiviare i media. Fornisci l'URL di base della tua applicazione. È inoltre possibile configurare il nome dell'applicazione ei loghi dell'applicazione. Al termine, fare clic su Salva impostazioni per salvare le impostazioni. Ora puoi accedere alla dashboard.
Per aggiungere un nuovo programma TV o film, fai clic sulla scheda Gestisci contenuto.
Puoi fare clic sulla scheda File Manager nella pagina Gestisci contenuto per gestire i file.
Ora puoi utilizzare Streama per trasmettere in streaming i tuoi programmi TV e film preferiti.