お問い合わせ

ブログ

これまでに経験してきたプロジェクトで気になる技術の情報を紹介していきます。

Asterisk18 を Centos7にインストール

okuda Okuda 2 years

今日のブログ投稿では、centos7システムに新しいAsterisk18をインストールします。

centosシステムを更新

まず、centosシステムを更新します。

$ yum update all

パッケージをインストール

Asterisk18に必要なパッケージをインストールしましょう。

$ yum install vim epel-release gcc gcc-c++ wget make bzip2 patch subversion json-c json-c-devel unixODBC unixODBC-devel mysql-connector-odbc libtool-ltdl libtool-ltdl-devel jansson-devel libsrtp-devel openssl openssl-devel dmidecode ncurses-devel libxml2-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel binutils-devel libedit libedit-devel svn

SELinuxを無効にする

必要なパッケージがすべてインストールされたら、SELinuxを無効にして、Asteriskが問題なく動作することを確認します。 現在のSELinuxステータスとCentos7システムで使用されているポリシーを表示するには、sestatusコマンドを使用します。

$ sestatus
# output
SELinux status:                                 enabled
SELinuxfs mount:                                /sys/fs/selinux
SELinux root directory:                         /etc/selinux
Loaded policy name:                             targeted
Current mode:                                   enforcing
Mode from config file:                          enforcing
Policy MLS status:                              enabled
Policy deny_unknown status:                     allowed
Max kernel policy version:                      31

上記の出力から、SELinuxが有効になっていて、強制モードに設定されていることがわかります。

SELinuxには3つのモードがあります。

  • Enforcing(強制) :SELinuxは、SELinuxポリシールールに基づいてアクセスを許可します。
  • Permissive(許容) :SELinuxは、強制モードで実行した場合に拒否されたアクションのみをログに記録します。
  • Disabled(無効):SELinuxポリシーがロードされていません。

デフォルトでは、CentOS7では、SELinuxが有効になっており、Enforcing(強制)モードになっています。

selinuxを無効にする方法

CentOS 7システムでSELinuxを永続的に無効にするには、以下の手順に従います。

SELinux設定ファイルを開きます。

$ vim /etc/selinux/config

SELinux modeを無効に設定します。

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#       targeted - Targeted processes are protected,
#       mls - Multi Level Security protection.
SELINUXTYPE=targeted

次に、ファイルを保存して、システムを再起動します。

$ sudo shutdown -r now

システムが再起動されたら、次のコマンドでSELinuxステータスを再度確認できます。

$ sestatus
# output
SELinux status:                 disabled

Pjsipをインストール

次のステップはPjsipをインストールすることです。 このパッケージは、Asterisk内で使用されます。 Pjsipパッケージをダウンロードしてセットアップしましょう。

$ cd /usr/src/
$ wget https://github.com/pjsip/pjproject/archive/2.10.tar.gz
$ tar zxvf 2.10.tar.gz
$ rm -f 2.10.tar.gz

次に、Centos7システムにPjsipをインストールします。

$ cd pjproject-2.10
$ ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
$ make dep
$ make
$ make install
$ ldconfig

Asterisk18をインストール

Pjsipがインストールされたら、Asterisk18アプリケーションのインストールを開始できます。 Centos7システムにAsterisk18をダウンロードすることから始めましょう。

$ cd /usr/src/
$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
$ tar xvfz asterisk-18-current.tar.gz
$ rm -f asterisk-18-current.tar.gz

これで、Asterisk18をインストールできます。

$ cd /usr/src/asterisk-18*/
$ contrib/scripts/install_prereq install
$ ./configure --libdir=/usr/lib64 --with-jansson-bundled
$ make menuselect.makeopts
$ menuselect/menuselect --enable chan_ooh323 --enable format_mp3 --enable CORE-SOUNDS-JA-WAV --enable CORE-SOUNDS-JA-ULAW --enable CORE-SOUNDS-JA-ALAW --enable CORE-SOUNDS-JA-GSM --enable CORE-SOUNDS-JA-G729 --enable CORE-SOUNDS-JA-G722 --enable CORE-SOUNDS-JA-SLN16 --enable CORE-SOUNDS-JA-SIREN7 --enable CORE-SOUNDS-JA-SIREN14 --enable app_macro --disable BUILD_NATIVE
$ contrib/scripts/get_mp3_source.sh
$ make
$ make install
$ make samples
$ make config
$ ldconfig

Asterisk 18をインストールした後、Asteriskが起動して有効になっていることを確認する必要があります。

$ sudo systemctl enable asterisk
$ sudo systemctl start asterisk

次に、Asterisk18が開始されたことを確認しましょう。

# output
● asterisk.service - LSB: Asterisk PBX
   Loaded: loaded (/etc/rc.d/init.d/asterisk; bad; vendor preset: disabled)
   Active: active (running) since Wed 2020-11-18 00:36:12 UTC; 1min 5s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 20001 ExecStop=/etc/rc.d/init.d/asterisk stop (code=exited, status=0/SUCCESS)
  Process: 20027 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)

これで、Asterisk18がCentos7システムにインストールされました。

Asterisk18 を Centos7にインストール 2021-08-23 14:03:43

コメントはありません。

4242

お気軽に
お問い合わせください。

お問い合わせ
gomibako@aska-ltd.jp