Streama是一款免费的开源媒体流媒体应用程序。 这是Netflix的自主替代方案。 它具有许多功能,如简单的拖放媒体管理,美观的媒体播放器,实时同步观看,多用户,字幕和恢复功能等。
在本教程中,我们将在CentOS 7服务器上安装Streama。
条件
- 最小CentOS 7服务器
- 根权限
第1步 - 安装Streama
建议在安装任何软件包之前更新服务器,以便更新现有软件包和存储库。
yum -y update
您可以在OpenJDK或Oracle JAVA上安装Streama。 在本教程中,我们将安装最新版本的Oracle Java到服务器。 运行以下命令相同。
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"
如果没有安装wget
,可以运行yum -y install wget
来安装wget。 现在使用以下命令安装下载的RPM。
yum -y localinstall jdk-8u131-linux-x64.rpm
您可以运行以下命令来验证Java是否安装。
java -version
以上命令将打印您安装的JAVA版本。 您应该得到类似的输出,如下所示。
[root@liptan-pc ~]# 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)
现在我们已经成功安装了Java,我们可以使用以下链接下载Streama War软件包。
wget https://github.com/dularion/streama/releases/download/v1.1/streama-1.1.war
战争包或网络存档包含Web项目的所有文件。 您可以随时使用Streama下载页面检查Streama的最新版本的链接。
重命名war文件,并使用以下命令将其移动到安全的位置。
mkdir /opt/streama mv streama-1.1.war /opt/streama/streama.war
现在可以立即启动应用程序,运行以下命令。
java -jar /opt/streama/streama.war
按ctrl + C停止执行。 通过键入以下内容创建一个新目录来存储上传到Streama的媒体文件:
mkdir /opt/streama/media
使用以下命令为目录提供适当的权限。
chmod 664 /opt/streama/media
现在我们已经准备好了我们的环境,我们可以创建一个systemd服务来运行Streama服务器。 运行Streama作为服务将确保服务器在后台运行。 系统重新引导和进程故障时将自动启动。 要创建一个新的systemd服务文件,请键入:
nano /etc/systemd/system/streama.service
现在将以下行添加到文本文件中。
[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
保存文件并退出编辑器。 您现在可以使用以下命令直接运行Streama服务器。
systemctl start streama
要使应用程序在引导时自动启动,请运行以下命令。
systemctl enable streama
要检查服务的状态,请运行以下命令。
systemctl status streama
您可能会看到以下输出。
[root@liptan-pc ~]# 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.
默认情况下,Streama将在端口8080上运行。我们可以使用Apache创建一个反向代理,以便Streama应用程序将在端口8080上运行,但Apache将监听默认HTTP和HTTPS端口的端口80和443。 我们还将使用我们加密免费的SSL来保护与服务器的连接。 使用以下命令安装Apache Web服务器和mod_ssl。
yum -y install httpd mod_ssl
现在启动Apache Web服务器,并使用以下命令启动它在启动时自动启动。
systemctl start httpd
systemctl enable httpd
现在我们需要从“加密客户端”生成SSL证书。 Certbot,即我们的加密证书客户端在默认的YUM存储库中不可用。 您将需要安装EPEL存储库。 要安装EPEL,请键入:
yum -y install epel-release
yum -y update
现在使用以下命令安装Certbot。
yum -y install python-certbot-apache
完成后,安装,运行以下命令获取证书。 让我们在提供证书之前加密客户端检查域权限。 因此,请确保您的域指向服务器的IP地址。
certbot certonly --apache -d streama.yourdomain.com
上述命令将运行Certbot实用程序以获取证书。 Certbot不会安装证书,也不会更改服务器上的任何配置。 它可能会询问您在验证过程中使用哪种SSL配置,选择ssl.conf
。 最后,提供您的电子邮件地址并接受条款和条件。 一旦生成证书,它们可能存储在以下目录中。
/etc/letsencrypt/live/streama.yourdomain.com
其中streama.yourdomain.com
是您的实际域名。 在目录中,您将找到cert.pem
,它是您的域的SSL证书, privkey.pem
是您的SSL证书的私钥。
我们加密SSL在90天内到期,因此建议您为证书设置自动续订。 运行以下命令打开crontab文件。
crontab -e
Enter the following line into the crontab file.
30 1 * * 1 /usr/bin/certbot renew >> /var/log/le-renew.log
上述cron工作将在上午1:30每个星期一自动运行,如果您的证书到期到期,它将自动更新。
现在我们生成了SSL证书,请继续为应用程序创建一个新的虚拟主机。 键入以下命令以创建新的虚拟主机。
nano /etc/httpd/conf.d/streama.yourdomain.com.conf
将streama.yourdomain.com
替换为您的实际域。 将以下行添加到文件中。
<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@yourdomain.com 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>
在上述配置中将streama.yourdomain.com
更改为您的实际域。 您还需要确保SSL证书的路径正确无误。 如果配置有任何错误,Apache Web服务器将无法启动。
完成后,重新启动Apache Web服务器,使配置中所做的更改生效。
systemctl restart httpd
此外,您还需要禁用SELinux。 要临时禁用SELinux而不重新启动服务器,请运行以下命令。
setenforce 0
要完全禁用SELinux,您需要编辑/ etc / selinux / config
文件。
nano /etc/selinux/config
找到以下行:
SELINUX=enforcing
将其更改为:
SELINUX=disabled
重新启动服务器后,新配置生效。 现在可以使用以下命令启动Streama服务,如果不运行。
systemctl start streama
配置防火墙以允许端口80和443使用以下命令。
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
您现在可以在自己喜欢的浏览器中浏览以下URL。
https://streama.yourdomain.com
您将看到以下登录界面。 使用用户名admin
和密码admin
登录。
首次成功登录后,您将需要为Streama Server配置几个设置。 您将自动重定向到“设置”页面。
提供我们创建的用于存储媒体的上传目录的路径。 提供您的应用程序的基本URL。 您还可以配置应用程序的应用程序名称和标志。 完成后,单击“保存设置”保存设置。 您现在可以访问仪表板。
要添加新的电视节目或电影,请单击管理内容选项卡。
您可以单击“管理内容”页面上的“文件管理器”选项卡来管理文件。
您现在可以使用Streama来流式播放喜爱的电视节目和电影。