WOWZA Setup on Ubuntu 20.04.3 LTS - daniel-hong-sicis/streaming GitHub Wiki

Install Ubuntu

Download ISO Image (Ubuntu 20.04.3 LTS) from Ubuntu Site. and run with Minimal Install Option.

Setup ssh2 service

sudo apt install openssh-server

Install Wowza Trial

1. Register email for trial and download Wowza setup file.
2. Receive the trial key from the registered email account.
3. And fill the reg-key in the input box.
4. Setup self-signed certificate.

How to setup self-signed certificate

Insall OpenSSL

Run update command to update package repositories and install openssl

sudo apt-get update -y
sudo apt-get install -y openssl

Create ROOT CA

Create Root CA's private key as root account.

openssl genrsa -aes256 -out rootca_private.key 2048

Create Root CA's public key from the private key.

openssl rsa -in rootca_private.key -out rootca_public_key.pem -pubout
openssl req -new -key rootca_private.key -out rootca.csr -config /usr/lib/ssl/openssl.cnf
openssl x509 -req -days 3650 -extensions v3_ca -set_serial 1 -in rootca.csr -signkey rootca_private.key -out rootca.crt
openssl x509 -text -in rootca.crt

Create server certificate

Run these commands as root account.

openssl genrsa -aes256 -out stream.sicis.co.kr_private.key 2048
openssl req -new -key stream.sicis.co.kr_private.key -out stream.sicis.co.kr.csr -config /usr/lib/ssl/openssl.cnf
openssl x509 -req -days 1825 -extensions v3_user -in stream.sicis.co.kr.csr -CA rootca.crt -CAcreateserial -CAkey rootca_private.key -out stream.sicis.co.kr.crt

Setup Java Key Store (JKS)

Run these commands as root account.

cat stream.sicis.co.kr.crt rootca.crt > stream.sicis.co.kr.pem
openssl pkcs12 -export -name stream.sicis.co.kr -in stream.sicis.co.kr.pem -inkey stream.sicis.co.kr_private.key -out keystore.p12
keytool -importkeystore -srckeystore keystore.p12 -srcstoretype pkcs12 -alias stream.sicis.co.kr -destkeystore keystore.jks -deststoretype jks

To verify certificate

Run these commands..

keytool -list -v -keystore keystore.jks
keytool -printcert -v -file  stream.sicis.co.kr.crt

Firewall Configuration

TCP 1935        RTMP/RTMPE/RTMPT/RTSP-interleaved streaming/WOWZ™
TCP 8086-8088   Administration
UDP 6970-9999   RTP UDP streaming

TCP 443
TCP 554

sudo ufw allow 1935
sudo ufw allow 8086:8088/tcp
sudo ufw allow 6970:9999/udp

sudo ufw allow 443/tcp
sudo ufw allow 554/tcp
sudo ufw allow 554/udp

sudo ufw enable

Install Docker Engine

  1. Update the apt package index, and install the latest version of Docker Engine and containerd, or go to the next step to install a specific version:

sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common

[GPG]
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

[Docker Repo]
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

$ sudo apt-get update
$ sudo apt-get install docker-ce docker-ce-cli containerd.io
$ sudo systemctl enable docker && sudo service docker start

DNS Server docker container

sudo docker pull sameersbn/bind:latest

[Initial]
sudo docker run -d \
      --name=bind \
      -p=10.0.0.11:53:53/tcp \
      -p=10.0.0.11:53:53/udp \
      -p=10000:10000 \
      --volume=/srv/docker/bind:/data/bind \
      --env='ROOT_PASSWORD=GH@N' \
      sameersbn/bind:latest

[Configured]
sudo docker run -d \
      --name=bind \
      -p=10.0.0.11:53:53/tcp \
      -p=10.0.0.11:53:53/udp \
      -p=10000:10000 \
      --volume=/srv/docker/bind:/data/bind \
      --env='ROOT_PASSWORD=GH@N' \
      dns-sicis

image

image

image

image

image

image

image

image

image