Ubuntu Server 20.04にAsteriskを入れてみる。【準備編】

  • 2021年1月10日
  • 2021年1月12日
  • 日常
  • 4196view

どうもカトーです。CentOSもStreamとRockyに派生して、サーバディストリ難民にならないよう今回はUbutuServer版を入れて触り始めました。社内にインフラ担当はいますが、私も触らないと何かと話が通らないので、早速インストールして設定してみます。今回はUbuntuServerにAsteriskを入れてみようと思います。ちょっと長めなので初回として仮想にインストールまでを、初心者でも分かるように書いてみますよ。

 

【注意】検索でUbuntu Server Asterisk 辺りで来た人やディストリになっているFreePBX設定を期待した方は、申し訳ないですが、次の記事をご期待ください。この記事は単純にCentOSからUbuntuServer版を仮想に入れて確認という内容です。

 

まずはUbuntu Server ダウンロードだ!

Ubuntu Server
https://jp.ubuntu.com/download

早速ダウンロードします。現時点のバージョンは20.04.1です。ちなみにLTSとは、Long Term Supportの略でサポート期間が長いバージョンです。この20.04.01はリリースから5年間となっています。

仮想で入れるからネットワーク設定は予め(´・ω・)ス

ubuntu-20.04.1-live-server-amd64.isoをダウンロードしたら、今回はVM VitualBox 仮想環境にインストールしてみます。事前準備の注意点として仮想マシンがホストを経由して同じセグメントに入れるようにブリッジアダプターを設定します。

 

ISOイメージでブート、日本語は無いようなのでEnglishで進みます。

 

インストール時にアップデートするか聞かれます。インストール後に手動で行いますので、Continu without updating をで進みます。

 

記号とか大変なのでキーボードレイアウトはJapaneseに変更しておきます。

ネットワーク設定の画面では、追加したネットワークアダプタが表示されています。ちなみにですが、少し前はeth0とかwlan0でしたが、CentOS同様にsystemd命名規則で、en(イーサーネット)+p0( 0番目のバス)+s8(8番目のスロット)という意味です。OSが再起動してもインターフェース名が変わらないので嬉しいですね。ついでなので、IPは固定化しておきます。

 

 

プロクシは無しで進みます。

パッケージのミラーサーバ-です。これもそのまま進みます。

ストレージ設定の画面です。今回はこのまま進みます。

こんな感じでやりますよ?と出ますので、そのまま進みます。

ストレージのデータがリセットされちゃうけど大丈夫?いっとく?と出るので、Continueで進みます。

次にユーザーとホスト設定です。adminとか使えないようです。

SSH使えるようにします?入れます?と聞かれるのでチェックを入れてそのまま進みます。

 

パッケージの選択がでます。ひとまず何もいれずに進みます。

 

インストール完了のようですので、Rebootします。こちらの環境ではリブートできなかったので強制電源停止して再起動を行いました。

 

 

無事起動してたようなので、まずはアップデートします。

sudo apt update
sudo apt -y upgrade

つい su – してyumりたくなりますね。ここは、ハッとして ! Good なaptです。またここでも一応はリブートしておきます。

 

 

まずはAsteriskをインストール

https://www.asterisk.org/

インストールする方法はapt方法とソースを持ってきて入れる方法がありますが、少し前は日本語パッチが合わなくてソースから持って来ていましたが、今回も持ってきてビルドしてみます。

ステップ1 まずはUbuntuをアップデートしておく

sudo apt update
sudo apt -y upgrade
sudo systemctl reboot

ステップ2 ビルド依存環境をインストールしておく

sudo apt update
sudo add-apt-repository universe
sudo apt -y install git curl wget libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev

※こちらの環境ではadd-apt-repository unverse のユニバースレポジトリは既に有効でした。

Asterisk 18をダウンロードする

$ sudo apt policy asterisk
asterisk:
Installed: (none)
Candidate: 1:16.2.1~dfsg-2ubuntu1
Version table:
1:16.2.1~dfsg-2ubuntu1 500
500 http://jp.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
$wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
$tar xvf asterisk-18-current.tar.gz
$ cd asterisk18.1.1

現時点で18.1.1でした。

$ contrib/scripts/get_mp3_source.sh
A addons/mp3
A addons/mp3/dct64_i386.c
A addons/mp3/MPGLIB_TODO
A addons/mp3/mpg123.h
A addons/mp3/layer3.c
A addons/mp3/mpglib.h
A addons/mp3/decode_ntom.c
A addons/mp3/interface.c
A addons/mp3/MPGLIB_README
A addons/mp3/common.c
A addons/mp3/huffman.h
A addons/mp3/tabinit.c
A addons/mp3/Makefile
A addons/mp3/README
A addons/mp3/decode_i386.c
Exported revision 202.

 

依存関係が問題ないか確認します。

$sudo contrib/scripts/install_prereq install

 

途中で世界電話番号的なものを入れておきます。日本は81番です。

………(略)
Setting up vpb-driver-source (4.2.61-1build1) ...
Processing triggers for libglib2.0-0:amd64 (2.64.3-1~ubuntu20.04.1) ...
Processing triggers for libc-bin (2.31-0ubuntu9.1) ...
Processing triggers for systemd (245.4-4ubuntu3.3) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for install-info (6.7.0.dfsg.2-5) ...
Setting up libgmime-2.6-dev (2.6.23+dfsg1-4) ...
Setting up libgmime-3.0-dev:amd64 (3.2.7-1) ...

#############################################
## install completed successfully
#############################################

と出れば成功です。次はセットアップを行います。

ステップ4: ビルドと初期設定

./configure

チェックが走った後に

checking for GTK2... no
configure: creating ./config.status
config.status: creating makeopts
config.status: creating autoconfig.h
configure: Menuselect build configuration successfully completed

               .$$$$$$$$$$$$$$$=..      
            .$7$7..          .7$$7:.    
          .$$:.                 ,$7.7   
        .$7.     7$$$$           .$$77  
     ..$$.       $$$$$            .$$$7 
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7 
$$$       .7$$$$$$$$$$$$$$$$      :$$$. 
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.  
$$$        $$$   7$$$7  .$$$    .$$$.   
$$$$             $$$$7         .$$$.    
7$$$7            7$$$$        7$$$      
 $$$$$                        $$$       
  $$$$7.                       $$  (TM)     
   $$$$$$$.           .7$$$$$$  $$      
     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$      
       $$$$$$$$$$$$$$$$.                

configure: Package configured for: 
configure: OS type  : linux-gnu
configure: Host CPU : x86_64
configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :
configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
$make menuselect

 

ひとまず音声絡みを入れておきます。

make
> chan_ooh323.so
   [CC] format_mp3.c -> format_mp3.o
   [CC] mp3/common.c -> mp3/common.o
   [CC] mp3/dct64_i386.c -> mp3/dct64_i386.o
   [CC] mp3/decode_ntom.c -> mp3/decode_ntom.o
   [CC] mp3/layer3.c -> mp3/layer3.o
   [CC] mp3/tabinit.c -> mp3/tabinit.o
   [CC] mp3/interface.c -> mp3/interface.o
   [LD] format_mp3.o mp3/common.o mp3/dct64_i386.o mp3/decode_ntom.o mp3/layer3.o mp3/tabinit.o mp3/interface.o -> format_mp3.so
   [CC] res_config_mysql.c -> res_config_mysql.o
   [LD] res_config_mysql.o -> res_config_mysql.so
Building Documentation For: third-party channels pbx apps codecs formats cdr cel bridges funcs tests main res addons 
 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+
$sudo make install

 

asterisk-extra-sounds-en-gsm-1 100%[====================================================>]   4.06M  61.1KB/s    in 57s     

2021-01-09 23:31:39 (72.7 KB/s) - ‘asterisk-extra-sounds-en-gsm-1.5.2.tar.gz’ saved [4253587/4253587]

make[1]: Leaving directory '/home/kato/asterisk-18.1.1/sounds'
find rest-api -name "*.json" | while read x; do \
        /usr/bin/install -c -m 644 $x "/var/lib/asterisk/rest-api" ; \
done
 +---- Asterisk Installation Complete -------+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk has successfully been installed. +
 + If you would like to install the sample   +
 + configuration files (overwriting any      +
 + existing config files), run:              +
 +                                           +
 + For generic reference documentation:      +
 +    make samples                           +
 +                                           +
 + For a sample basic PBX:                   +
 +    make basic-pbx                         +
 +                                           +
 +                                           +
 +-----------------  or ---------------------+
 +                                           +
 + You can go ahead and install the asterisk +
 + program documentation now or later run:   +
 +                                           +
 +               make progdocs               +
 +                                           +
 + **Note** This requires that you have      +
 + doxygen installed on your local system    +
 +-------------------------------------------+

ドキュメントもオプションで入れることができます。

$sudo make progdocs

最後に、コンフィグとサンプルを入れてみます。

sudo make samples
sudo make config
sudo ldconfig

ここまで準備として記載してみました。躓くとドはまりするSIPですが、次回はサンプルを動かして統括的にどうするか検証してみます。

最新情報をチェックしよう!
>システム構築・保守に特化した会社です。

システム構築・保守に特化した会社です。

システムの構築・保守運用「システムガーディアン」 社内システム担当が欲しいが、専属で雇うほどの仕事量はない。 必要な時に必要なだけ頼りたいというお悩みを持つ企業様へ専門知識を持って対応を行っております。 サーバから各種システムまで自社・他社で構築されたシステムに対してサポートを行っております。

CTR IMG