GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat hvězdičku na RHEL 8 / CentOS 8 Linux

Tento článek popisuje, jak nainstalovat open source komunikační software Asterisk na RHEL 8 / CentOS 8; vzhledem k tomu, že Asterisk a další důležité závislosti nejsou dostupné jako RPM balíčky z repozitářů, je potřeba je zkompilovat ze zdrojů.

V tomto tutoriálu se naučíte:

  • Jaké jsou předpoklady pro instalaci Asterisk
  • Jak zkompilovat Asterisk ze zdrojů
  • Jak spustit Asterisk
  • Jak překonfigurovat nebo odebrat Asterisk
  • Jak získat přístup k rozhraní příkazového řádku Asterisk

Výstup spuštění služby Asterisk systemd na RHEL 8 / CentOS 8

Požadavky na software a použité konvence

Softwarové požadavky a konvence příkazového řádku systému Linux
Kategorie Požadavky, konvence nebo použitá verze softwaru
Systém RHEL 8 / CentOS 8
Software Hvězdička, pjsip, libedit
Jiné nakonfigurována místní nebo vzdálená úložiště; správné systémové datum a časové pásmo.
Konvence # – vyžaduje, aby dané linuxové příkazy byly spouštěny s právy root buď přímo jako uživatel root, nebo pomocí sudo příkaz
$ – vyžaduje, aby dané linuxové příkazy byly spouštěny jako běžný neprivilegovaný uživatel

Úvod

Asterisk je software s otevřeným zdrojovým kódem privátní pobočkové ústředny (PBX) a jako takový je jeho hlavním účelem navazování a ovládání telefonních hovorů mezi různými systémy, prostřednictvím tradičních linek PSTN nebo moderních koncových bodů VoIP.
V této příručce se přesvědčíme bude nainstalován v RHEL 8 / CentOS 8 spolu s běžnými komponentami.

Instalace Asterisk na RHEL 8 / CentOS 8 – krok za krokem.

Poslední verzi – 16.3.0 uvedeme v době psaní tohoto návodu.

  1. Předpoklady

    Potřebujeme nainstalovat níže uvedené balíčky včetně systemd-devel pokud chceme spustit Asterisk jako službu systemd.

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

    A vyvinout ze zdrojů:

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

    Od této chvíle musíme vše instalovat ze zdrojů, takže to udělejme ze společné složky

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

    Nejprve zkompilujeme libedit , náhrada nebo alternativa k editaci z příkazového řádku 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. Instalace volitelných komponent
    Následující komponenty jsou volitelné, ale v reálném scénáři jsou velmi často potřeba.

    DAHDI (Digium/Asterisk Hardware Device Interface):je to rámec pro propojení s digitálními telefonními kartami v Asterisku.
    Pojďme si to nainstalovat.

    # 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 je knihovna, která přidává podporu pro ISDN (PRI a BRI), v podstatě je potřeba při instalaci ISDN karty pro komunikaci se staršími systémy.

    Instalace:

    # 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. Instalace Asterisk
    Nyní je čas zkompilovat hlavní aplikaci ze zdrojů – jak již bylo zmíněno.
    Tím se nainstaluje také knihovna SIP pjsip do systému.

    # 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
    

    Pomocí make install-logrotate zajistíme, že soubory protokolu aplikace budou rotovány.

  4. Konfigurace Asterisk
    V Asterisk je mnoho konfiguračních souborů, hlavní je asterisk.conf; k instalaci výchozí verze všech z nich musíme spustit:

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

    V tuto chvíli, protože některé moduly nebo funkce vyžadují další konfiguraci nebo závislosti, je lepší je deaktivovat.
    To však není povinné, nejsou to základní součásti bránící spuštění Asterisku.

    #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 
    

    Poté je čas připravit servisní soubory systemd:

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

    Služba Asterisk by měla z bezpečnostních důvodů běžet jako běžný uživatel, takže musíme přidat ID služby, které se bude jmenovat asterisk jak je uvedeno v konfiguračním souboru systemd.

    # useradd -m -c "asterisk user"
    
    

    Pak změňme některá oprávnění:

    chown -R asterisk:asterisk /var/log/asterisk/*
    chown  asterisk:asterisk /var/log/asterisk/.
    
  5. Spuštění Asterisku
    SELinux zabrání spuštění Asterisku, takže jej přepneme do permissive mode kvůli jednoduchosti.

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

    Konečně můžeme spustit Asterisk

    # systemctl enable asterisk
    # systemctl start asterisk
    

    Asterisk můžete také spustit přímo bez systemd zadáním:

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

    nebo lépe

    # asterisk -vvvc

    získat podrobné informace.

    Výstup hvězdička při přímém spuštění

  6. Překonfigurování Asterisk
    Astering je možné kdykoli překonfigurovat odebráním nebo (znovu) přidáním jakékoli funkce.
    Stačí zastavit službu, přejít do zdrojové složky a spustit make menuselect .

    Vyberte nabídku s hvězdičkou

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

    Pokud jste provedli nějakou změnu, musíte uložit konfiguraci před odchodem z menu-select menu.
    Poté je nutné znovu zkompilovat Asterisk, jak je vysvětleno výše. Je lepší provést jakoukoli změnu nejprve v testovacím prostředí.

  7. Odstranění Asterika
    Pokud budete někdy potřebovat odstranit Asterisk ze systému – včetně Dahdi a libpri – zde jsou kroky:

    # 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. Přístup k rozhraní Asterisk CLI
    Tento software má také svůj shell, abychom k němu mohli přistupovat – jakmile je Asterisk spuštěn – musíme zadat:

    # asterisk -r 

    Asterisk CLI

Závěr

Asterisk jsme úspěšně zkompilovali ze zdrojů a spustili jej, nicméně na získání pracovního prostředí to nestačí; obvykle po instalaci přidáte své koncové body SIP úpravou konfiguračního souboru sip.conf – nebo prostřednictvím zmíněného CLI – a nakonfigurujte libovolné rozšíření v souboru extensions.conf . Oba soubory jsou v /etc/asterisk.


Cent OS
  1. Jak nainstalovat redmine na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Hadoop na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat DNS server na RHEL 8 / CentOS 8 Linux

  1. Jak nainstalovat Perl na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat apache tomcat na Linux RHEL 8 / CentOS 8

  3. Jak nainstalovat node.js na RHEL 8 / CentOS 8 Linux

  1. Jak nainstalovat Xdebug na RHEL 8 / CentOS 8 Linux

  2. Jak nainstalovat Apache na RHEL 8 / CentOS 8 Linux

  3. Jak nainstalovat wireshark na RHEL 8 / CentOS 8 Linux