Szukaj

Samouczek Asteriska: Zainstaluj Asterisk 18 ze źródła na CentOS Stream 8

Samouczek Asteriska: Zainstaluj Asterisk 18 ze źródła na CentOS Stream 8

Asterisk to platforma typu open source do tworzenia aplikacji komunikacyjnych. Obsługuje systemy IP PBX, bramy VoIP, serwery konferencyjne i inne niestandardowe rozwiązania. To nie zwykła ciekawostka czy zabawka dla pasjonatów informatyki. System ten, jest używany przez małe firmy, duże firmy, centra obsługi telefonicznej, przewoźników i agencje rządowe na całym świecie. Co najważniejsze Asterisk jest darmowym i otwartym oprogramowaniem. Asterisk może stać się podstawą kompletnego systemu telefonii VOiP w Twojej firmie. Zawiera komponenty, które pozwalają mu spełniać szeroki zakres funkcji.
  • Hostowany PBX
  • IP PBX (systemy telefonii biznesowej)
  • Brama VoIP
  • Serwer poczty głosowej
  • Most konferencyjny
  • Centrum telefoniczne
  • Serwer IVR
Co więcej ten darmowy system telefonii internetowej można zainstalować na darmowej dystrybucji Linuxa: CentOS Stream 8


Jeżeli preferujesz inną dystrybucję Linuxa możesz też zobaczyć nasze artykuły o instalacji Asteriska na Debianie, UbuntuCentOS 7 oraz Rocky 9. Kliknij w jeden z tych linków, aby zobaczyć jak przeprowadzić instalację na innych Linux’ach.

Spis treści

Ponieważ Centos 7/8 zbliża się do EOL (koniec wsparcia), poniżej znajdziesz wszystkie niezbędne polecenia i pliki do zainstalowania Asterisk 18 ze źródła na Centos Stream 8.

Podpowiedź
Zamiast wykonywać wszystkie poniższe instrukcje, możesz również użyć naszego pliku instalatora, który instaluje Asterisk 18 ze źródła.
 

1) Wymagania wstępne

Przede wszystkim upewnij się, że uruchamiasz wszystkie polecenia jako użytkownik ’root’. Po prostu uruchom polecenie ’su’ i wprowadź hasło roota.

				
					su
				
			

Warto zacząć od zainstalowania prostego edytora tekstu. Osobiście używam nano. Jeśli chcesz dostosować go do edycji Asteriska, sprawdź ten post.

Zaktualizuj system i zainstaluj wymagane zależności.

				
					yum -y update
yum-y install nano wget tar ncurses-devel
				
			

2) SELinux

Przed rozpoczęciem należy również wyłączyć SELinux (Security-Enhanced Linux – moduł bezpieczeństwa jądra Linuksa). Bez tego napotkasz później problemy, np. z odtwarzaniem nagrań.

Najpierw użyjmy polecenia sestatus. Pokaże ci aktualny status SELinux:

				
					sestatus
				
			

Aby wyłączyć SELinux, edytuj plik /etc/selinux/config i zmień zasady z wymuszania (ang. enforcing) na wyłączone (ang. disabled).

				
					nano /etc/selinux/config
				
			
Podpowiedź
Alternatywnie do edycji /etc/selinux/config możesz po prostu wpisać komendę:
				
					sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
				
			

3) Restart

Niestety ponowne uruchomienie jest jedynym sposobem na trwałe wyłączenie SELinux, więc zróbmy to.

				
					reboot
				
			

Podpowiedź

Jeśli nie chcesz teraz ponownie uruchamiać komputera, ale chcesz przejść do trybu ’permissive', wprowadź ’setenforce 0’. Umożliwi to kontynuowanie bez konieczności ponownego uruchamiania.
				
					setenforce 0
				
			

Po ponownym uruchomieniu ’sestatus’ powinien pokazać, że jest wyłączony

4) Konfigurowanie zależności

Najpierw pobierz źródła Asterisk. /usr/src to bardzo wygodne miejsce do przechowywania wszystkich plików źródłowych.

				
					cd /usr/src
wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
tar zxvf asterisk-18-current.tar.gz
rm -rf asterisk-18-current.tar.gz
cd asterisk-18*/
				
			

Teraz (w porównaniu do np. Asteriska 11) nie musisz wypisywać wszystkich wymaganych zależności (np. make gcc gcc-c ++ lynx bison). Robisz to wszystko za pomocą gotowego skryptu. Aby móc pobrać więcej zasobów (takich jak kodek opus lub spandsp do faksowania), najpierw dodaj repozytorium EPEL.

				
					yum -y install epel-release # optional
contrib/scripts/install_prereq install
				
			

Ponieważ CentOS Stream 8 wymagał systemu 64-bitowego, możemy po prostu dodać --libdir=/usr/lib64, aby skonfigurować polecenie.

Ponieważ chan_pjsip wymaga pewnych dodatkowych bibliotek, możesz chcieć dodać --with-jansson-bundled --with-pjproject-bundled, aby skonfigurować polecenie.

Począwszy od wersji Asterisk 15.0.0, jest on domyślnie włączony, ale można go wyłączyć opcją --without-pjproject-bundled w ./configure.

				
					./configure --libdir=/usr/lib64
				
			

Po zakończeniu zobaczysz ekran „wszystko gotowe” z logo Asterisk.

Jeśli widzisz błąd „Zainstaluj pakiet programistyczny 'libedit'” (Please install the 'libedit' development package), oznacza to, że musisz najpierw zainstalować pakiet libedit-devel. Możesz go pobierać za pomocą repozytorium PowerTools za pomocą polecenia:

				
					dnf --enablerepo=powertools install -y libedit-devel
				
			

Ale potem musisz ponownie uruchomić ./configure.

5) make, make, make i … make

Teraz możesz po prostu wykonać make i skompilować oprogramowanie. Ale lepiej mieć możliwość wyboru dodatkowych opcji, funkcji, aplikacji, kodeków itp.…

W tym celu użyj opcji make menuselect. Pokaże ci menu, w którym możesz po prostu wybrać to, czego potrzebujesz.

				
					make menuselect
				
			

W trakcie procesu możesz zaznaczyć, przełączyć, zaznaczyć i odznaczyć wszystkie opcje np. użyj ODBC zamiast magazynu FILE dla poczty głosowej.

Zauważysz, że nie możesz wybrać wszystkich modułów. Ale pokazuje również, które zależności są wymagane.

W tym przykładzie, jeśli pobierzesz i zainstalujesz ikemel-devel rpm, problem zostanie rozwiązany. Oczywiście musisz jeszcze raz wykonać ./configure przed make menuselect.

Niestety ze względu na dużą ilość modułów, w tym samouczku nie będziemy opisywali wszystkich zależności.Skupimy się bardziej na podstawowej konfiguracji. W kolejnych postach będziemy na bieżąco tłumaczyli dodatkowe moduły krok po kroku.

Podpowiedź

 

Jeśli chcesz wdrożyć tę samą konfigurację na większej liczbie serwerów, możesz użyć jednowierszowego polecenia menuselect/menuselect --enable-category MENUSELECT_ADDONS --disable MODULENAME --enable MODULENAME menuselect.makeopts. Aby wyświetlić wszystkie możliwe opcje, użyj menuselect/menuselect --list-options.

				
					# przykład z pocztą głosową ODBC i zestawem dźwięków ALAW
make menuselect.makeopts
menuselect/menuselect --list-options
menuselect/menuselect --enable-category MENUSELECT_ADDONS --disable FILE_STORAGE --enable ODBC_STORAGE --disable CORE-SOUNDS-EN-GSM --enable CORE-SOUNDS-EN-ALAW --disable MOH-OPSOUND-WAV --enable MOH-OPSOUND-ALAW --enable EXTRA-SOUNDS-EN-ALAW menuselect.makeopts
				
			

Czas wykonać make i przygotować się do instalacji. Ten i następny proces może zająć kilka minut.

				
					make
				
			

System podpowie Ci, co dalej. To ostatecznie zainstaluje Asteriska na twoim serwerze.

				
					make install
				
			

Dodatkowo, jeśli na przykład wybrałeś format_mp3, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

				
					contrib/scripts/get_mp3_source.sh
				
			

Teraz masz kilka opcji:

  • nic nie rób
    Tak … możesz nic nie robić i stworzyć wszystkie pliki od zera.
  • make samples
    Instaluje przykładowe pliki konfiguracyjne (nadpisując wszystkie istniejące pliki konfiguracyjne).
  • make progdocs
    Zainstaluj tylko dokumentację programu przydatną głównie dla programistów (wymaga doxygen: yum -y install doxygen)
  • make basic-pbx (tylko Asterisk 13+)
    Najlepsza opcja, ale niedostępna w każdej wersji Asteriska. To samo, co „make samples”, ale zawiera tylko 14 niezbędnych plików zamiast ponad 100.

Zachęcam do skorzystania z drugiej i czwartej opcji. Zacznijmy od zrobienia przykładowych plików z make samples. Spowoduje to utworzenie wszystkich plików z ładną dokumentacją.

				
					make samples
				
			

Następnie przenieś je do nowego folderu (np. /etc/asterisk/samples/) i utwórz podstawową konfigurację za pomocą make basic-pbx.

				
					mkdir /etc/asterisk/samples
mv /etc/asterisk/*.* /etc/asterisk/samples/
make basic-pbx
				
			

Chociaż Asterisk jest już gotowy (i, co zaskakujące, nie ma informacji o tym na ekranie głównym), teraz dobrze jest wykonać make config, aby utworzyć pliki startowe i ułatwić korzystanie z podstawowych poleceń.

				
					make config
				
			

6) Uruchomienie Asterisk’a

Teraz możesz wystartować usługę i sprawdzić jej status.

				
					systemctl start asterisk
systemctl status asterisk
				
			

Jeśli widzisz asterisk (pid XXXX) is running… to właśnie uruchomiłeś Asterisk’a!

Możesz też wejść do katalogu /etc/asterisk i przejrzeć wszystkie przykładowe pliki.

				
					cd /etc/asterisk
ls
				
			

Następnie możesz uruchomić centralę poleceniem asterisk -r i zacząć zabawę!

				
					asterisk -r
				
			

Gratuluję!

Jeżeli chciałbyś monitorować wszystko co dzieje się na Twojej centrali wypróbuj nasze autorskie oprogramowanie VOIPERO

Instalacja i konfiguracja zajmuje kilka minut a system jest obecnie udostępniany całkowicie za darmo.

Dowiedz się jakie możliwości ma system VOIPERO jeżeli chodzi o  raportowanie i monitorowanie na żywo systemów VoIP bazujących na asterisku.

Share this post

Masz pytania lub potrzebujesz oferty?

Skontaktuj się z naszym doradcą.

Popularne wpisy

Powiązane posty

Projekt wystartował!

Monitorowanie i raportowanie Twojego serwera VoIP