Asterisk 20 を AlmaLinux 9 にインストールする
はじめに
AlmaLinuxにAsteriskをインストールしたときのメモです。 本記事だけでなく Asterisk Documentation も合わせて確認するようにしてください。
INFO
Asterisk (LTS) の最新バージョンは Asterisk 22 です。 この記事は Asterisk 20 ベースの情報のため最新と異なる場合があります。
ダウンロードと解凍
Asterisk公式ページからソースコードをダウンロードし、解凍します。
curl -sLO https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-20-current.tar.gz
tar xzf asterisk-20-current.tar.gz
cd asterisk-20.6.0/
ビルド環境を整備
CRBリポジトリの有効化とビルドに必要なパッケージをインストールします。
install_prereq install
を実行すると必要なものを勝手に拾ってきます。
systemd-devel
は install_prereq
でインストールされないため手動でインストールします。
無いとSystemdでサービスが起動しない。
mp3ファイルを扱わない場合は get_mp3_source.sh
の実行は不要です。
dnf config-manager --enable crb
./contrib/scripts/install_prereq install
./contrib/scripts/get_mp3_source.sh
dnf -y install systemd-devel
ビルドオプションを設定
./configure
の pjproject
はデフォルトでバンドルされるため省略しています。
make menuselect
でTUIが立ち上がるので必要なものを選択する。
Save & Exit
で保存・終了できる。
言語が日本語/英語のものとコーデックがWAV/ULAWのものは選択しておくとよい。
./configure --with-jansson-bundled
make menuselect
INFO
この先のオプションはメモのため、要件に応じて選択すること。
Add-ons (See README-addons.txt) / format_mp3
[コーデック]Codec Translators / codec_opus
[コーデック]【スキップ可】Core Sound Packages
[ボイス集]CORE-SOUNDS-EN-WAV
CORE-SOUNDS-EN-ULAW
CORE-SOUNDS-JA-WAV
CORE-SOUNDS-JA-ULAW
Music On Hold File Packages
[保留音]MOH-OPSOUND-WAV
MOH-OPSOUND-ULAW
Extras Sound Packages
[ボイス集]EXTRA-SOUNDS-EN-WAV
EXTRA-SOUNDS-EN-ULAW
ビルド
ビルドする。そこそこ時間がかかります。
make
make install
make config
make samples
asterisk
ユーザを作成
サービス実行ユーザを作成する。 各ディレクトリのオーナーを変更する。
useradd -d /var/lib/asterisk -M -s /sbin/nologin
chown -R asterisk:asterisk /var/{lib,log,spool,run}/asterisk
/etc/sysconfig/asterisk
の設定
vi /etc/sysconfig/asterisk
# AST_USER をアンコメントする
# AST_GROUP をアンコメントする
ldconfig
/etc/tmpfiles.d/asterisk.conf
の設定
/var/run
はtmpfsのため起動するたびに初期化される。
起動時に自動作成されるように設定する。
echo 'd /run/asterisk 755 asterisk asterisk' > /etc/tmpfiles.d/asterisk.conf
MP3ファイルを再生するための設定
ソースを含めても mpg123
がないとmp3ファイルを再生できないためインストールする。(なぜ?)
dnf -y install mpg123
systemd
にサービスを登録
サービスファイルは用意されているため、コピーして使う。
systemctl enable asterisk
は動作しないため、手動でリンクを張る。
cp ./contrib/systemd/asterisk* /etc/systemd/system/
ln -s /etc/systemd/system/asterisk.service /etc/systemd/system/multi-user.target.wants/asterisk.service
systemctl daemon-reload
Asteriskを起動・CLI接続
asterisk -r
でAsterisk CLIに接続できます。
systemctl start asterisk
asterisk -r
お疲れ様でした。
ここから先の設定については後日改めて書き起こそうと思います。