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
- 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