この記事では、オープンソース通信ソフトウェアAsteriskをRHEL 8 /CentOS8にインストールする方法について説明します。アスタリスクやその他の重要な依存関係はリポジトリからRPMパッケージとして利用できないため、ソースからコンパイルする必要があります。
このチュートリアルでは、次のことを学びます。
- Asteriskをインストールするための前提条件はどれですか
- ソースからアスタリスクをコンパイルする方法
- アスタリスクの開始方法
- アスタリスクを再構成または削除する方法
- Asteriskコマンドラインインターフェースにアクセスする方法
RHEL 8 /CentOS8でのAsterisksystemdサービスの起動出力
使用されるソフトウェア要件と規則
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
RHEL 8 / CentOS 8 | |
アスタリスク、pjsip、libedit | |
構成されたローカルまたはリモートのリポジトリ。正しいシステムの日付とタイムゾーン。 | |
# –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
はじめに
Asteriskはオープンソースの構内交換機(PBX)ソフトウェアであるため、その主な目的は、従来のPSTN回線または最新のVoIPエンドポイントを介して、さまざまなシステム間の通話を確立および制御することです。
このガイドでは、次のことを確認します。これは、一般的なコンポーネントとともにRHEL 8 /CentOS8にインストールされます。
RHEL 8 / CentOS 8へのAsteriskのインストール–ステップバイステップ。
このチュートリアルの執筆時点では、最後のバージョンである16.3.0を使用します。
- 前提条件
systemd-devel
を含む以下のパッケージをインストールする必要があります Asteriskをsystemdサービスとして開始したい場合。# dnf -y install wget bzip2 tar sqlite-devel ncurses-devel systemd-devel
そして、ソースから開発するには:
# dnf -y install binutils gcc gcc-c++ kernel-devel autoconf automake libtool
これからは、ソースからすべてをインストールする必要があるので、共通のフォルダーからインストールしましょう
# mkdir -p /root/src && cd /root/src
まず、
libedit
をコンパイルします 、GNUreadlineコマンドライン編集の代替または代替。# cd /root/src # wget http://thrysoee.dk/editline/libedit-20190324-3.1.tar.gz # tar xzvf libedit-20190324-3.1.tar.gz # cd libedit-20190324-3.1 # ./configure && make && make install
- オプションのコンポーネントのインストール
次のコンポーネントはオプションですが、実際のシナリオでは非常に頻繁に必要になります。DAHDI
(Digium / Asteriskハードウェアデバイスインターフェイス):Asteriskのデジタルテレフォニーカードとインターフェイスするためのフレームワークです。
インストールしましょう。# cd /root/src # wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz # tar zxvf dahdi-linux-complete-current.tar.gz && cd dahdi-linux-complete-3.0.0+3.0.0 # make all && make install && make install-config # cd /etc/dahdi && cp system.conf.sample system.conf # systemctl enable dahdi && systemctl start dahdi # modprobe dahdi # modprobe dahdi_transcode
を有効にしますLibPRIは、ISDN(PRIおよびBRI)のサポートを追加するライブラリであり、基本的に、レガシーシステムと通信するためにISDNカードをインストールする場合に必要です。
インストールするには:
# cd /root/src/ # wget http://downloads.asterisk.org/pub/telephony/libpri/libpri-1.6.0.tar.gz # tar xzvf libpri-1.6.0 && cd libpri-1.6.0 # make && make install
- Asteriskのインストール
次に、前述のように、ソースからメインアプリケーションをコンパイルします。
これにより、SIPライブラリpjsip
もインストールされます。 システムに。# cd /root/src/ # wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16.3.0.tar.gz # tar xzvf asterisk-16.3.0.tar.gz # wget https://raw.githubusercontent.com/asterisk/third-party/master/pjproject/2.8/pjproject-2.8.tar.bz2 # mv pjproject-2.8.tar.bz2 /tmp # cd asterisk-16.3.0 # ./configure # make && make install && make install-logrotate
make install-logrotate
を使用 アプリケーションログファイルがローテーションされることを確認します。 - アスタリスクの構成
アスタリスクには多くの構成ファイルがあり、メインはasterisk.conf
です。;それらすべてのデフォルトバージョンをインストールするには、実行する必要があります:# cd /root/src/asterisk-16.3.0/ # make samples
この時点で、一部のモジュールまたは機能には追加の構成または依存関係が必要なため、それらを無効にすることをお勧めします。
ただし、これは必須ではなく、Asteriskの起動を妨げる必須のコンポーネントではありません。#cd /etc/asterisk # cp modules.conf modules.conf.org # echo "noload => res_config_ldap.so" >>modules.conf # echo "noload => res_pjsip_transport_websocket.so" >>modules.conf # echo "noload => cdr_sqlite3_custom.so" >>modules.conf # echo "noload => cel_sqlite3_custom.so" >>modules.conf # echo "noload => res_config_sqlite3.so" >>modules.conf # echo "noload => cdr_pgsql.so" >>modules.conf # echo "noload => cel_pgsql.so" >>modules.conf # echo "noload => res_config_pgsql.so" >>modules.conf sed -i.org 's/enabled = yes/enabled = no/' ari.conf
その後、systemdサービスファイルを準備します。
# cd /root/src/asterisk-16.3.0/contrib/systemd # cp asterisk* /usr/lib/systemd/system
セキュリティ上の理由から、アスタリスクサービスは通常のユーザーとして実行する必要があるため、
asterisk
と呼ばれるサービスIDを追加する必要があります。 systemd構成ファイルで指定されているとおりです。# useradd -m -c "asterisk user"
次に、いくつかの権限を変更しましょう:
chown -R asterisk:asterisk /var/log/asterisk/* chown asterisk:asterisk /var/log/asterisk/.
- Asteriskを起動する
SELinuxはAsteriskを起動できないため、permissive mode
にします。 簡単にするために。# setenforce 0 # sed -i.org 's/enforcing/permissive/' /etc/sysconfig/selinux
最後に、アスタリスクを開始できます
# systemctl enable asterisk # systemctl start asterisk
次のコマンドを発行することで、systemdを使用せずにAsteriskを直接実行することもできます。
# /usr/sbin/asterisk -mqf -C /etc/asterisk/asterisk.conf
以上
# asterisk -vvvc
詳細な情報を取得します。
直接起動した場合のアスタリスク出力 - アスタリスクの再構成
機能を削除または(再)追加することで、いつでもアスタリスクを再構成できます。
サービスを停止し、ソースフォルダーに変更して、make menuselect
。 アスタリスクメニュー選択# systemctl stop asterisk # cd /root/src/asterisk-16.3.0/ # make menuselect
変更を加えた場合は、メニューを終了する前に構成を保存する必要があります。メニューを選択してください。
その後、上記のようにアスタリスクを再コンパイルする必要があります。最初にテスト環境で変更を加えることをお勧めします。 - Asterikの削除
システムからAsteriskを削除する必要がある場合(Dahdiやlibpriを含む)の手順は次のとおりです。# systemctl stop dahdi # systemctl stop asterisk # cd /root/src/asterisk-16.3.0 # make uninstall-all cd /root/src/libpri-1.6.0 && make uninstall
- Asterisk CLIへのアクセス
このソフトウェアにはシェルもあります。このソフトウェアにアクセスするには、Asteriskを起動したら、次のように入力する必要があります。# asterisk -r
アスタリスクCLI
結論
ソースからAsteriskを正常にコンパイルして開始しましたが、作業環境を取得するには十分ではありません。通常、インストール後、構成ファイルsip.conf
を編集してSIPエンドポイントを追加します –または前述のCLIを使用して–ファイルextensions.conf
で拡張子を設定します 。どちらのファイルも/etc/asteriskにあります。