Installing Desktop-ION
Purpose
This guide is intended for deployment teams to configure and host the release package of Desktop-ION for browser on a webserver.
Product compatibility
Product | Compatibility |
---|---|
ION-Desktop_18.Q3.3.0.18264_210.zip |
|
Pre-requisites
- A web server to host the application
- A tool to unzip the release
- OpenTV Platform OPF 3.x instance details
Mixed content
The application uses HTTPS by default. This means that any HTTP resources will be blocked. Make sure that all components (licence/key server, OPF 3.x platform, and content delivery URLs) use HTTPS.
If HTTP content is used, the user will have to explicitly allow insecure content by clicking the shield icon to the right of the address bar and clicking Load unsafe scripts:
Application release package structure
├── VideoJS.eot
├── bundle.js
├── custom
│ ├── config
│ │ └── platform.json
│ ├── css
│ │ └── style.css
│ └── images
│ ├── background.jpg
│ └── ion-logo.png
├── dummy-QR.svg
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── index.html
├── init.js
└── slick.eot
The purpose of these files is as follows:
custom
– folder contains branding and configuration filesindex.html
– main launch point of the applicationbundle.js
– bundled JavaScript filesinit.js
– configuration initialisation*.svg
– icons*.eot
– bundled font files
Configuring Desktop-ION
Desktop-ION currently provides two type of configurable options.
Change the feature configuration
To change the feature configuration, edit the custom/config/platform.json
configuration file. This consists of key-value pairs. The meanings of these are as follows:
baseUrl
– the hosted Platform instance URL. For example,https://api.preinteg.otv-se.com
.For playing mixed content (clear and encrypted), the base URL must use HTTPS.
deviceTypes
– this is used to filter the services and events for specific device types. Currently onlyChrome
is supported.localFilter
– this is used to filter the services and events specific to a local language. Allowed values:en_GB
,fr_FR
, andes_ES
.sspContentAuth
– the DRM system configuration:Prefix
– the prefix path is used to get the access token for encrypted content from the platform.licenseServer
– the URI of the licence server that the Player interacts with to play encrypted content.tenantId
– the licence server tenant ID.System
: the DRM system type, one of:nagra-ssp
,nagra-conax
, ornagra-ssp-fps
. By default, it is configured tonagra-ssp
.
transcoderDetails
– the application supports two types of transcoder:Broadpeak
– this is the default To disable it, change the value of theisBroadPeakEnabled
variable tofalse
.VOS360
Change branding assets
The following branding assets can be changed:
- Brand logo – the application uses a brand logo of 100x100 pixels in PNG format and expects to find it at
custom/images/ion-logo.png
. To change the logo, which is displayed at the top left of the interface, replace this file with your own PNG of the same dimensions.. You can also make changes to the following CSS properties the:root
rule incustom/css/style.css
:--custom-app-logo
– path to the logo, inurl('<path>')
format--custom-logo-width
– width of the logo image (e.g., 100px)--custom-logo-height
– height of the logo image (e.g., 100px)
- Background image – the application expects to find the background image that it uses at
custom/images/background.jpg
. To change the background image, replace this file with your own 1920x1080 pixel image in JPEG format.
Alternatively, change the value of the--custom-bg-url
property in the:root
rule incustom/css/style.css
to point to a different image file.
Installing the application on the webserver
The details of the installation vary depending on whether Apache or NGINX is used. These are explained in the following sections.
Installing on Apache running on Ubuntu Linux
Pre-requisites
- A regular, non-root user with sudo privileges configured on the server
- A basic firewall configured to block non-essential ports
Install Apache
If you do not already have Apache installed, install it from the default Ubuntu package repository:
- Update the local package index to reflect the latest upstream changes. Type:
sudo apt-get update
- Install Apache. Type:
sudo apt-get install apache2
After you confirm the installation, apt-get
installs Apache and all required dependencies.
Configure the firewall
During installation, Apache registers itself with UFW to provide a few application profiles. We can use these profiles to simplify the process of enabling or disabling access to Apache through our firewall, as follows:
- List the UFW application profiles by typing:
This lists the application profiles, including three for Apache:sudo ufw app list
Apache
– opens only port 80 (normal, unencrypted web traffic)Apache Full
– opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)Apache Secure
– opens only port 443 (TLS/SSL encrypted traffic)
- Enable the Apache Full profile to allow both normal and encrypted traffic. Type
sudo ufw allow 'Apache Full'
- Restart the firewall to apply the change. Type:
sudo ufw disable sudo ufw enable
- Check that the change was applied. Type:
sudo ufw status
- Check that Apache is running. Type:
$ sudo systemctl status apache2
- Make sure that Apache is running. In a browser, navigate to the IP address or hostname of the web server. You should see the default Apache web page.
Set up Desktop-ION
- Copy the files that you prepared in Configuring Desktop-ION, above, into
/var/www/html
. Make sure thatindex.html
is at the root of the/var/www/html
directory. - Open Chrome to the IP address or hostname of the web server – you should see the Desktop-ION login page.
Installing on NGINX running on Ubuntu Linux
Pre-requisites
- A regular, non-root user with sudo privileges configured on the server
- A basic firewall configured to block non-essential ports
Install NGINX
If you do not already have NGINX installed, install it from the default Ubuntu package repository:
- Update the local package index to reflect the latest upstream changes. Type:
sudo apt-get update
- Install NGINX. Type:
sudo apt-get install nginx
After you confirm the installation, apt-get
installs Apache and all required dependencies.
Configure the firewall
During installation, NGINX registers itself with UFW to provide a few application profiles. We can use these profiles to simplify the process of enabling or disabling access to NGINX through our firewall, as follows:
- List the UFW application profiles by typing:
This lists the application profiles, including three for NGINX:sudo ufw app list
Nginx HTTP
– opens only port 80 (normal, unencrypted web traffic)Nginx Full
– opens both port 80 (normal, unencrypted web traffic) and port 443 (TLS/SSL encrypted traffic)Nginx HTTPS
– opens only port 443 (TLS/SSL encrypted traffic)
- Enable the Nginx Full profile to allow both normal and encrypted traffic. Type:
sudo ufw allow 'Nginx Full'
- Restart the firewall to apply the change. Type:
sudo ufw disable sudo ufw enable
- Check that the change was applied. Type:
sudo ufw status
- Check that NGINX is running. Type:
sudo systemctl status nginx
- Make sure that NGINX is running. In a browser, navigate to the IP address or hostname of the web server. You should see the default NGINX web page.
Set up Desktop-ION
- Copy the files that you prepared in Configuring Desktop-ION, above, into
/var/www/html
. Make sure thatindex.html
is at the root of the/var/www/html
directory. - Open Chrome to the IP address or hostname of the web server – you should see the Desktop-ION login page.