「Asterisk Startup systemd」の版間の差分
ナビゲーションに移動
検索に移動
編集の要約なし |
編集の要約なし |
||
1行目: | 1行目: | ||
[[カテゴリ:Asterisk]] | [[カテゴリ:Asterisk]] | ||
systemdは2010年頃から、それまでのSystem V initに代わって導入された、システム・サービスマネージャです。 | |||
Asteriskは16頃から、systemdとの連携に対応しており、systemdと連携することにより、Asteriskの起動成功をsystemdに報告することができます。 | |||
:参考:https://github.com/asterisk/asterisk/commit/07b95f7c65b7c083724f1af2b26f93cc22cad58c | |||
==systemd連携を利用する== | |||
configureを実行する前に、Debian系列ではlibsystemd-dev、RedHatの系列ではsystemd-develをインストールしておきます。 | |||
その後Asteriskをビルドします。 | |||
ビルドが済んだasteriskの実行ファイルにlddを実行し、libsystemdへのリンクが表示されれば、systemdと連携するAsteriskがビルドできています。 | |||
<nowiki>$ ldd /usr/sbin/asterisk | |||
(略) | |||
libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007fe58cda0000)</nowiki> | |||
現在では、<code>make config</code>でインストールされるsystemdユニットファイルはsystemdとの連携を利用する形式になっています。 | |||
==systemdと連携しない場合== | |||
systemdとの連携機能を使用せず、単にsystemdにAsteriskを起動するだけをさせたい場合、以下の内容で /etc/systemd/system/asterisk.service ファイルを作成します。<br> | |||
:出所 https://community.asterisk.org/t/solved-centos-7-compatible-init-d-or-systemd-script-for-asterisk-13/66359<br> | :出所 https://community.asterisk.org/t/solved-centos-7-compatible-init-d-or-systemd-script-for-asterisk-13/66359<br> | ||
[Unit] | [Unit] | ||
Description=Asterisk PBX and telephony daemon | Description=Asterisk PBX and telephony daemon | ||
28行目: | 46行目: | ||
WantedBy=multi-user.target | WantedBy=multi-user.target | ||
User/Groupをasteriskにする場合にはコメントを外してください。<br> | User/Groupをasteriskにする場合にはコメントを外してください。<br> | ||
==起動と終了== | |||
以下を実行して起動します。 | 以下を実行して起動します。 | ||
systemctl daemon-reload | systemctl daemon-reload | ||
systemctl enable | systemctl enable | ||
systemctl start asterisk | systemctl start asterisk |
2025年9月2日 (火) 19:39時点における最新版
systemdは2010年頃から、それまでのSystem V initに代わって導入された、システム・サービスマネージャです。
Asteriskは16頃から、systemdとの連携に対応しており、systemdと連携することにより、Asteriskの起動成功をsystemdに報告することができます。
systemd連携を利用する
configureを実行する前に、Debian系列ではlibsystemd-dev、RedHatの系列ではsystemd-develをインストールしておきます。 その後Asteriskをビルドします。
ビルドが済んだasteriskの実行ファイルにlddを実行し、libsystemdへのリンクが表示されれば、systemdと連携するAsteriskがビルドできています。
$ ldd /usr/sbin/asterisk (略) libsystemd.so.0 => /lib64/libsystemd.so.0 (0x00007fe58cda0000)
現在では、make config
でインストールされるsystemdユニットファイルはsystemdとの連携を利用する形式になっています。
systemdと連携しない場合
systemdとの連携機能を使用せず、単にsystemdにAsteriskを起動するだけをさせたい場合、以下の内容で /etc/systemd/system/asterisk.service ファイルを作成します。
[Unit] Description=Asterisk PBX and telephony daemon Documentation=man:asterisk(8) Wants=network.target After=network.target [Service] Type=simple #User=asterisk #Group=asterisk Environment=HOME=/var/lib/asterisk WorkingDirectory=/var/lib/asterisk ExecStart=/usr/sbin/asterisk -f -C /etc/asterisk/asterisk.conf ExecStop=/usr/sbin/asterisk -rx 'core stop now' ExecReload=/usr/bin/asterisk -rx 'core reload' # safe_asterisk emulation Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
User/Groupをasteriskにする場合にはコメントを外してください。
起動と終了
以下を実行して起動します。
systemctl daemon-reload systemctl enable systemctl start asterisk