GNU/Linux >> Linux の 問題 >  >> Cent OS

RHEL 8 / CentOS8Linuxにアスタリスクをインストールする方法

この記事では、オープンソース通信ソフトウェアAsteriskをRHEL 8 /CentOS8にインストールする方法について説明します。アスタリスクやその他の重要な依存関係はリポジトリからRPMパッケージとして利用できないため、ソースからコンパイルする必要があります。

このチュートリアルでは、次のことを学びます。

  • Asteriskをインストールするための前提条件はどれですか
  • ソースからアスタリスクをコンパイルする方法
  • アスタリスクの開始方法
  • アスタリスクを再構成または削除する方法
  • Asteriskコマンドラインインターフェースにアクセスする方法

RHEL 8 /CentOS8でのAsterisksystemdサービスの起動出力

使用されるソフトウェア要件と規則

システム ソフトウェア その他 規約
ソフトウェア要件とLinuxコマンドラインの規則
カテゴリ 使用する要件、規則、またはソフトウェアバージョン
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を使用します。

  1. 前提条件

    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
    
  2. オプションのコンポーネントのインストール
    次のコンポーネントはオプションですが、実際のシナリオでは非常に頻繁に必要になります。

    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
    
  3. 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を使用 アプリケーションログファイルがローテーションされることを確認します。

  4. アスタリスクの構成
    アスタリスクには多くの構成ファイルがあり、メインは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/.
    
  5. 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

    詳細な情報を取得します。

    直接起動した場合のアスタリスク出力

  6. アスタリスクの再構成
    機能を削除または(再)追加することで、いつでもアスタリスクを再構成できます。
    サービスを停止し、ソースフォルダーに変更して、make menuselect

    アスタリスクメニュー選択

    # systemctl stop asterisk
    # cd /root/src/asterisk-16.3.0/
    # make menuselect
    

    変更を加えた場合は、メニューを終了する前に構成を保存する必要があります。メニューを選択してください。
    その後、上記のようにアスタリスクを再コンパイルする必要があります。最初にテスト環境で変更を加えることをお勧めします。

  7. 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
    
  8. Asterisk CLIへのアクセス
    このソフトウェアにはシェルもあります。このソフトウェアにアクセスするには、Asteriskを起動したら、次のように入力する必要があります。

    # asterisk -r 

    アスタリスクCLI

結論

ソースからAsteriskを正常にコンパイルして開始しましたが、作業環境を取得するには十分ではありません。通常、インストール後、構成ファイルsip.confを編集してSIPエンドポイントを追加します –または前述のCLIを使用して–ファイルextensions.confで拡張子を設定します 。どちらのファイルも/etc/asteriskにあります。


Cent OS
  1. RHEL 8 / CentOS8Linuxにredmineをインストールする方法

  2. RHEL 8 / CentOS8LinuxにHadoopをインストールする方法

  3. RHEL 8 / CentOS8LinuxにDNSサーバーをインストールする方法

  1. RHEL 8 / CentOS8LinuxにPerlをインストールする方法

  2. Linux RHEL 8 /CentOS8にapachetomcatをインストールする方法

  3. RHEL 8 / CentOS8Linuxにnode.jsをインストールする方法

  1. RHEL 8 / CentOS8LinuxにXdebugをインストールする方法

  2. RHEL 8 / CentOS8LinuxにApacheをインストールする方法

  3. RHEL 8 / CentOS8Linuxにwiresharkをインストールする方法