ABS インストール
注意:ABSはクラウド向けではありません。インターネット上に公開しているサーバ上にインストールすることは想定していません。
あくまでもローカル環境向けです。
Asteriskインストール
Asterisk 16のページを参考にソースインストールしてください。
make samples, make configもやっておきます。
/etc/asteriskに展開されるサンプルの設定ファイルは不要なので削除しておきます。
必要なパッケージ類のインストール
Raspbian(Raspberry Pi) Strecthを例に説明します。他のディストリビューションでは読み替えて実行してください。
Apacheとphp,php-mbstringをインストールしておきます。Gitも入れておいてください。
# apt-get -y install apache2 php php-mbstring # apt-get -y install git
Web UIからファイル編集等を可能にするためAsteriskの実行ユーザをasteriskとし、そのグループにApache(www-data)を追加します。
# adduser -uid 5060 asterisk # adduser www-data asterisk
/etc/default/asteriskファイルを編集し、以下の2行のコメントを外しておきます。
AST_USER="asterisk" AST_GROUP="asterisk"
ABS自体のインストール
ABS一式を入手します
# git clone https://github.com/takao-t/abs.git abs (注:現時点では未公開です。ドキュメントが揃ってから公開します。2019/04/08)
absディレクトリの中のextenを/etc/asteriskに、panelを/var/www/html/abs(例)にコピーします。
# cd abs/exten # cp -r * /etc/asterisk # cd ../panel # mkdir /var/www/html/absp # cp -r * /var/www/html/absp
ABSのユーザ認証用ファイルをWebからアクセスできない位置に移動します。
# cd /var/www # mkdir abs # mv html/abs/userinfo.dat abs/.
ファイルのパーミッションを適切に設定します
# cdown -R www-data:www-data /var/www
Asteriskのファイル類も適切に設定しますが、付属するスクリプトで一気に行うことができます。
# cd /etc/asterisk/scripts # sh -x ./changemode.sh
ちょっとした内部解説
ABSの基本はAstDBによる動作です。このため通常はextenを書き換える必要はありません。
ABSのUIとAsteriskはAMIで通信しています。このためファイルのパーミッションが適切でなくとも基本的な機能は動作します。
ABS UIのファイル編集機能を使う場合には上記で示したようにWebからAsteriskのファイルが編集できるように調整する必要があります。
AMIはデフォルトでは以下の設定で認証していますので、なるべくデフォルトでは使用せず調整してください。
/etc/asterisk/manager.conf
;ABS Panel接続情報 [abspadmin] secret = amipass1234 deny=0.0.0.0/0.0.0.0 permit=127.0.0.0/255.0.0.0 read = system,call write = system,all
上記の例でインストールした場合、/var/www/html/absp/php/amiauth.php
<?php define('AMIUSERNAME', 'abspadmin'); define('AMIPASSWORD', 'amipass1234'); ?>