Asterisk je nejpopulárnější a široce používaná open-source platforma PBX, která pohání systémy IP PBX, konferenční servery a brány VoIP. Používají jej jednotlivci, malé podniky, velké podniky a vlády po celém světě.
Mezi funkce Asterisk patří hlasová schránka, hudba při čekání, konferenční hovory, řazení hovorů do fronty, nahrávání hovorů, interaktivní hlasová odezva a mnoho dalšího.
Tento tutoriál vás provede kroky potřebnými k instalaci Asterisk 15 na CentOS 7.
Předpoklady #
-
Než budete pokračovat v tomto tutoriálu, ujistěte se, že jste přihlášeni jako uživatel s právy sudo.
-
Aktualizujte svůj systém CentOS a nainstalujte vývojové nástroje, které jsou nutné ke kompilaci zdrojového kódu Asterisk:
sudo yum update
sudo yum groupinstall core base "Development Tools"
Zakázat Selinux #
Pokud je SELinux nastaven na enforcing
režimu, hvězdička nebude fungovat správně.
Chcete-li deaktivovat funkce zabezpečení SELinux, otevřete /etc/selinux/config
soubor a nastavte SELINUX=disabled
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
Uložte soubor a restartujte systém CentOS pomocí:
sudo shutdown -r now
Jakmile se počítač spustí, ujistěte se, že getenforce
příkaz vrátí Disabled
:
getenforce
Disabled
Stáhnout hvězdičku #
Chystáme se stáhnout zdrojový kód Asterisk v /usr/src
adresář, který je společným umístěním pro umístění zdrojových souborů.
Změňte na /usr/src
adresář zadáním:
cd /usr/src/
Stáhněte si nejnovější verzi Asterisk 15 pomocí následujícího wgetcommand:
sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-15-current.tar.gz
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
sudo tar zxf asterisk-15-current.tar.gz
Než budete pokračovat dalšími kroky, ujistěte se, že jste přešli do zdrojového adresáře Asterisk zadáním:
cd asterisk-15.*/
Instalovat závislosti Asterisk #
Stáhněte si zdroje MP3, které jsou nutné k sestavení modulu MP3 a použití souborů MP3 na Asterisk:
sudo contrib/scripts/get_mp3_source.sh
Dále nainstalujte všechny chybějící závislosti pomocí install_prereq
skript:
sudo contrib/scripts/install_prereq install
Skript nainstaluje všechny potřebné balíčky a po úspěšném dokončení vypíše následující zprávu:
#############################################
## install completed successfully
#############################################
Instalovat Asterisk #
configure
skript provede řadu kontrol, aby se ujistil, že jsou přítomny všechny závislosti, které proces sestavení a instalace vyžaduje, spusťte skript zadáním:
sudo ./configure --libdir=/usr/lib64
Po úspěšném dokončení uvidíte následující výstup:
Dalším krokem je výběr modulů, které chcete zkompilovat a nainstalovat.
Většina modulů je již povolena. Vstupte do systému Menuselect zadáním:
sudo make menuselect
Již jsme si stáhli zdrojové soubory MP3 a nyní musíme říci Asterisku, aby vytvořil modul MP3 výběrem format_mp3
:
Až budete hotovi, stiskněte F12
uložit a ukončit, nebo přepnout na Save and Exit
a stiskněte Enter
.
Spusťte proces kompilace pomocí make
příkaz:
sudo make -j2
Dokončení sestavení může nějakou dobu trvat, v závislosti na vašem systému. Můžete upravit -j
příznak podle počtu jader ve vašem procesoru. Po dokončení procesu sestavení se vám zobrazí následující zpráva:
Dalším krokem je instalace Asterisk a jeho modulů zadáním:
sudo make install
Po dokončení instalace skript zobrazí následující zprávu:
Nyní, když je Asterisk nainstalován, musíme nainstalovat ukázkové konfigurační soubory.
Nainstalujte buď obecné konfigurační soubory s referenční dokumentací zadáním:
sudo make samples
Nebo nainstalujte základní konfigurační soubory PBX:
sudo make basic-pbx
Posledním krokem je instalace iniciačního skriptu Asterisk zadáním:
sudo make config
Nakonec spusťte ldconfig
pro aktualizaci mezipaměti sdílených knihoven:
sudo ldconfig
Vytvořit uživatele s hvězdičkou #
Ve výchozím nastavení Asterisk běží jako uživatel root. Z bezpečnostních důvodů vytvoříme nového uživatele systému a nakonfigurujeme Asterisk, aby běžel jako nově vytvořený uživatel.
Chcete-li vytvořit nového uživatele systému s názvem asterisk
spusťte následující příkaz:
sudo adduser --system --user-group --home-dir /var/lib/asterisk --no-create-home asterisk
Chcete-li nakonfigurovat Asterisk, aby se spouštěl jako asterisk
uživatel, otevřete /etc/sysconfig/asterisk
soubor a odkomentujte následující dva řádky:
AST_USER="asterisk"
AST_GROUP="asterisk"
Přidejte asterisk
uživatele k dialout
a audio
skupiny:
sudo usermod -a -G dialout,audio asterisk
Musíme také změnit vlastnictví a oprávnění všech souborů a adresářů s hvězdičkami, aby uživatel s hvězdičkou měl k těmto souborům přístup:
sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
Spustit hvězdičku #
Nyní, když jsme vše nastaveni, můžeme spustit službu Asterisk pomocí následujícího příkazu:
sudo systemctl start asterisk
Chcete-li ověřit, že Asterisk běží, připojte se k rozhraní příkazového řádku Asterisk (CLI) zadáním:
sudo asterisk -vvvr
Uvidíte výchozí výzvu CLI Asterisk:
Posledním krokem je povolit spuštění služby Asterisk při spouštění pomocí:
sudo systemctl enable asterisk
Upravit pravidla brány firewall #
Nyní, když je Asterisk nainstalován a spuštěn, musíte nakonfigurovat firewall tak, aby umožňoval provoz na portech specifických pro Asterisk.
Pokud nemáte ve svém systému povolenou bránu firewall, můžete tuto část přeskočit.Otevřete požadovaný textový editor a vytvořte následující službu brány firewall:
/etc/firewalld/services/asterisk.xml<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
<short>asterisk</short>
<description>Asterisk is a software implementation of a telephone private branch exchange (PBX).</description>
<port protocol="udp" port="10000-10100"/>
<port protocol="udp" port="4569"/>
<port protocol="udp" port="2727"/>
<port protocol="udp" port="5060-5061"/>
</service>
Uložte soubor a použijte nová pravidla brány firewall zadáním:
sudo firewall-cmd --add-service=asterisk --permanent
sudo firewall-cmd --reload
Nakonec zkontrolujte, zda jsou nová pravidla brány firewall úspěšně aplikována pomocí:
sudo firewall-cmd --list-all
public (active)
target: default
icmp-block-inversion: no
interfaces: eth0
sources:
services: ssh dhcpv6-client asterisk
ports:
protocols:
masquerade: no
forward-ports:
source-ports:
icmp-blocks:
rich rules:
Neváhejte a upravte firewall podle svých potřeb.