Recherche de site Web

Comment installer asterisk sur RHEL 8/CentOS 8 Linux


Cet article décrira comment installer le logiciel de communication open source Asterisk sur RHEL 8/CentOS 8 ; en raison du fait qu’Asterisk et d’autres dépendances importantes ne sont pas disponibles en tant que paquets RPM à partir des dépôts, il est nécessaire de les compiler à partir des sources.

Dans ce tutoriel, vous allez apprendre :

  • Quels sont les pré-requis pour installer Asterisk
  • Comment compiler Asterisk à partir des sources
  • Comment démarrer Asterisk
  • Comment reconfigurer ou supprimer Asterisk
  • Comment accéder à l’interface de ligne de commande d’Asterisk

Sortie de démarrage du service Asterisk systemd sur RHEL 8/CentOS 8

Configuration logicielle requise et conventions utilisées

CatégorieExigences, conventions ou version du logiciel utilisé
SystèmeRHEL 8/CentOS 8
LogicielAstérisque, pjsip, libedit
Autredépôts locaux ou distants configurés ; Date et fuseau horaire corrects du système.
Conventions# – nécessite que les commandes Linux données soient exécutées avec les privilèges root, soit directement en tant qu’utilisateur root, soit en utilisant la commande sudo
$ – nécessite que les commandes Linux données soient exécutées en tant qu’utilisateur régulier non privilégié

Introduction

Asterisk est un logiciel d’échange de succursales privées (PBX) open source, et en tant que tel, son objectif principal est d’établir et de contrôler les appels téléphoniques entre divers systèmes, via des lignes RTC traditionnelles ou des points de terminaison VoIP modernes.
Dans ce guide, nous nous assurerons qu’il sera installé dans RHEL 8/CentOS 8 avec les composants courants.

Installation d’Asterisk sur RHEL 8/CentOS 8 – étape par étape.

Nous mettrons la dernière version – la 16.3.0 au moment de la rédaction de ce tutoriel.

  1. Pré-requis

    Nous devons installer les paquets ci-dessous, y compris systemd-devel, si nous voulons démarrer Asterisk en tant que service systemd.

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

    Et de développer à partir des sources :

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

    À partir de maintenant, nous devons tout installer à partir des sources, alors faisons-le à partir d’un dossier commun

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

    Tout d’abord, nous allons compiler libedit, un remplacement ou une alternative à l’édition en ligne de commande GNU readline.

    
    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. Installation de composants optionnels
    Les composants suivants sont facultatifs, mais dans un scénario réel, ils sont très souvent nécessaires.

    DAHDI (Digium/Asterisk Hardware Device Interface) : il s’agit d’un cadre d’interfaçage avec les cartes de téléphonie numérique dans Asterisk.
    Installons-le.

    
    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 est une bibliothèque qui ajoute la prise en charge de l’ISDN (PRI et BRI), essentiellement nécessaire si l’installation d’une carte ISDN pour communiquer avec les systèmes existants.

    Pour l’installer :

    
    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. Installation d’Asterisk
    Il est maintenant temps de compiler l’application principale à partir des sources - comme mentionné.
    Cela installera également la bibliothèque SIP pjsip dans le système.

    
    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
    

    Avec make install-logrotate, nous nous assurons que les fichiers journaux de l’application seront pivotés.

  4. Configuration d’Asterisk
    Dans Asterisk, il y a beaucoup de fichiers de configuration, le principal est asterisk.conf ; Pour installer une version par défaut de tous, nous devons exécuter :

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

    À ce stade, étant donné que certains modules ou fonctionnalités nécessitent une configuration ou des dépendances supplémentaires, il est préférable de les désactiver.
    Cependant, ce n’est pas obligatoire, ce ne sont pas des composants essentiels empêchant Asterisk de démarrer.

    
    #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 
    

    Ensuite, il est temps de préparer les fichiers de service systemd :

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

    Le service Asterisk doit fonctionner comme un utilisateur normal, pour des raisons de sécurité, nous devons donc ajouter un ID de service qui sera appelé asterisk comme spécifié dans le fichier de configuration systemd.

    useradd -m -c "asterisk user"
    
    

    Ensuite, modifions certaines autorisations :

    
    chown -R asterisk:asterisk /var/log/asterisk/*
    chown  asterisk:asterisk /var/log/asterisk/.
    
  5. Le démarrage d’Asterisk
    SELinux empêchera Asterisk de démarrer, nous le mettons donc en mode permissif par souci de simplicité.

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

    Enfin, nous pouvons commencer Asterisk

    
    systemctl enable asterisk
    systemctl start asterisk
    

    Vous pouvez également exécuter Asterisk directement sans systemd en sortant :

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

    ou mieux

    asterisk -vvvc

    pour obtenir des informations détaillées.

    Sortie d’astérisque lors du lancement direct

  6. Reconfiguration d’Asterisk
    Il est possible à tout moment de reconfigurer Astering en supprimant ou en (re)ajoutant n’importe quelle fonctionnalité.
    Il suffit d’arrêter le service, de passer au dossier source et d’exécuter make menuselect.

    Astérisque menu sélectionner

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

    Si vous avez effectué une modification, vous devez enregistrer la configuration avant de quitter le menu-select menu.
    Après est nécessaire pour recompiler Asterisk comme expliqué ci-dessus. Il est préférable d’effectuer d’abord toute modification dans un environnement de test.

  7. Suppression d’Asterik
    Si jamais vous devez supprimer Asterisk du système – y compris Dahdi et libpri – voici les étapes à suivre :

    
    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. Accéder à Asterisk CLI
    Ce logiciel a également son shell, pour y accéder – une fois Asterisk démarré – nous devons taper :

    asterisk -r 

    ACI astérisque

Conclusion

Nous avons réussi à compiler Asterisk à partir de sources et à le démarrer, mais il ne suffit pas d’obtenir un environnement de travail ; généralement, après l’installation, vous ajouterez vos points de terminaison SIP en modifiant le fichier de configuration sip.conf - ou via l’interface de ligne de commande mentionnée - et configurerez n’importe quelle extension dans le fichier extensions.conf. Les deux fichiers sont dans /etc/asterisk.

Articles connexes: