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égorie | Exigences, conventions ou version du logiciel utilisé |
|---|---|
| Système | RHEL 8/CentOS 8 |
| Logiciel | Astérisque, pjsip, libedit |
| Autre | dé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.
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-develEt 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/srcTout 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 installInstallation 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_transcodeLibPRI 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 installInstallation d’Asterisk
Il est maintenant temps de compiler l’application principale à partir des sources - comme mentionné.
Cela installera également la bibliothèque SIPpjsipdans 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-logrotateAvec
make install-logrotate,nous nous assurons que les fichiers journaux de l’application seront pivotés.Configuration d’Asterisk
Dans Asterisk, il y a beaucoup de fichiers de configuration, le principal estasterisk.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.confEnsuite, 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/systemLe 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é
asteriskcomme 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/.Le démarrage d’Asterisk
SELinux empêchera Asterisk de démarrer, nous le mettons donc enmode permissifpar souci de simplicité.setenforce 0 sed -i.org 's/enforcing/permissive/' /etc/sysconfig/selinuxEnfin, nous pouvons commencer Asterisk
systemctl enable asterisk systemctl start asteriskVous pouvez également exécuter Asterisk directement sans systemd en sortant :
/usr/sbin/asterisk -mqf -C /etc/asterisk/asterisk.confou mieux
asterisk -vvvcpour obtenir des informations détaillées.
Sortie d’astérisque lors du lancement direct
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écutermake menuselect.Astérisque menu sélectionner
systemctl stop asterisk cd /root/src/asterisk-16.3.0/ make menuselectSi 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.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 uninstallAccéder à Asterisk CLI
Ce logiciel a également son shell, pour y accéder – une fois Asterisk démarré – nous devons taper :asterisk -rACI 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.



