Skip to content

Latest commit

 

History

History
235 lines (177 loc) · 11.2 KB

install-kaltura-deb-based.md

File metadata and controls

235 lines (177 loc) · 11.2 KB

Installing Kaltura on a Single Server (deb)

This guide details the installation process of an all-in-one Kaltura server and applies to deb based Linux distros.

The process was tested on Debian 8 and Ubuntu 14.04 but may work with other Debian based distributions.

When installing on Ubuntu Xenial [16.04], please refer to this howto instead.

Kaltura Inc. also provides commercial solutions and services including pro-active platform monitoring, applications, SLA, 24/7 support and professional services. If you're looking for a commercially supported video platform with integrations to commercial encoders, streaming servers, eCDN, DRM and more - Start a Free Trial of the Kaltura.com Hosted Platform or learn more about Kaltura' Commercial OnPrem Edition™. Please note that this service in only offered for RHEL based distros.

Table of Contents

Prerequites

Step-by-step Installation

Unattended Installation

Nginx SSL Configuration

Live Streaming with Nginx and the RTMP module

Upgrade Kaltura

Remove Kaltura

Troubleshooting

Additional Information

How to contribute

Step-by-step Installation

Pre-Install notes

  • This install guides assumes that you did a clean, basic install of one of the deb based OSes in 64bit architecture.
  • When installing, you will be prompted for each server's resolvable hostname. Note that it is crucial that all host names will be resolvable by other servers in the cluster (and outside the cluster for front machines). Before installing, verify that your /etc/hosts file is properly configured and that all Kaltura server hostnames are resolvable in your network.
  • Before you begin, make sure you're logged in as the system root. Root access is required to install Kaltura, and you should execute sudo -i or su -to make sure that you are indeed root.

Firewall requirements

Kaltura requires certain ports to be open for proper operation. See the list of required open ports. If you're just testing and don't mind an open system, you can use the below to disbale iptables altogether:

# iptables -F

Disable SELinux - REQUIRED

Currently Kaltura doesn't properly support running with SELinux, things will break if you don't set it to permissive. If your instances has it enabled [by default Debian and Ubuntu does not enable SELinux], run:

# setenforce permissive

To verify SELinux will not revert to enabled next restart:

  • Edit the file /etc/selinux/config
  • Verify or change the value of SELINUX to permissive: SELINUX=permissive
  • Save the file /etc/selinux/config

Start of Kaltura installation

This section is a step-by-step guide of a Kaltura installation.

Setup the Kaltura deb repository

# wget -O - http://installrepo.kaltura.org/repo/apt/debian/kaltura-deb.gpg.key|apt-key add -
# echo "deb [arch=amd64] http://installrepo.kaltura.org/repo/apt/debian lynx main" > /etc/apt/sources.list.d/kaltura.list

NOTE: for Debian, the non-free repo must also be enabled

Ubuntu NOTE: You must also make sure the multiverse repo is enabled in /etc/apt/sources.list

Debian Jessie [8] NOTE: You must also make sure the following Wheezy repos are enabled in /etc/apt/sources.list

deb http://ftp.debian.org/debian/ wheezy main
deb http://security.debian.org/ wheezy/updates main

IMPORTANT NOTE:

If you had a pre-install Apache on the machine, depending on your current Apache configuration, you may need to disable your default site configuration.

Use:

# apachectl -t -DDUMP_VHOSTS

to check your current configuration and:

# a2dissite $SITENAME

to disable any site that might be set in a way by which $YOUR_SERVICE_URL/api_v3 will reach it instead of the Kaltura vhost config.

In such case, the postinst script for kaltrua-db will fail, if so, adjust it and run:

# dpkg-reconfigure kaltura-db

MySQL Install and Configuration

Please note that for MySQL version 5.5 and above, you must first disable strict mode enforcement. See: https://dev.mysql.com/doc/refman/5.5/en/sql-mode.html#sql-mode-setting When installing an all in one instance, for security reasons, it is best to bind the MySQL daemon to 127.0.0.1 [loopback]. When prompted for the MySQL host/IP, please use 127.0.0.1 rather than localhost since the server code uses the PHP PDO MySQL extension and setting the host to localhost will cause it to attempt to connect via a UNIX socket, as opposed to over TCP, which may fail, depending on where the UNIX socket is placed and the value set for the pdo_mysql.default_socket directive.

Install Kaltura Server with PHP 7

By default, the installation is done against the PHP stack available from the official repo. Kaltura now offers beta deb packages of PHP 7 which can be installed from our repo. In order to install the server using these packages, simply run:

# wget -O - http://installrepo.kaltura.org/repo/apt/debian/kaltura-deb.gpg.key|apt-key add -
# echo "deb [arch=amd64] http://installrepo.kaltura.org/repo/apt/debian lynx main" > /etc/apt/sources.list.d/kaltura.list
# aptitude update
# aptitude install kaltura-php7

And the follow the instructions for installing the Kaltura server as normal.

Install Kaltura Server

You can use this process to auto install an all in 1 server. In order to perform a manual step by step install, simply copy the commands and run them one by one.

NOTE: the script calls aptitude with -y which means you will not be prompted to confirm the packages about to be installed.

# wget http://installrepo.origin.kaltura.org/repo/apt/debian/install_kaltura_all_in_1.sh 
# chmod +x install_kaltura_all_in_1.sh
# ./install_kaltura_all_in_1.sh

Nginx SSL configuration

Please see nginx-ssl-config.md

Live Streaming with Nginx and the RTMP module

Kaltura CE includes the kaltura-nginx package, which is compiled with the Nginx RTMP module.

Please see documentation here nginx-rtmp-live-streaming.md

A longer post about it can be found at https://blog.kaltura.com/free-and-open-live-video-streaming

Unattended Installation

Edit the debconf response file template by replacing all tokens with relevant values. and run it as root:

# ./kaltura_debconf_response.sh

the set the DEBIAN_FRONTEND ENV var:

# export DEBIAN_FRONTEND=noninteractive

And install as described above.

Upgrade Kaltura

This will only work if the initial install was using this packages based install, it will not work for old Kaltura deployments using the PHP installers

If using Debian: Jessie [8] or Ubuntu: Trusty [14.04], edit /etc/apt/sources.list.d/kaltura.list so that it reads:

deb [arch=amd64] http://installrepo.kaltura.org/repo/apt/debian mercury main

And import the GPG key with:

# wget -O - http://installrepo.kaltura.org/repo/apt/debian/kaltura-deb.gpg.key|apt-key add -

Or, if using Ubuntu Xenial [16.04]:

deb [arch=amd64] http://installrepo.kaltura.org/repo/apt/xenial mercury main

And import the GPG key with:

# wget -O - http://installrepo.kaltura.org/repo/apt/xenial/kaltura-deb-256.gpg.key|apt-key add -

Then run the following commands to upgrade [this will work for all supported Debian and Ubuntu versions]:

# aptitude update
# aptitude dist-upgrade
# dpkg-reconfigure kaltura-base
# dpkg-reconfigure kaltura-front
# dpkg-reconfigure kaltura-batch

Remove Kaltura

Use this in cases where you want to clear the database and start from fresh.

# /opt/kaltura/bin/kaltura-drop-db.sh
# aptitude purge "~Nkaltura"
# rm -rf /opt/kaltura
# rm -rf /etc/kaltura.d

Troubleshooting

Once the configuration phase is done, you may wish to run the sanity tests, for that, run:

# /opt/kaltura/bin/kaltura-sanity.sh

If you experience unknown, unwanted or erroneous behaviour, the logs are a greta place to start, to get a quick view into errors and warning run:

# . /etc/profile.d/kaltura-base.sh 
# kaltlog

If this does not give enough information, increase logging verbosity:

# sed -i 's@^writers.\(.*\).filters.priority.priority\s*=\s*7@writers.\1.filters.priority.priority=4@g' /opt/kaltura/app/configurations/logger.ini

To revert this logging verbosity run:

# sed -i 's@^writers.\(.*\).filters.priority.priority\s*=\s*4@writers.\1.filters.priority.priority=7@g' /opt/kaltura/app/configurations/logger.ini

Or output all logged information to a file for analysis:

# allkaltlog > /path/to/mylogfile.log

For posting questions, please go to: (http://forum.kaltura.org)

Additional Information