GNU/Linux >> Linux Esercitazione >  >> Cent OS

Come installare l'asterisco su RHEL 8 / CentOS 8 Linux

Questo articolo descriverà come installare il software di comunicazione open source Asterisk su RHEL 8 / CentOS 8; poiché Asterisk e altre importanti dipendenze non sono disponibili come pacchetti RPM dai repository, è necessario compilarli dai sorgenti.

In questo tutorial imparerai:

  • Quali sono i prerequisiti per installare Asterisk
  • Come compilare Asterisk dai sorgenti
  • Come avviare Asterisk
  • Come riconfigurare o rimuovere Asterisk
  • Come accedere all'interfaccia della riga di comando di Asterisk

Output di avvio del servizio di sistema Asterisk su RHEL 8 / CentOS 8

Requisiti e convenzioni software utilizzati

Requisiti software e convenzioni della riga di comando Linux
Categoria Requisiti, convenzioni o versione del software utilizzata
Sistema RHEL 8 / CentOS 8
Software Asterisco, pjsip, libedit
Altro repository locali o remoti configurati; data e fuso orario di sistema corretti.
Convenzioni # – richiede che i comandi linux dati vengano eseguiti con i privilegi di root direttamente come utente root o usando sudo comando
$ – richiede che i comandi linux dati vengano eseguiti come un normale utente non privilegiato

Introduzione

Asterisk è un software PBX (Private Branch Exchange) open source e, come tale, il suo scopo principale è quello di stabilire e controllare le chiamate telefoniche tra vari sistemi, tramite linee PSTN tradizionali o moderni endpoint VoIP.
In questa guida ci assicureremo verrà installato in RHEL 8 / CentOS 8 insieme ai componenti comuni.

Installazione di Asterisk su RHEL 8 / CentOS 8 – passo dopo passo.

Metteremo l'ultima versione:la 16.3.0 al momento della stesura di questo tutorial.

  1. Prerequisiti

    Abbiamo bisogno di installare i seguenti pacchetti, incluso systemd-devel se vogliamo avviare Asterisk come servizio systemd.

    # dnf -y install wget bzip2 tar sqlite-devel ncurses-devel systemd-devel 
    

    E per sviluppare dalle fonti:

    # dnf -y install binutils gcc gcc-c++ kernel-devel autoconf automake libtool 
    

    D'ora in poi dobbiamo installare tutto dai sorgenti, quindi facciamolo da una cartella comune

    # mkdir -p /root/src && cd /root/src

    Per prima cosa compileremo libedit , una sostituzione o un'alternativa alla modifica della riga di comando della riga di comando GNU.

    # 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. Installazione di componenti opzionali
    I seguenti componenti sono opzionali, ma in uno scenario reale sono molto spesso necessari.

    DAHDI (Digium/Asterisk Hardware Device Interface):è un framework per interfacciarsi con le schede di telefonia digitale in Asterisk.
    Installiamolo.

    # 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 è una libreria che aggiunge il supporto per ISDN (PRI e BRI), fondamentalmente è necessaria se si installa una scheda ISDN per comunicare con i sistemi legacy.

    Per installarlo:

    # 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. Installazione di Asterisk
    Ora è il momento di compilare l'applicazione principale dai sorgenti, come accennato.
    Questo installerà anche la libreria SIP pjsip nel sistema.

    # 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
    

    Con make install-logrotate ci assicuriamo che i file di registro dell'applicazione vengano ruotati.

  4. Configurazione di Asterisk
    In Asterisk ci sono molti file di configurazione, il principale è asterisk.conf; per installare una versione predefinita di tutti loro dobbiamo eseguire:

    # cd /root/src/asterisk-16.3.0/
    # make samples
    

    A questo punto, poiché alcuni moduli o funzionalità richiedono ulteriori configurazioni o dipendenze, è meglio disabilitarli.
    Tuttavia, questo non è obbligatorio, non sono componenti essenziali che impediscono l'avvio di 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 
    

    Successivamente è il momento di preparare i file del servizio systemd:

    # cd /root/src/asterisk-16.3.0/contrib/systemd
    # cp asterisk* /usr/lib/systemd/system
    

    Il servizio Asterisk dovrebbe essere eseguito come un utente normale, per motivi di sicurezza, quindi è necessario aggiungere un ID servizio che si chiamerà asterisk come specificato nel file di configurazione di systemd.

    # useradd -m -c "asterisk user"
    
    

    Quindi cambiamo alcuni permessi:

    chown -R asterisk:asterisk /var/log/asterisk/*
    chown  asterisk:asterisk /var/log/asterisk/.
    
  5. Avviare Asterisk
    SELinux impedirà l'avvio di Asterisk, quindi lo stiamo mettendo in permissive mode per semplicità.

    # setenforce 0
    # sed -i.org 's/enforcing/permissive/' /etc/sysconfig/selinux
    

    Finalmente possiamo avviare Asterisk

    # systemctl enable asterisk
    # systemctl start asterisk
    

    Puoi anche eseguire Asterisk direttamente senza systemd emettendo:

    # /usr/sbin/asterisk -mqf -C /etc/asterisk/asterisk.conf

    o meglio

    # asterisk -vvvc

    per ottenere informazioni dettagliate.

    Output di asterisco quando lanciato direttamente

  6. Riconfigurazione di Asterisk
    È possibile in qualsiasi momento riconfigurare Astering rimuovendo o (ri)aggiungendo qualsiasi funzionalità.
    Basta interrompere il servizio, passare alla cartella di origine ed eseguire make menuselect .

    Seleziona dal menu asterisco

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

    Se sono state apportate modifiche è necessario salvare la configurazione prima di uscire dal menu di selezione del menu.
    Dopo è necessario ricompilare nuovamente Asterisk come spiegato sopra. È meglio apportare prima qualsiasi modifica in un ambiente di test.

  7. Rimozione di Asterik
    Se è necessario rimuovere Asterisk dal sistema, inclusi Dahdi e libpri, ecco i passaggi:

    # 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. Accesso alla CLI di Asterisk
    Questo software ha anche la sua shell, per accedervi – una volta avviato Asterisk – dobbiamo digitare:

    # asterisk -r 

    Asterisco CLI

Conclusione

Abbiamo compilato con successo Asterisk dai sorgenti e l'abbiamo avviato, tuttavia non è sufficiente ottenere un ambiente di lavoro; in genere dopo l'installazione aggiungerai i tuoi endpoint SIP modificando il file di configurazione sip.conf – o tramite la CLI menzionata – e configurare qualsiasi estensione nel file extensions.conf . Entrambi i file sono in /etc/asterisk.


Cent OS
  1. Come installare redmine su RHEL 8 / CentOS 8 Linux

  2. Come installare Hadoop su RHEL 8 / CentOS 8 Linux

  3. Come installare Perl su RHEL 8 / CentOS 8 Linux

  4. Come installare Apache Tomcat su Linux RHEL 8 / CentOS 8

  5. Come installare il server DNS su RHEL 8 / CentOS 8 Linux

Come installare il file bin in RHEL 8 / CentOS 8 Linux

Come installare VLC Player su CentOS 8 / RHEL 8 Linux

Come installare WordPress su RHEL 8 / CentOS 8 Linux

Come installare GIMP su CentOS 8 / RHEL 8 Linux

Come installare Asterisk su CentOS 7

Come installare Asterisk 18 su CentOS 8