ABS インストールのソースを表示
←
ABS インストール
ナビゲーションに移動
検索に移動
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループのいずれかに属する利用者のみが実行できます: メール確認された利用者、
管理者
。
このページのソースの閲覧やコピーができます。
[[カテゴリ:ABS]] [[カテゴリ:インストール]] [[カテゴリ:Asterisk]] 注意:ABSはクラウド向けではありません。インターネット上に公開しているサーバ上にインストールすることは想定していません。あくまでもローカル環境向けです。<br> <br> 以下はDebian 12(bookworm)ベースの環境でインストールする方法です。Raspberry Piもこの方法です。<br> <br> まずOSを入れ最新の状態にアップデートしておいてください。(apt -y update, apt -y upgrade)。<br> 作業は基本的にrootの権限が必要です。sudoしろなどはいちいち説明しませんので、特記なき場合にはroot権>限で作業を行ってください。<br> 当たり前ではありますが、ネットワークの設定等も正しく行っておいてください。特にPBXで使用する場合にはIPアドレスは固定すると思いますので、固定しておいてください。また、ssh等でアクセスできる環境を想定していますので、sshも設定しておいてください。<br> ==Asteriskのインストール== 以下をパッケージ追加します。Asteriskのコンパイルに必要です。<br> Raspberry Piのデフォルトインストールならば開発環境はインストールされていますが、以下のコマンドを実行しても、すでに入っているパッケージはそのままなので問題ありません。<br> 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を入れます。<br> ABS自体はAsterisk 18でも動作しますが、古いバージョンを入れる理由は特にはないでしょう。<br> wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-22-current.tar.gz 参考:githubからcloneしてきてもかまいませんが、ブランチによっては最新版(未リリース)なので注意<br> 展開します。<br> tar zxvf asterisk-22-current.tar.gz Asteriskを展開したディレクトリで作業します。<br> cd asterisk-22.5.2 (22の最新版が22.5.2の場合) configureを実行します ./configure --with-jansson-bundled もし途中でエラーが出て失敗する場合には何か足りないものがあるはずです。<br> makeします。 make 完了したらmake install,make samples,make configします make install make samples make config インストールが完了したら以下のコマンドで asterisk:asterisk のユーザ/グループを登録します。<br> 応答が要求されたら適当に答えます 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"にします。<br> /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は要らないのですが、よほどディスク容量に困ってなければ置いたまま>でかまいません。<br> オーナ/グループを変更しておきます 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したディレクトリに移動し作業します。<br> まず/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の設定は一旦ここまでです。<br> <br> 次にWebUIのインストールを行います。gitでcloneしたABSのディレクトリに戻ってください。<br> WebUIのトップディレクトリ(URL)を決めます。ここでは http://{IPアドレス}/absp とします。この場合、Debianの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だ>けになっているのでサーバを他の用途に使っておらず、ログインユーザもいないようなら問題はないのですが>、他にログインユーザがいるような場合にはユーザとパスワードを変更してください。<br> <br> /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====== このような形でユーザ情報が保存されています。<br> つまりAsteriskが動作していないとWebUIは使えません。<br> ==オプション設定== ちょっと詳しい人向けの設定(オプション) ===キャッシュ管理=== 新WebUIではセッションの管理を行っています。セッション情報は独自のKeyValue Sroreにキャッシュしていますが、KVSとかっこいい言い方をしても単なるファイルです。ただしAstDBと表現方法に互換のあるKVSを実装しています。基本のキャッシュ先はドキュメントのルート/cacheで、以下のようにセッションファイルと最終アクティビティ時刻が記録されます。 /var/www/html/absp# ls -l cache/ total 8 -rw-r--r-- 1 www-data www-data 13 Sep 5 09:19 ABS_PANELUSER_admin-last_activity -rw-r--r-- 1 www-data www-data 34 Sep 5 09:19 ABS_PANELUSER_admin-session_id 最終アクティビティ時間はWebUIで何かを操作する度に記録されますので、ディスクI/Oやディスクの寿命を気にする場合にはこれをメモリ上に持つことができます。メモリ上に置くにはmemcachedを使用しますので、以下の手順で設定してください。 apt install memchached php-memcached systemctl restart apache2 もしWebUIでログインしているなら、まずはログアウトします。ログアウトしてからphp/config.phpを編集します。デフォルトインストールなら以下のようにfileを指定している個所をコメントし、memcachedの設定のコメントを外すと動きます。 // キャッシュ設定 現在のところセッション情報保存にのみ使用 // 設定可能値はfileまたはmemcached // memcached使用時はmemcachedのインストールとPHP拡張が必要 //define('CACHE_MODE', 'file'); // memcachedを使用する場合は以下の設定が必要 define('CACHE_MODE', 'memcached'); define('MEMCACHED_HOST', '127.0.0.1'); define('MEMCACHED_PORT', 11211) 動作しているかを確認するにはcache/の下にファイルが作成されておらず、かつWebUIの管理機能->システム設定でユーザ一覧を確認した際に「最終アクティビティ」の時刻が記録されており、何等かの操作をすること>でこの時刻が更新されればセッション情報はmemcachedで保持されています。<br> WebUIはセッション情報以外はなるべく「書かない」ようにしてあります。情報はAMIでAstDBから取得します>が、AstDBに対して書き込むのは[設定]等がクリックされた場合だけです。<br> なお、memcachedが使えない場合にはファイルで保存するようにフォールバックします。<br> memcachedはご存じの通りin-memoryのvolatileなデータストアです。WebUIで使用しているのはブラウザのセッション情報だけなので問題にはなりません。またよほど多数のユーザを登録し多数ログインするなど極端な>ことをしない限りはサイズも問題にはなりません。<br> お勧めの方法ではありますが追加のコンポーネントが必要なことと「わかりやすさ」を優先しているため、デフォルトではfileモードを提供しています。
ABS インストール
に戻る。
ナビゲーション メニュー
個人用ツール
アカウント作成
ログイン
名前空間
ページ
議論
日本語
表示
閲覧
ソースを閲覧
履歴表示
その他
検索
案内
メインページ
最近の更新
おまかせ表示
ヘルプ
広告
サイトコンテンツ
コミュニティ
Asterisk
Asterisk 20
Asterisk 22
IP電話機
購入情報
導入事例
回線接続
ベンダー
ひかり電話
セキュリティ
イベント情報
スペシャル
Asterisk pjsip
ABS
黒電話 ハック
ツール
リンク元
関連ページの更新状況
特別ページ
ページ情報