DS1NMA Blog

TVHeadend install on ubuntu 22.04 server.

Repository에서 설치하는 방법으로 진행한다.

일반적인 검색에서는 snapd를 사용한 설치나 Docker 설치방법이 대부분 이지만, snapd를 사용하는 경우 DTV 사용시 Mux를 사용할 수 없다.

 

1) 리포지토리 등록

curl -1sLf \
  'https://dl.cloudsmith.io/public/tvheadend/tvheadend/setup.deb.sh' \
  | sudo -E bash

2) sudo apt-get update

3) sudo apt-get install tvheadend

 

Ubuntu의 18.04, 20.04, 22.04 LTS 버전에서는 모두 통용됨.

1. This way is stable on installed Ubuntu 22.04 Server Core

    이 방법은 Ubuntu 22.04 Server Core가 설치된 상태를 기준으로 합니다. (Desktop 버전은 모름)

1) Asterisk 설치

sudo apt-get install unzip git gnupg2 curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev subversion
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-19-current.tar.gz
tar zxf asterisk-19-current.tar.gz
cd asterisk-19.*/
sudo ./contrib/scripts/get_mp3_source.sh
sudo ./contrib/scripts/install_prereq install
sudo ./configure
sudo make menuselect
(설치할 코덱 및 애드인 설치 요망)
sudo make -j2
sudo make install
sudo make samples
sudo make config
sudo ldconfig
sudo groupadd asterisk
sudo useradd -r -d /var/lib/asterisk -g asterisk asterisk
sudo usermod -aG audio,dialout asterisk
sudo chown -R asterisk.asterisk /etc/asterisk
sudo chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
sudo chown -R asterisk.asterisk /usr/lib/asterisk
sudo nano /etc/default/asterisk
(아래 내용 추가 또는 주석 해제)
AST_USER="asterisk"
AST_GROUP="asterisk"

sudo systemctl restart asterisk

sudo nano /etc/asterisk/cdr.conf
(아래 내용 수정)
[radius]
radiuscfg => /etc/radcli/radiusclient.conf

sudo nano /etc/asterisk/cel.conf
(아래 내용 수정)
[radius]
radiuscfg => /etc/radcli/radiusclient.conf

2) FreePBX 16 (사전에 apache, mariadb, php 7.4, nodejs 설치과정 포함)
sudo apt-get install apt-transport-https curl
sudo curl -o /etc/apt/trusted.gpg.d/mariadb_release_signing_key.asc 'https://mariadb.org/mariadb_release_signing_key.asc'
sudo sh -c "echo 'deb https://ftp.yz.yamagata-u.ac.jp/pub/dbms/mariadb/repo/10.10/ubuntu jammy main' >>/etc/apt/sources.list"
sudo apt-get update
sudo apt-get install mariadb-server
sudo mysql_secure_installation

sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php

sudo apt-get install apache2
sudo apt-get install php7.4 libapache2-mod-php7.4
sudo apt-get install php7.4-cgi php7.4-common php7.4-curl php7.4-mbstring php7.4-gd 
sudo apt-get install php7.4-mysql php7.4-bcmath php7.4-zip php7.4-xml php7.4-imap php7.4-json php7.4-snmp
sudo apt-get install php-pear
sudo apt-get install nodejs npm 
sudo apt-get install python3-certbot-apache

wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-16.0-latest.tgz
tar -xvzf freepbx-16.0-latest.tgz
cd freepbx
sudo ./install -n
sudo fwconsole ma downloadinstall certman
sudo fwconsole ma install pm2

sudo sed -i 's/^(User|Group).*/ asterisk/' /etc/apache2/apache2.conf
sudo sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
sudo sed -i 's/(^upload_max_filesize = )./2000M/' /etc/php/7.4/apache2/php.ini 
sudo sed -i 's/(^upload_max_filesize = )./2000M/' /etc/php/7.4/cli/php.ini

sudo a2enmod rewrite
sudo apt-get install sox
sudo systemctl restart apache2