Streama es una aplicación de transmisión de medios gratuita y de código abierto. Es una alternativa autohospedada a Netflix. Tiene numerosas funciones, como la gestión de medios fácil de arrastrar y soltar, un hermoso reproductor de medios, visualización de sincronización en vivo, multiusuario, subtítulos y capacidad de reanudación, etc.
En este tutorial, instalaremos Streama en el servidor CentOS 7.
Requisito previo
- Servidor CentOS 7 mínimo
- Privilegios de raíz
Paso 1:Instalación de Streama
Se recomienda actualizar el servidor antes de instalar cualquier paquete para que se actualicen los paquetes y repositorios existentes.
yum -y update
Puede instalar Streama tanto en OpenJDK como en Oracle JAVA. En este tutorial, instalaremos la última versión de Oracle Java en el servidor. Ejecute el siguiente comando para lo mismo.
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"
Si no tiene instalado wget, puede ejecutar yum -y install wget para instalar wget. Ahora instale el RPM descargado usando el siguiente comando.
yum -y localinstall jdk-8u131-linux-x64.rpm
Puede ejecutar el siguiente comando para verificar si Java está instalado o no.
java -version
El comando anterior imprimirá la versión de JAVA que ha instalado. Debería obtener un resultado similar al que se muestra a continuación.
[[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)
Ahora que hemos instalado Java con éxito, podemos descargar el paquete Streama War usando el siguiente enlace.
wget https://github.com/dularion/streama/releases/download/v1.1/streama-1.1.war
Un paquete War o archivo web contiene todos los archivos de un proyecto web. Siempre puede verificar el enlace a la última versión de Streama usando la página de descarga de Streama.
Cambie el nombre del archivo war y muévalo a una ubicación segura usando los siguientes comandos.
mkdir /opt/streama mv streama-1.1.war /opt/streama/streama.war
Ahora puede iniciar la aplicación inmediatamente, ejecute el siguiente comando.
java -jar /opt/streama/streama.war
Presione ctrl + C para detener la ejecución. Cree un nuevo directorio para almacenar los archivos multimedia cargados en Streama escribiendo:
mkdir /opt/streama/media
Proporcione los permisos apropiados al directorio usando el siguiente comando.
chmod 664 /opt/streama/media
Ahora que tenemos nuestro entorno listo, podemos crear un servicio systemd para ejecutar el servidor Streama. Ejecutar Streama como un servicio garantizará que el servidor se ejecute en segundo plano. Se iniciará automáticamente al reiniciar el sistema y fallas en el proceso. Para crear un nuevo archivo de servicio systemd, escriba:
nano /etc/systemd/system/streama.service
Ahora agregue las siguientes líneas en el archivo de texto.
[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
Guarde el archivo y salga del editor. Ahora puede ejecutar el servidor Streama directamente con el siguiente comando.
systemctl start streama
Para permitir que la aplicación se inicie automáticamente en el momento del arranque, ejecute el siguiente comando.
systemctl enable streama
Para verificar el estado del servicio, ejecute el siguiente comando.
systemctl status streama
Es probable que vea el siguiente resultado.
[[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.
De forma predeterminada, Streama se ejecutará en el puerto 8080. Podemos crear un proxy inverso con Apache para que la aplicación Streama se ejecute en el puerto 8080, pero Apache escuchará los puertos 80 y 443, que son los puertos HTTP y HTTPS predeterminados. También aseguraremos la conexión al servidor utilizando SSL gratuito de Let's Encrypt. Instale el servidor web Apache y mod_ssl usando el siguiente comando.
yum -y install httpd mod_ssl
Ahora inicie el servidor web Apache y habilítelo para que se inicie automáticamente en el momento del arranque con los siguientes comandos.
systemctl start httpd
systemctl enable httpd
Ahora necesitaremos generar certificados SSL desde el cliente Let's Encrypt. Certbot, que es el cliente de certificados de Let's Encrypt, no está disponible en el repositorio predeterminado de YUM. Deberá instalar el repositorio EPEL para esto. Para instalar EPEL, escriba:
yum -y install epel-release
yum -y update
Ahora instale Certbot usando el siguiente comando.
yum -y install python-certbot-apache
Después de finalizar la instalación, ejecute el siguiente comando para obtener solo los certificados. El cliente de Let's Encrypt verifica la autoridad del dominio antes de proporcionar los certificados. Por lo tanto, asegúrese de que su dominio apunte a la dirección IP del servidor.
certbot certonly --apache -d streama.yourdomain.com
El comando anterior ejecutará la utilidad Certbot para obtener solo los certificados. Certbot no instalará los certificados, ni cambiará ninguna configuración en el servidor. Es posible que le pregunte qué configuración SSL usar durante la autenticación, elija ssl.conf. Finalmente, proporcione su dirección de correo electrónico y acepte los términos y condiciones. Una vez que se generan los certificados, es probable que se almacenen en el siguiente directorio.
/etc/letsencrypt/live/streama.yourdomain.com
Donde streama.yourdomain.com es su dominio real. En el directorio, encontrará cert.pem, que es el certificado SSL de su dominio, y privkey.pem, que es la clave privada de su certificado SSL.
Let's Encrypt SSL caduca en 90 días, por lo que se recomienda configurar una renovación automática para sus certificados. Ejecute el siguiente comando para abrir su archivo crontab.
crontab -e
Enter the following line into the crontab file.
30 1 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
El trabajo cron anterior se ejecutará automáticamente todos los lunes a la 1:30 a. m. y si sus certificados están a punto de caducar, los renovará automáticamente.
Ahora que se generaron nuestros certificados SSL, proceda a crear un nuevo host virtual para su aplicación. Escriba el siguiente comando para crear un nuevo host virtual.
nano /etc/httpd/conf.d/streama.yourdomain.com.conf
Reemplace streama.yourdomain.com con su dominio actual. Agregue las siguientes líneas al archivo.
<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>
En la configuración anterior, cambie streama.yourdomain.com a su dominio real. También deberá asegurarse de que la ruta a los certificados SSL sea correcta. Si hay algún error en la configuración, el servidor web Apache no se iniciará.
Una vez hecho esto, reinicie su servidor web Apache para que los cambios realizados en la configuración surtan efecto.
systemctl restart httpd
Además, también deberá deshabilitar SELinux. Para deshabilitar temporalmente SELinux sin reiniciar el servidor, ejecute el siguiente comando.
setenforce 0
Para deshabilitar completamente SELinux, deberá editar el archivo /etc/selinux/config.
nano /etc/selinux/config
Busque la siguiente línea:
SELINUX=enforcing
Cámbialo por:
SELINUX=disabled
La nueva configuración entrará en vigor una vez que reinicie su servidor. Ahora puede iniciar el servicio Streama si no se está ejecutando, usando el siguiente comando.
systemctl start streama
Configure el firewall para permitir los puertos 80 y 443 usando los siguientes comandos.
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
Ahora puede navegar por la siguiente URL en su navegador favorito.
https://streama.yourdomain.com
Verá la siguiente interfaz de inicio de sesión. Inicie sesión con el nombre de usuario admin y la contraseña admin.
En el primer inicio de sesión exitoso, deberá configurar algunas configuraciones para Streama Server. Se le redirigirá automáticamente a la página Configuración.
Proporcione la ruta para cargar el directorio que hemos creado para almacenar los medios. Proporcione la URL base de su aplicación. También puede configurar el nombre de la aplicación y los logotipos de la aplicación. Una vez hecho esto, haga clic en Guardar configuración para guardar la configuración. Ahora puede acceder al tablero.
Para agregar un nuevo programa de TV o película, haga clic en la pestaña Administrar contenido.
Puede hacer clic en la pestaña Administrador de archivos en la página Administrar contenido para administrar los archivos.
Ahora puede usar Streama para transmitir sus programas de TV y películas favoritos.