Asterisk (PBX) je open source komunikační server vydaný pod licencí GPL spravovaný komunitou Gigium a Asterisk. Asterisk slouží k vytváření komunikačních aplikací, které promění běžný počítač v komunikační server. Takže pomocí Asterisk ve vašem síťovém prostředí můžete připojit své zaměstnance z domova do kanceláře PBX přes širokopásmové připojení a můžete jim také poskytnout hlasovou schránku, integrovanou s webem a e-mailem.
Výhody používání Asterisk jsou příliš velké, takže se pojďme řídit tímto návodem a nastavit si svůj vlastní server Asterisk, ať už u vás doma, v kanceláři nebo ve vaší organizaci, a užít si jeho skvělé funkce, které zaplní mezery v komunikaci.
Předpoklady pro hvězdičku
Vzhledem k tomu, že budeme používat CentOS 7 pro instalaci Asterisk s minimálním počtem nainstalovaných balíčků, ujistěte se, že váš systém využívá data a že máte v systému oprávnění uživatele root pro instalaci různých požadovaných balíčků.
1) Aktualizace systému
Po úspěšném přihlášení root můžete použít níže uvedený příkaz pro aktualizaci systému.
#yum update
2) Instalace požadovaných balíčků
Jakmile je váš systém opraven nejnovějšími aktualizacemi, musíte nainstalovat některé balíčky včetně vývojových nástrojů a dalších balíčků, které jsou nezbytné pro jeho úspěšné fungování. Můžete to snadno provést pomocí níže uvedeného příkazu, který nainstaluje všechny požadované balíčky včetně všech závislostí.
[root@centos-7 ~]# yum install gcc gcc-c++ php-xml php php-mysql php-pear php-mbstring mariadb-devel mariadb-server mariadb sqlite-devel lynx bison gmime-devel psmisc tftp-server httpd make ncurses-devel libtermcap-devel sendmail sendmail-cf caching-nameserver sox newt-devel libxml2-devel libtiff-devel audiofile-devel gtk2-devel uuid-devel libtool libuuid-devel subversion kernel-devel kernel-devel-$(uname -r) git subversion kernel-devel php-process crontabs cronie cronie-anacron wget vim
Zkontrolujte seznam balíčků, které se chystají nainstalovat na váš systém, a pokračujte stisknutím „Y“, zabere to asi 125 MB místa na disku.
Po úspěšné operaci uvidíte seznam nainstalovaných balíčků a aktualizací včetně všech jeho požadovaných závislostí.
3) Nastavte MariaDB
Po instalaci se standardně můžeme připojit k databázi bez použití jakéhokoli hesla. Nejprve tedy povolíme/spustíme služby mariadb, jak je znázorněno na obrázku níže, abychom mohli nastavit jeho root heslo.
Jakmile jsou služby MariaDB v pořádku, spusťte níže uvedený příkaz k nastavení hesla uživatele root a odebrání anonymního uživatele, otestování databáze a zakázání přihlášení vzdáleného uživatele.
[root@centos-7 ~]# mysql_secure_installation
4) Instalace libjansson
Jansson je knihovna C pro kódování, dekódování a manipulaci s daty JSON. Pojďme si jej stáhnout, rozbalit a zkompilovat pomocí níže uvedeného příkazu.
# wget http://www.digip.org/jansson/releases/jansson-2.7.tar.gz
K rozbalení tohoto balíčku použijte níže uvedený příkaz.
# tar -zxvf jansson-2.7.tar.gz
Poté změňte adresář a nakonfigurujte balíček podle obrázku.
5) Vytvořte Janssona
Nyní ke kompilaci nakonfigurovaného balíčku musíme použít níže uvedené příkazy 'make' a 'make install' ve stejném adresáři ke kompilaci plně funkční knihovny Jansson.
[root@centos-7 Jansson-2.7]#make clean
[root@centos-7 Jansson-2.7]#make && make install
[root@centos-7 Jansson-2.7]#ldconfig
Instalace Asterisk 13.5.0
Zde je nejdůležitější stahování, kterým je Asterisk. Pojďme si stáhnout jeho aktuální nejnovější balíček z jejich oficiálního webového odkazu Asterisk Download Page. Ke stažení jeho balíčku použijeme příkaz 'wget', takže změňte svůj aktuální adresář a spusťte příkaz, jak je uvedeno níže.
Pomocí níže uvedených příkazů rozbalte jeho balíček, změňte adresář a poté spusťte jeho konfigurační příkaz .
[root@centos-7 ~]# tar -zxvf asterisk-13.5.0.tar.gz
[root@centos-7 ~]# cd asterisk-13.5.0
[root@centos-7 asterisk-13.5.0]# ./configure --libdir=/usr/lib64
Po úspěšném dokončení instalace hvězdičky najdete její logo, jak je uvedeno níže.
Nastavení hvězdičkových modulů
Nyní v několika následujících krocích nakonfigurujeme Asterisk pro jeho potřebné moduly.
1) Hvězdička Hlavní nabídka Výběr
Chcete-li nastavit položky nabídky, spusťte níže uvedený příkaz a poté vyberte příslušné možnosti.
[root@centos-7 asterisk-13.5.0]# make menuselect
Po spuštění tohoto příkazu se otevře nové okno, kde uvidíte, že z větší části jsou již všechny potřebné moduly zahrnuty. Můžete něco přidat nebo odebrat, při výběru modulu je stručný popis jeho účelu. V modulu Add-ons to enable mp3 support module vyberte 'format_mp3', jak je uvedeno níže.
Poté přejděte na další balíčky Core Sound Packages a vyberte formáty audio paketů, jak je znázorněno na obrázku.
Poté vyberte všechny balíčky z "Music On Hold Packages" a poté vytvořte "Extra Sound Packages" vyberte 4, které obsahují první modul obsahující EN a zvolte tlačítko "Save and Exit" pro pokračování k dalšímu kroku.
2) Načítání knihoven mp3
Nyní spusťte následující příkaz ke stažení knihovny mp3 dekodéru do stromu zdroje.
[root@centos-7 asterisk-13.5.0]# contrib/scripts/get_mp3_source.sh
3) Instalace modulů
Nyní přistoupíme k instalaci vybraných modulů pomocí 'příkazu make'.
Asterisk byl tedy úspěšně sestaven, nyní spusťte příkaz podle obrázku a nainstalujte hvězdičku.
[root@centos-7 asterisk-13.5.0]# make install
V reakci na výše uvedený příkaz vás na konci instalace uvítá text níže.
+---- Asterisk Installation Complete -------+
+ +
+ YOU MUST READ THE SECURITY DOCUMENT +
+ +
+ Asterisk has successfully been installed. +
+ If you would like to install the sample +
+ configuration files (overwriting any +
+ existing config files), run: +
+ +
+ make samples +
+ +
+----------------- or ---------------------+
+ +
+ You can go ahead and install the asterisk +
+ program documentation now or later run: +
+ +
+ make progdocs +
+ +
+ **Note** This requires that you have +
+ doxygen installed on your local system +
+-------------------------------------------+
Zde spustíme níže uvedené příkazy k instalaci ukázkových konfiguračních souborů, jak je uvedeno výše.
[root@centos-7 asterisk-13.5.0]# make samples
[root@centos-7 asterisk-13.5.0]# make config
Nastavení uživatele Asterisk
Můžete vytvořit samostatného uživatele a dát mu právo pracovat s Asterisk za účelem spuštění jeho služeb s vlastním uživatelem a skupinou. Chcete-li tak učinit, spusťte níže uvedený příkaz.
[root@centos-7 asterisk-13.5.0]# useradd -m asterisk
[root@centos-7 asterisk-13.5.0]# chown asterisk.asterisk /var/run/asterisk
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /etc/asterisk
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /var/{lib,log,spool}/asterisk
[root@centos-7 asterisk-13.5.0]# chown -R asterisk.asterisk /usr/lib64/asterisk
[root@centos-7 asterisk-13.5.0]# systemctl restart asterisk
[root@centos-7 asterisk-13.5.0]# systemctl status asterisk
Nastavení pravidel brány firewall
Nyní začněte nastavovat zabezpečení. Ve výchozím nastavení CentOS 7 místo iptables používá FirewallD.
Pomocí níže uvedených dvou příkazů můžete spustit a povolit služby brány firewall.
[root@centos-7 ~]# systemctl start firewalld
[root@centos-7 ~]# systemctl enable firewalld
Nyní povolte přístup k portům, které jsou používány v asterisk PBX přidáním následujících pravidel
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5060/udp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5060/tcp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5061/udp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5061/tcp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=4569/udp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=5038/tcp --permanent
success
[root@centos-7 ~]# firewall-cmd --zone=public --add-port=10000-20000/udp --permanent
success
Chcete-li načíst nová pravidla brány firewall, použijte níže uvedený příkaz.
[root@centos-7 ~]# firewall-cmd --reload
Chcete-li potvrdit, že všechna pravidla byla přidána, můžete použít příkaz, jak je znázorněno na obrázku.
Nastavení databáze Asterisk
Pojďme se připojit k MySQL MariaDB a vytvořit nového uživatele a databázi a poté jí poskytnout všechna oprávnění pomocí následujících příkazů.
[root@centos-7 ~]# mysql -u root -p
Enter password:******
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.44-MariaDB MariaDB Server
Copyright (c) 2000, 2015, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create user 'asterisk'@'localhost' identified by '******';
MariaDB [(none)]> create database asterisk;
MariaDB [(none)]> create database cdrdb;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON asterisk.* TO asterisk@localhost IDENTIFIED BY '******';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cdrdb.* TO asterisk@localhost IDENTIFIED BY '******';
MariaDB [(none)]> flush privileges;
MariaDB [(none)]>
Spouštění hvězdičky
Spusťte Asterisk poprvé po jeho nastavení na Centos 7 pomocí níže uvedeného příkazu.
[root@centos-7 ~]# asterisk -r
Závěr
Asterisk 13.5.0 (PBX) byl úspěšně nainstalován na CentOS 7 s požadovanými moduly. Pokud v článku najdete nějaké chyby nebo nesrovnalosti, budeme rádi, když nám o tom napíšete do komentářů.