Hoe asterisk te installeren op RHEL 8 / CentOS 8 Linux

  • Noah Scott
  • 0
  • 1444
  • 107
>

In dit artikel wordt beschreven hoe u de open source communicatiesoftware Asterisk op RHEL 8 / CentOS 8 installeert; vanwege het feit dat Asterisk en andere belangrijke afhankelijkheden niet beschikbaar zijn als RPM-pakketten vanuit de repositories, is het nodig om ze te compileren vanuit bronnen.

In deze tutorial leer je:
  • Wat zijn de vereisten om Asterisk te installeren
  • Hoe Asterisk uit bronnen te compileren
  • Hoe Asterisk te starten
  • Hoe Asterisk opnieuw te configureren of te verwijderen
  • Toegang krijgen tot de Asterisk-opdrachtregelinterface
Asterisk systemd service opstartuitvoer op RHEL 8 / CentOS 8

Gebruikte softwarevereisten en -conventies

Softwarevereisten en Linux Command Line-conventies
Categorie Vereisten, conventies of gebruikte softwareversie
Systeem RHEL 8 / CentOS 8
Software Asterisk, pjsip, libedit
Andere lokale of externe repositories geconfigureerd; juiste systeemdatum en tijdzone.
Conventies # - vereist dat gegeven linux-commando's worden uitgevoerd met root-privileges, hetzij direct als rootgebruiker, hetzij door gebruik van sudo opdracht
$ - vereist dat gegeven linux-commando's worden uitgevoerd als een gewone niet-geprivilegieerde gebruiker

Invoering

Asterisk is een open source PBX-software (Private Branch Exchange) en als zodanig is het belangrijkste doel om telefoongesprekken tussen verschillende systemen tot stand te brengen en te beheren, via traditionele PSTN-lijnen of moderne VoIP-eindpunten. In deze handleiding zullen we ervoor zorgen dat het wordt geïnstalleerd in RHEL 8 / CentOS 8, samen met gemeenschappelijke componenten.

Asterisk installeren op RHEL 8 / CentOS 8 - stap voor stap.

We zullen de laatste versie plaatsen - de 16.3.0 op het moment dat deze tutorial werd geschreven.

  1. Eerste vereisten
    We moeten de onderstaande pakketten installeren, inclusief systemd-devel als we Asterisk willen starten als een systeemservice.
     # dnf -y installeer wget bzip2 tar sqlite-devel ncurses-devel systemd-devel 
    En om uit bronnen te ontwikkelen:
     # dnf -y installeer binutils gcc gcc-c ++ kernel-devel autoconf automake libtool 
    Vanaf nu moeten we alles vanuit bronnen installeren, dus laten we het vanuit een gemeenschappelijke map doen
    # mkdir -p / root / src && cd / root / src

    Eerst gaan we compileren libedit, een vervanging of alternatief voor het bewerken van de GNU-opdrachtregel in de leesregel.
     # 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 # ./configuratie && make && make install 
  2. Optionele componenten installeren
    De volgende componenten zijn optioneel, maar in een echt scenario zijn ze vaak nodig. DAHDI (Digium / Asterisk Hardware Device Interface): het is een raamwerk voor interfacing met digitale telefoniekaarten in Asterisk. Laten we het installeren.
     # cd / root / src # wget https://downloads.asterisk.org/pub/telephony/dahdi-linux-complete/dahdi-linux-complete-current.tar.gz # tar zxvf dahdi-linux-compleet-actueel. 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 is een bibliotheek die ondersteuning voor ISDN (PRI en BRI) toevoegt, wat in principe nodig is bij het installeren van een ISDN-kaart om te communiceren met oudere systemen. Om het te installeren:
     # 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 installeren
    Nu is het tijd om de hoofdtoepassing uit bronnen te compileren - zoals vermeld.
    Hiermee wordt ook de SIP-bibliotheek geïnstalleerd pjsip in het systeem.
     # 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 
    Met make install-logrotate we zorgen ervoor dat de applicatielogbestanden worden geroteerd.
  4. Asterisk configureren
    In Asterisk zijn er veel configuratiebestanden, de belangrijkste is asterisk.conf; om een ​​standaardversie van allemaal te installeren, moeten we het volgende uitvoeren:
     # cd /root/src/asterisk-16.3.0/ # maak voorbeelden 
    Op dit punt, aangezien sommige modules of features verdere configuratie of afhankelijkheden vereisen, is het beter om ze uit te schakelen. Dit is echter niet verplicht, het zijn geen essentiële componenten die voorkomen dat Asterisk opstart.
     #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 = nee / 'ari.conf 


    Daarna is het tijd om de systeemservicebestanden voor te bereiden:
     # cd /root/src/asterisk-16.3.0/contrib/systemd # cp asterisk * / usr / lib / systemd / system 
    De Asterisk-service moet om veiligheidsredenen als een normale gebruiker worden uitgevoerd, dus we moeten een service-ID toevoegen die wordt gebeld asterisk zoals gespecificeerd in het systemd-configuratiebestand.
    # useradd -m -c "asterisk gebruiker" 
    Laten we dan enkele machtigingen wijzigen:
     chown -R asterisk: asterisk / var / log / asterisk / * chown asterisk: asterisk / var / log / asterisk /. 
  5. Asterisk starten
    SELinux zal voorkomen dat Asterisk opstart, dus we plaatsen het in tolerante modus voor de eenvoud.
     # setenforce 0 # sed -i.org 's / enforcing / permissive /' / etc / sysconfig / selinux 
    Eindelijk kunnen we Asterisk starten
     # systemctl asterisk inschakelen # systemctl startsterisk 
    U kunt Asterisk ook rechtstreeks zonder systemd uitvoeren door het volgende uit te geven:
    # / usr / sbin / asterisk -mqf -C /etc/asterisk/asterisk.conf
    of beter
    # asterisk -vvvc
    om uitgebreide info te krijgen. Asterisk-uitvoer wanneer deze direct wordt gestart
  6. Asterisk opnieuw configureren
    Het is op elk moment mogelijk om Astering opnieuw te configureren door een functie te verwijderen of (opnieuw) toe te voegen.
    Stop gewoon de service, ga naar de bronmap en voer uit maak menuselectie.
    Asterisk-menu selecteren
     # systemctl stop asterisk # cd /root/src/asterisk-16.3.0/ # maak menuselect 
    Als u een wijziging heeft aangebracht, moet u de configuratie opslaan voordat u het menu-selectiemenu verlaat.
    Daarna is het nodig om Asterisk opnieuw te compileren zoals hierboven uitgelegd. Het is beter om eerst een wijziging in een testomgeving door te voeren.
  7. Asterik verwijderen
    Als u ooit Asterisk uit het systeem moet verwijderen - inclusief Dahdi en libpri - zijn hier de stappen:
     # 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. Toegang tot Asterisk CLI
    Deze software heeft ook een shell, om toegang te krijgen - als Asterisk eenmaal is gestart - moeten we typen:
    # asterisk -r 
    Asterisk CLI

Gevolgtrekking

We hebben Asterisk met succes uit bronnen gecompileerd en gestart, maar het is niet voldoende om een ​​werkomgeving te krijgen; doorgaans voegt u na de installatie uw SIP-eindpunten toe door het configuratiebestand te bewerken sip.conf - of via de genoemde CLI - en configureer elke extensie in het bestand extensions.conf. Beide bestanden staan ​​in / etc / asterisk.




Niemand heeft nog op dit artikel gereageerd.

Een verzameling nuttige informatie over het Linux-besturingssysteem en nieuwe technologieën
Nieuwe artikelen, praktische tips, gedetailleerde recensies en handleidingen. Voel je thuis in de wereld van het Linux-besturingssysteem