Asterisk je open source telefonní řešení pro jednotlivce, firmy a vlády. Běží přes internet místo měděných telefonních linek a používá se pro hlasovou schránku, nahrávání hovorů, interaktivní hlasovou odezvu a konferenční hovory.
FreePBX je bezplatná webová aplikace s otevřeným zdrojovým kódem, která se používá ke správě Asterisk prostřednictvím prohlížeče. Nabízí všechny komponenty potřebné k sestavení telefonního systému. S FreePBX můžete vytvořit rozšíření, IVR, nastavit uživatelská oprávnění, firewall, zálohování a obnovení a mnoho dalšího.
V tomto tutoriálu vám ukážeme, jak nainstalovat Asterisk a FreePBX na Ubuntu 20.04.
Předpoklady
- Nové Ubuntu 20.04 VPS na cloudové platformě Atlantic.net
- Heslo uživatele root nakonfigurované na vašem serveru
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte Ubuntu 20.04 s alespoň 2 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte ke svému serveru Ubuntu 20.04, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
apt-get update -y
Krok 2 – Instalace požadovaných závislostí
Než začnete, budete muset nainstalovat všechny závislosti potřebné ke kompilaci Asterisk na vašem systému. Všechny je můžete nainstalovat pomocí následujícího příkazu:
apt-get install unzip git gnupg2 curl libnewt-dev libssl-dev libncurses5-dev subversion libsqlite3-dev build-essential libjansson-dev libxml2-dev uuid-dev subversion -y
Jakmile jsou všechny závislosti nainstalovány, můžete přistoupit ke kompilaci Asterisk.
Krok 3 – Instalace Asterisk
Nejprve si stáhněte nejnovější verzi Asterisk z oficiálních stránek Asterisk pomocí následujícího příkazu:
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz
Po dokončení stahování rozbalte stažený soubor pomocí následujícího příkazu:
tar zxf asterisk-17-current.tar.gz
Dále změňte adresář na extrahovaný adresář a nainstalujte požadované závislosti pomocí následujícího příkazu:
cd asterisk-17.*/ contrib/scripts/get_mp3_source.sh contrib/scripts/install_prereq install
Dále spusťte následující příkaz pro konfiguraci Asterisk:
./configure
Dále nastavte možnosti nabídky pomocí následujícího příkazu:
make menuselect
Můžete použít šipku klávesu pro navigaci a Enter vyberte.
Povolit vyžadovat doplňky:
Povolit základní zvukové moduly
Povolit balíčky MOH
Zvukové balíčky navíc
Jakmile jsou všechny součásti nainstalovány, sestavte Asterisk pomocí následujícího příkazu:
make -j2
Dále nainstalujte Asterisk pomocí následujícího příkazu:
make install
Dále nainstalujte konfigurace a ukázky pomocí následujícího příkazu:
make samples make config ldconfig
Krok 4 – Konfigurace hvězdičky
Dále budete muset vytvořit samostatného uživatele a skupinu pro Asterisk. Můžete je vytvořit pomocí následujícího příkazu:
groupadd asterisk useradd -r -d /var/lib/asterisk -g asterisk asterisk
Dále přidejte některé požadované uživatele do skupiny Asterisk pomocí následujícího příkazu:
usermod -aG audio,dialout asterisk
Dále nastavte správná oprávnění a vlastnictví pomocí následujícího příkazu:
chown -R asterisk.asterisk /etc/asterisk chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk chown -R asterisk.asterisk /usr/lib/asterisk
Dále upravte soubor /etc/default/asterisk a nastavte uživatele s hvězdičkou jako výchozího uživatele:
nano /etc/default/asterisk
Změňte následující řádky:
AST_USER="asterisk" AST_GROUP="asterisk"
Uložte a zavřete soubor, poté upravte výchozí konfigurační soubor Asterisk a definujte uživatele a skupinu „spustit jako“:
nano /etc/asterisk/asterisk.conf
Změňte následující řádky:
runuser = asterisk ; The user to run as. rungroup = asterisk ; The group to run as.
Uložte a zavřete soubor, restartujte službu Asterisk a povolte její spuštění při restartu systému pomocí následujícího příkazu:
systemctl restart asterisk systemctl enable asterisk
Dále ověřte stav služby Asterisk pomocí následujícího příkazu:
systemctl status asterisk
V některých případech by se měla zobrazit následující chyba:
radcli: rc_read_config: rc_read_config: can't open /etc/radiusclient-ng/radiusclient.conf: No such file or directory
Tuto chybu můžete vyřešit pomocí následujících příkazů:
sed -i 's";\[radius\]"\[radius\]"g' /etc/asterisk/cdr.conf sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cdr.conf sed -i 's";radiuscfg => /usr/local/etc/radiusclient-ng/radiusclient.conf"radiuscfg => /etc/radcli/radiusclient.conf"g' /etc/asterisk/cel.conf
Poté znovu spusťte službu Asterisk pomocí následujícího příkazu:
systemctl start asterisk
Dále se připojte k rozhraní příkazového řádku Asterisk pomocí následujícího příkazu:
asterisk -rvv
Měli byste získat následující výstup:
Asterisk 17.8.1, Copyright (C) 1999 - 2018, Digium, Inc. and others. Created by Mark Spencer <[email protected]> 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. ======================================================================= == Running as user 'asterisk' Running under group 'asterisk' Connected to Asterisk 17.8.1 currently running on server (pid = 52652) server*CLI>
Ukončení typu CLI:
Exit
Krok 5 – Instalace FreePBX
FreePBX vyžaduje, aby byl na vašem serveru nainstalován webový server Apache, MariaDB a PHP verze 7.2. Ve výchozím nastavení se Ubuntu 20.04 dodává s verzí PHP 7.4, takže budete muset na svůj server nainstalovat repozitář PHP Ondrej. Můžete jej přidat pomocí následujícího příkazu:
apt-get install software-properties-common –y add-apt-repository ppa:ondrej/php -y
Dále nainstalujte Apache, MariaDB a PHP pomocí následujícího příkazu:
apt-get install apache2 mariadb-server libapache2-mod-php7.2 php7.2 php-pear php7.2-cgi php7.2- common php7.2-curl php7.2-mbstring php7.2-gd php7.2-mysql php7.2-bcmath php7.2-zip php7.2- xml php7.2-imap php7.2-json php7.2-snmp
Jakmile jsou všechny balíčky nainstalovány, stáhněte si nejnovější verzi FreePBX pomocí následujícího příkazu:
wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
Po stažení rozbalte stažený soubor pomocí následujícího příkazu:
tar -xvzf freepbx-15.0-latest.tgz
Dále změňte adresář na extrahovaný adresář a nainstalujte balíček Node.js pomocí následujícího příkazu:
cd freepbx apt-get install nodejs -y
Dále nastavte požadovaná oprávnění pomocí následujícího příkazu:
./install -n
Měli byste získat následující výstup:
Setting specific permissions... 30690 [============================] Finished setting permissions Generating default configurations... Finished generating default configurations You have successfully installed FreePBX
Dále změňte uživatele Apache na hvězdičku a zapněte možnost AllowOverride pomocí následujícího příkazu:
sed -i 's/^\(User\|Group\).*/\1 asterisk/' /etc/apache2/apache2.conf sed -i 's/AllowOverride None/AllowOverride All/' /etc/apache2/apache2.conf
Dále nastavte upload_max_filesize na soubor php.ini pomocí následujícího příkazu:
sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.2/apache2/php.ini sed -i 's/\(^upload_max_filesize = \).*/\120M/' /etc/php/7.2/cli/php.ini
Dále povolte modul pro přepis Apache a restartujte službu Apache pomocí následujícího příkazu:
a2enmod rewrite systemctl restart apache2
Krok 6 – Přístup k FreePBX
Nyní otevřete webový prohlížeč a přejděte na webové rozhraní FreePBX pomocí adresy URL http://ip-ip-vaseho-serveru/admin . Budete přesměrováni na stránku vytvoření uživatele správce:
Zadejte své uživatelské údaje správce a klikněte na Nastavení systému knoflík. Měli byste vidět následující stránku:
Zadejte své uživatelské jméno a heslo správce a klikněte na Pokračovat knoflík. Ovládací panel FreePBX byste měli vidět na následující stránce:
Závěr
Ve výše uvedené příručce jste se naučili, jak nainstalovat server Asterisk a FreePBX na Ubuntu 20.04. Nyní můžete snadno spravovat svůj server VoIP z řídicího panelu FreePBX. Nainstalujte si Asterisk ještě dnes pomocí svého hostingového účtu VPS u Atlantic.Net!