Sådan installeres Asterisk på CentOS/RHEL 8/7
Asterisk er en open source-ramme, der bruges til opbygning af kommunikationsapplikationer. Du kan bruge den til at vende en lokal computer eller server til kommunikationsserveren. Det bruges til at drive IP-PBX-systemer, VoIP-gateways, konferenceservere og andre løsninger. Det bruges af alle slags organisationer verden over og endelig, men ikke sidst er det gratis og open source.
I denne vejledning skal vi vise dig, hvordan du installerer Asterisk på CentOS 8/7 (instruktion fungerer også på RHEL 8/7), men inden vi starter, bliver vi nødt til at foretage nogle forberedelser, så Asterisk kan køre problemfrit efter installationen .
Trin 1: Deaktiver SELinux på CentOS
For at gøre dette skal du SSH til dit system og bruge din foretrukne kommandolinjeteksteditor, åbne/etc/selinux/config og deaktivere SELINUX.
# vim /etc/selinux/config
SELinux-linjen skal se sådan ud:
SELINUX=disabled
Genstart nu dit system. Når det kommer tilbage SSH igen til dette system.
Trin 2: Installer påkrævede pakker
Asterisk har en hel del krav, der skal installeres. Du kan bruge følgende yum-kommando til at installere de nødvendige pakker som vist.
# yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel
Inden vi fortsætter videre, skal du oprette en ny bruger med sudo-rettigheder kaldet “stjerne”, vi bruger denne bruger til at konfigurere en stjerne på systemet.
# adduser asterisk -c "Asterisk User" # passwd asterisk # usermod -aG wheel asterisk # su asterisk
Dernæst skal du installere PJSIP, et gratis open source multimediekommunikationsbibliotek, der implementerer standardbaserede protokoller såsom SIP, SDP, RTP, STUN, TURN og ICE. Det er Asterisk SIP-kanaldriveren, der skal forbedre klarheden i opkaldene.
For at få den nyeste version skal vi først oprette en midlertidig mappe, hvor vi bygger pakken fra kilden.
$ mkdir ~/build && cd ~/build
Gå nu til wget-kommandoen for at downloade pakken direkte i terminalen.
Bemærk, at ved at skrive denne artikel er den nyeste version 2.8, dette kan ændre sig i fremtiden, og sørg derfor for at bruge den nyeste version:
$ wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2
Når downloadet er afsluttet, skal du udpakke filen og skifte til den mappe.
$ tar xvjf pjproject-2.9.tar.bz2 $ cd pjproject-2.9
Det næste trin er at forberede pakken, der skal kompileres. Du kan bruge følgende kommando:
$ ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr
Du bør ikke se nogen fejl eller advarsler. Sørg for, at alle afhængigheder er opfyldt:
$ make dep
Og nu kan vi fuldføre installations- og linkbibliotekerne med:
$ make && sudo make install && sudo ldconfig
Endelig skal du sikre dig, at alle biblioteker er installeret og til stede:
$ ldconfig -p | grep pj
Du skal få følgende output:
libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2 libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2 libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2 libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2 libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2 libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2 libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2 libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2 libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2 libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2 libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2 libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2 libpj.so (libc6,x86-64) => /lib64/libpj.so
Trin 3: Installer Asterisk på CentOS 8/7
Vi er nu klar til at starte installationen af Asterisk. Naviger tilbage til vores ~/build-bibliotek:
$ cd ~/build
Gå til wget-kommandoen for at downloade filen i terminalen.
$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
Ved skrivningen af denne vejledning er den seneste Asterisk-version 16. Sørg for, at du downloader den nyeste version af Asterisk, når du følger trinene.
Uddrag nu arkivet og naviger til den nyoprettede mappe:
$ tar -zxvf asterisk-16-current.tar.gz $ cd asterisk-16.5.1
Det er på tide at nævne, at hvis du ønsker at aktivere mp3-support til at afspille musik, mens klienten er på hold, skal du installere et par flere afhængigheder. Disse trin er valgfri:
$ sudo yum install svn $ sudo ./contrib/scripts/get_mp3_source.sh
Efter det andet trin skal du få output svarende til disse:
A addons/mp3 A addons/mp3/Makefile A addons/mp3/README A addons/mp3/decode_i386.c A addons/mp3/dct64_i386.c A addons/mp3/MPGLIB_TODO A addons/mp3/mpg123.h A addons/mp3/layer3.c A addons/mp3/mpglib.h A addons/mp3/decode_ntom.c A addons/mp3/interface.c A addons/mp3/MPGLIB_README A addons/mp3/common.c A addons/mp3/huffman.h A addons/mp3/tabinit.c Exported revision 202.
Start med at køre konfigurationsscriptet for at forberede pakken til kompilering:
$ sudo contrib/scripts/install_prereq install $ ./configure --libdir=/usr/lib64 --with-jansson-bundled
Hvis du får manglende afhængigheder til at installere dem. I mit tilfælde fik jeg følgende fejl:
configure: error: patch is required to configure bundled pjproject
For at gå rundt om dette skal du bare køre:
# yum install patch
Og kør konfigurationsscriptet igen. Hvis alt gik perfekt uden fejl, vil du se følgende skærmbillede.
Lad os nu starte byggeprocessen:
$ make menuselect
Efter et par sekunder skal du få en liste over funktioner, der skal aktiveres:
Hvis du forsøger at bruge musik i venteposition, skal du aktivere funktionen "format_mp3" fra afsnittet "Tilføjelser". Gem din liste, og kør følgende kommando:
$ make && sudo make install
Brug kommandoen nedenfor for at installere eksemplet på konfigurationsfiler:
$ sudo make samples
For at starte Asterisk ved opstart skal du bruge:
$ sudo make config
Opdater ejerskabet af følgende kataloger og filer:
$ sudo chown asterisk. /var/run/asterisk $ sudo chown asterisk. -R /etc/asterisk $ sudo chown asterisk. -R /var/{lib,log,spool}/asterisk
Lad os endelig teste vores installation med:
$ sudo service asterisk start $ sudo asterisk -rvv
Du skal se output svarende til denne:
Asterisk 16.5.1, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <[email > Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details. This is free software, with components licensed under the GNU General Public License version 2 and other licenses; you are welcome to redistribute it under certain conditions. Type 'core show license' for details. ========================================================================= Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020) centos8-tecmint*CLI>
Hvis du vil se en liste over tilgængelige kommandoer, skal du skrive:
asterisk*CLI> core show help
For at afslutte Asterisk-prompten skal du blot skrive:
asterisk*CLI> exit
Asterisk kører stadig i baggrunden.
Nu har du en kørende Asterisk-server, og du kan begynde at forbinde telefoner og udvidelser og justere din konfiguration efter dine behov. For flere detaljer om, hvordan du opnår dette, anbefales det at bruge Asterisk Wiki-siden. Hvis du har spørgsmål eller kommentarer, så lad os det vide i kommentarfeltet nedenfor.