ABS インストール

提供: VoIP-Info.jp
2025年9月9日 (火) 15:11時点におけるTakahashi (トーク | 投稿記録)による版
ナビゲーションに移動 検索に移動

注意:ABSはクラウド向けではありません。インターネット上に公開しているサーバ上にインストールすることは想定していません。あくまでもローカル環境向けです。

以下はDebian 12(bookworm)ベースの環境でインストールする方法です。Raspberry Piもこの方法です。

まずOSを入れ最新の状態にアップデートしておいてください。(apt -y update, apt -y upgrade)。
作業は基本的にrootの権限が必要です。sudoしろなどはいちいち説明しませんので、特記なき場合にはroot権>限で作業を行ってください。
当たり前ではありますが、ネットワークの設定等も正しく行っておいてください。特にPBXで使用する場合にはIPアドレスは固定すると思いますので、固定しておいてください。また、ssh等でアクセスできる環境を想定していますので、sshも設定しておいてください。

Asteriskのインストール

以下をパッケージ追加します。Asteriskのコンパイルに必要です。
Raspberry Piのデフォルトインストールならば開発環境はインストールされていますが、以下のコマンドを実行しても、すでに入っているパッケージはそのままなので問題ありません。

apt -y install build-essential libedit-dev uuid-dev libxml2-dev libncurses-dev libsqlite3-dev sqlite3 libssl-dev subversion git net-tools dnsutils libsrtp2-dev libunbound-dev

Asteriskのソースをダウンロードします。ここではAsterisk 22を入れます。
ABS自体はAsterisk 18でも動作しますが、古いバージョンを入れる理由は特にはないでしょう。

wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz

参考:githubからcloneしてきてもかまいませんが、ブランチによっては最新版(未リリース)なので注意
展開します。

tar zxvf asterisk-22-current.tar.gz

Asteriskを展開したディレクトリで作業します。

cd asterisk-22.5.2 (22の最新版が22.5.2の場合)

configureを実行します

./configure --with-jansson-bundled

もし途中でエラーが出て失敗する場合には何か足りないものがあるはずです。
makeします。

make

完了したらmake install,make samples,make configします

make install
make samples
make config

インストールが完了したら以下のコマンドで asterisk:asterisk のユーザ/グループを登録します。
応答が要求されたら適当に答えます

addgroup --gid 5060 asterisk
adduser --uid 5060 --gid 5060 asterisk --disabled-password

ディレクトリとファイルの所有者/グループをasteriskにします

chown -R asterisk:asterisk /var/log/asterisk
chown -R asterisk:asterisk /var/lib/asterisk
chown -R asterisk:asterisk /var/spool/asterisk
chown -R asterisk:asterisk /usr/lib/asterisk
chown -R asterisk:asterisk /etc/asterisk

Asteriskの実行ユーザ/グループを"asterisk"にします。
/etc/default/asterisk ファイルを編集します(Debianの場合)。以下の個所のコメントを外します。

# Uncomment the following and set them to the user/groups that you
# want to run Asterisk as. NOTE: this requires substantial work to
# be sure that Asterisk's environment has permission to write the
# files required  for  its  operation, including logs, its comm
# socket, the asterisk database, etc.
AST_USER="asterisk"    <-ここ
AST_GROUP="asterisk"   <-ここ

Asteriskの音声ファイルも日本語化しておきましょう。コンパイルしたディレクトリとは別なディレクトリで 以下を実行して日本語音声を入手します。

git clone https://github.com/takao-t/asterisk-sound-ja.git

cloneが終わったら、以下のコマンドで音声ファイルをコピーしておきます。

cp ./asterisk-sound-ja/core-sound-ja.tgz /var/lib/asterisk/sounds/.

ディレクトリを移動して展開します

cd /var/lib/asterisk/sounds
tar xvf core-sound-ja.tgz

展開し終わったらcore-sound-ja.tgzは要らないのですが、よほどディスク容量に困ってなければ置いたまま>でかまいません。
オーナ/グループを変更しておきます

chonw -R asterisk:asterisk /var/lib/asterisk/sounds/ja

ABSのインストール

ABS「そのもの」はAsteriskのextenのかたまりなのですが、操作用のWebUI(ABS Panel)が付属するため、以下 をインストールします。

apt install apache2 php php-mbstring php-sqlite3

githubから適当なディレクトリにcloneします。

git clone https://github.com/takao-t/abs.git

cloneしたディレクトリに移動し作業します。
まず/etc/asteriskを削除します。samplesで入れたサンプル設定が入っているだけなので通常は問題ないはず ですが、もしも自分で設定した何かが入っている場合にはバックアップしてください。

rm -r /etc/asterisk/*

ABSのexten類をコピーします

cp -r exten/* /etc/asterisk/.

ABSのサウンドファイルをコピーします

cp sound/abs-sounds-ja.tgz /var/lib/asterisk/sounds/.

ABSのサウンドファイルを展開しておきます

cd /var/lib/asterisk/sounds
tar xvf abs-sounds-ja.tgz

/etcに移動しファイルの権限を変更します。

cd /etc/asterisk
chown -R asterisk:asterisk asterisk/*

初期のpjsip_wizard.confを生成します。pjsip_wizard.confは最初から入っていますが、パスワードが公開さ れているのと同じなので必ず初期pjsip_wizard.confを生成するようにしてください。/etc/asteriskに移動し、以下を実行します。

./pj_phonegen.sh > pjsip_wizard.conf

Asteriskを起動します。起動したらCLIで動作していることを確認してください。

systemctl restart asterisk

Asteriskが正常に起動されていればAsteriskの設定は一旦ここまでです。

次にWebUIのインストールを行います。gitでcloneしたABSのディレクトリに戻ってください。
WebUIのトップディレクトリ(URL)を決めます。ここでは http://{IPアドレス}/absp とします。この場合、De bianのApache標準インストールでは/var/www/html/abspとなります。ここにWebUI関連のファイルをコピーしま す。

mkdir /var/www/html/absp
cp -r panel/* /var/www/html/absp/.
chown -R www-data:www-data /var/www/html/absp

これでほぼ使えるのですが、1点だけ確認しておきます。ABS PanelはAMI経由でAsteriskを操作します。デフ>ォルトのインストールではユーザ名とパスワードが『決め打ち』になっていますが、AMIのbindがlocalhostだ>けになっているのでサーバを他の用途に使っておらず、ログインユーザもいないようなら問題はないのですが>、他にログインユーザがいるような場合にはユーザとパスワードを変更してください。

/etc/asterisk/manager.confの次のセクションがWebUI用です。

;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');
?>

これで基本のインストールは終わりです。http://{IPアドレス}/abspにアクセスしてください。最初のユーザ 登録画面が開きますので、ユーザ名とパスワードを登録してログインしてください。このユーザが最初の管理ユーザとなります。従来はファイルでユーザを管理していたため、最初の管理ユーザの設定はファイルで行う必要がありましたが、新しいWebUIではユーザ情報をAstDBに保存するようにしたため、このようにWebUIだけで ユーザの新規登録が可能となっています。もし管理ユーザのパスワードがわからなくなってしまった場合には、AstDBから/ABS/PANELUSER/のキーにあるユーザ名を削除してください。

  • CLI> database show ABS/PANELUSER

/ABS/PANELUSER/admin  : ======hashed password======

このような形でユーザ情報が保存されています。
つまりAsteriskが動作していないとWebUIは使えません。