如何在CentOS 7上安装Streama

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来流式播放喜爱的电视节目和电影。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏