Asterisk(PBX)は、GigiumおよびAsteriskコミュニティによって維持されているGPLライセンスの下でリリースされたオープンソースの通信サーバーです。アスタリスクは、通常のコンピューターを通信サーバーに変える通信アプリケーションを作成するために使用されます。したがって、ネットワーク環境でAsteriskを使用すると、ブロードバンド接続を介して自宅からオフィスのPBXに従業員を接続したり、Webや電子メールと統合されたボイスメールを提供したりできます。
Asteriskを使用するメリットは多すぎるため、このチュートリアルに従って、自宅、オフィス、組織のいずれでも独自のAsteriskサーバーをセットアップし、コミュニケーションのギャップを埋める優れた機能を楽しんでください。
アスタリスクの前提条件
最小限のパッケージがインストールされたAsteriskセットアップにCentOS7を使用するため、システムがデータに対応しており、必要なさまざまなパッケージをインストールするためのシステムに対するrootユーザー権限があることを確認してください。
1)システムアップデート
ルートログインが成功した後、以下のコマンドを使用してシステムを更新できます。
#yum update
2)必要なパッケージのインストール
システムに最新のアップデートでパッチを適用したら、正常に動作するために必要な開発ツールやその他のパッケージを含むいくつかのパッケージをインストールする必要があります。以下のコマンドを使用すると、すべての依存関係を含むすべての必要なパッケージをインストールすることで、これを簡単に行うことができます。
[root@centos-7 ~]# yum install gcc gcc-c++ php-xml php php-mysql php-pear php-mbstring mariadb-devel mariadb-server mariadb sqlite-devel lynx bison gmime-devel psmisc tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim
システムにインストールされるパッケージのリストを確認し、「Y」を押して続行します。これには、約125MBのディスク容量が必要です。
操作が正常に完了すると、必要なすべての依存関係を含む、インストールされているパッケージと更新のリストが表示されます。
3)MariaDBをセットアップする
デフォルトでインストール後、パスワードを使用せずにデータベースに接続できます。そのため、最初に下の画像に示すようにmariadbサービスを有効化/開始して、ルートパスワードを設定できるようにします。
MariaDBサービスに問題がなければ、以下のコマンドを実行してルートパスワードを設定し、匿名ユーザーを削除し、データベースをテストして、リモートユーザーのログインを禁止します。
[root@centos-7 ~]# mysql_secure_installation
4)libjanssonのインストール
Janssonは、JSONデータをエンコード、デコード、操作するためのCライブラリです。以下のコマンドを使用して、ダウンロード、解凍、コンパイルしてみましょう。
# wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz
このパッケージを抽出するには、以下のコマンドを使用します。
# tar -zxvf jansson-2.7.tar.gz
次に、ディレクトリを変更し、図のようにパッケージを構成します。
5)Janssonを作成する
構成されたパッケージをコンパイルするには、同じディレクトリ内で以下の「make」および「make install」コマンドを使用して、完全に機能するJanssonライブラリをコンパイルする必要があります。
[root@centos-7 Jansson-2.7]#make clean
[root@centos-7 Jansson-2.7]#make && make install
[root@centos-7 Jansson-2.7]#ldconfig
Asterisk13.5.0のインストール
ここでは、最も重要なダウンロードであるアスタリスクについて説明します。最新のパッケージを公式WebリンクのAsteriskダウンロードページからダウンロードしましょう。 'wget'コマンドを使用してパッケージをダウンロードするので、現在のディレクトリを変更して、以下に示すようにコマンドを実行します。
以下のコマンドを使用して、パッケージを解凍し、ディレクトリを変更してから、構成コマンドを実行します。
[root@centos-7 ~]# tar -zxvf asterisk-13.5.0.tar.gz
[root@centos-7 ~]# cd asterisk-13.5.0
[root@centos-7 asterisk-13.5.0]# ./configure --libdir=/usr/lib64
アスタリスクのインストールが正常に完了すると、以下に示すようなロゴが表示されます。
アスタリスクモジュールのセットアップ
次のいくつかのステップでは、必要なモジュール用にAsteriskを構成します。
1)アスタリスクのメインメニューの選択
メニュー項目を設定するために、以下のコマンドを実行してから、適切なオプションを選択してみましょう。
[root@centos-7 asterisk-13.5.0]# make menuselect
このコマンドを実行すると、新しいウィンドウが開き、ほとんどの場合、必要なすべてのモジュールがすでに含まれていることがわかります。モジュールを選択すると、その目的の簡単な説明があり、何かを追加または削除できます。 mp3サポートモジュールを有効にするアドオンで、以下に示すように「format_mp3」を選択します。
次に、次のコアサウンドパッケージに移動し、画像に示されているオーディオパケットの形式を選択します。
次に、[保留音パッケージ]からすべてのパッケージを選択し、[エクストラサウンドパッケージ]を作成して、ENを含む最初のモジュールを含む4を選択し、[保存して終了]ボタンを選択して次のステップに進みます。
2)mp3ライブラリの読み込み
次に、次のコマンドを実行して、mp3デコーダライブラリをソースツリーにダウンロードします。
[root@centos-7 asterisk-13.5.0]# contrib/scripts/get_mp3_source.sh
3)モジュールのインストール
次に、「makeコマンド」を使用して選択したモジュールのインストールを続行します。
これで、アスタリスクが正常にビルドされました。次に、画像に示されているコマンドを実行して、アスタリスクをインストールします。
[root@centos-7 asterisk-13.5.0]# make install
上記のコマンドに応答して、インストールの最後に以下が表示されます。
+---- 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: +
+ +
+ make samples +
+ +
+----------------- 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 +
+-------------------------------------------+
ここでは、以下のコマンドを実行して、上記のようにサンプル構成ファイルをインストールします。
[root@centos-7 asterisk-13.5.0]# make samples
[root@centos-7 asterisk-13.5.0]# make config
アスタリスクユーザーの設定
別のユーザーを作成し、Asteriskを使用して、独自のユーザーとグループでサービスを開始する権利を与えることができます。そのためには、以下のコマンドを実行してみましょう。
[root@centos-7 asterisk-13.5.0]# useradd -m asterisk
[root@centos-7 asterisk-13.5.0]# chown asterisk.asterisk /var/run/asterisk
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /etc/asterisk
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /usr/lib64/asterisk
[root@centos-7 asterisk-13.5.0]# systemctl restart asterisk
[root@centos-7 asterisk-13.5.0]# systemctl status asterisk
ファイアウォールルールの設定
次に、セキュリティの設定を開始します。デフォルトでは、iptablesの代わりにCentOS7でFirewallDを使用します。
以下の2つのコマンドを使用して、firewalldサービスを開始および有効化できます。
[root@centos-7 ~]# systemctl start firewalld
[root@centos-7 ~]# systemctl enable firewalld
次のルールを追加して、アスタリスクPBXで使用されているポートへのアクセスを許可します
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5060/udp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5060/tcp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5061/udp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5061/tcp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=4569/udp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5038/tcp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=10000-20000/udp --permanent
success
新しいファイアウォールルールをロードするには、以下のコマンドを使用します。
[root@centos-7 ~]# firewall-cmd --reload
すべてのルールが追加されたことを確認するには、画像に示されているコマンドを使用できます。
アスタリスクデータベースのセットアップ
MySQL MariaDBに接続し、新しいユーザーとデータベースを作成してから、次のコマンドを使用してすべての権限を付与しましょう。
[root@centos-7 ~]# mysql -u root -p
Enter password:******
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create user 'asterisk'@'localhost' identified by '******';
MariaDB [(none)]> create database asterisk;
MariaDB [(none)]> create database cdrdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY '******';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cdrdb.* TO asterisk@localhost IDENTIFIED BY '******';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]>
アスタリスクの起動
以下のコマンドを使用してCentos7でセットアップした後、初めてAsteriskを起動します。
[root@centos-7 ~]# asterisk -r
結論
Asterisk 13.5.0(PBX)は、必要なモジュールとともにCentOS7に正常にインストールされました。記事に間違いや矛盾を見つけた場合は、コメントでそれについて私たちに書いていただければ幸いです。