Szukaj

Instalacja Asterisk 20 ze źródła na Debian 12

Instalacja Asterisk 20 ze źródła na Debian 12

Asterisk to otwarta i elastyczna platforma telekomunikacyjna, która umożliwia tworzenie, konfigurowanie i zarządzanie różnymi usługami komunikacyjnymi. Jest to oprogramowanie typu open source. Asterisk jest używany w różnych środowiskach, od małych firm po duże przedsiębiorstwa. Jest dostępny na wielu platformach, w tym na systemach operacyjnych Linux i Windows. Dzięki swojej elastyczności i rozszerzalności jest popularnym narzędziem w dziedzinie telekomunikacji i komunikacji głosowej. My zainstalujemy go w tym samouczku na popularnym systemie Debian w najnowszej wersji. Jeżeli chciałbyś przeczytać jak zainstalować go na innych dystrybucjach Linux’a kliknij w jeden z następujących linków: Ubuntu, RockyCentOS 7, CentOS Stream 8.

Spis treści

1) Instalacja Debiana

Zakładam, że posiadasz maszynę, na której możesz uruchomić instalator Debiana. Ja korzystam z darmowego oprogramowania Proxmox i ściągnąłem sobie dostosowany do tego środowiska obraz systemu. W poście dotyczącym instalacji Rocky 9 na Proxmox możesz zobaczyć jak to się robi.

Po tym jak wystartuje moja maszyna z zamontowanym obrazem systemu i uruchomi się instalator wybieram interfejs graficzny do instalacji. (Graphical Install).  Nie przejmujemy się ewentualnymi poszukiwaniami karty dźwiękowej i klikamy Enter. Wybieramy język instalacji angielski (English). Wybieramy swoja lokalizację. W moim przypadku to other -> Europe -> Poland. Nie przejmujemy się konfiguracją klawiatury i zostawiamy wartości domyślne klikając Continue. Instalator wczyta sobie teraz startowe komponenty i zatrzyma się abyśmy wprowadzili nazwę naszego systemu. Jednak zanim przejdziemy dalej kliknijmy teraz klawisz Go Back. Pozwoli nam to ręcznie skonfigurować adres naszej maszyny zamiast pozwolić jej korzystać z DHCP, co automatycznie zrobił instalator.

Wybierzmy Configure network manually i kliknijmy Continue. Wpiszmy nasz adres IP z maską, adres bramy (gateway), adres serwera DNS (name serwer, może być adres Google DNS 8.8.8.8) oraz przyjazną nam nazwę naszego serwera. (nazwę domeny możemy pominąć pozostawiając puste pola).

W kolejnych krokach należy wpisać ustalone przez nas odpowiednio skomplikowane hasło dla użytkownika root oraz stworzyć dodatkowego użytkownika do zadań nie wymagających tak dużych uprawnień. 

Instalator zajmie się dalsza konfiguracją i zatrzyma się na kroku Partition Disks. Najlepiej wybrać domyślną opcję czyli Guided - use entire disk. Dalej będziemy mieli propozycję stworzenia jednej partycji i sugeruję tak zrobić.  (All files in one partition). Na koniec tego etapu pozostawiamy opcję Finish partitioning and write changes to the disk i klikamy Continue. Na kolejnym ekranie wybieramy Yes. Spowoduje to sformatowanie dysku i zasadniczą instalację systemu

Instalator zatrzyma się na ekranie Configure the package manager z pytaniem o chęć przeskanowania dodatkowych zasobów z innymi pakietami konfiguracyjnymi. Pomijamy ten krok. Następnie wybieramy dla konfiguratora pakietów najbliższą nam lokalizację geograficzną. Zazwyczaj nie potrzebujemy też wpisywać żadnego proxy.

Sugeruję odznaczenie instalacji graficznego desktopu, a wybranie opcji SSH server ponieważ łatwiej nam będzie potem kontynuować instalację asteriska.

Za chwilę dojdziemy do momentu gdzie musimy zdecydować o zainstalowaniu GRUB boot loadera na naszej głównej partycji. (opcja Yes) Oczywiście zaznaczamy tę partycję i klikamy Continue.

Po chwili nasza instalacja będzie gotowa. Zanim zrestartujemy system usuńmy zamontowany obraz systemu operacyjnego. 

2) Przygotowanie środowiska

Po zainstalowaniu systemu Debian mamy już w pakiecie przydatnie narzędzia takie jak nano, wget i tar. Doinstalujemy sobie jeszcze na nasze potrzeby pakiet curl oraz dokonamy update i upgrade systemu operacyjnego.

				
					apt update
apt upgrade
apt install curl
				
			

Odinstalujemy domyślny system kontroli dostępu apparmor. Mógłby on zakłócać działanie naszego asteriska.

				
					systemctl stop apparmor
apt remove apparmor
				
			

Teraz ściągniemy instalator asteriska i go rozpakujemy.

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

W kolejnym kroku przygotujemy środowisko do kompilacji oraz uruchomienia serwera Asterisk na systemie Debian.

Wykorzystamy narzędzia i skrypt install_prereq dostarczany z projektem Asterisk, które pomagają w automatyzacji procesu instalacji.

Skrypt install_prereq identyfikuje i instaluje niezbędne zależności systemowe, które są wymagane do kompilacji i uruchomienia Asteriska oraz biblioteki, narzędzia lub inne komponenty potrzebne do prawidłowego działania Asteriska.

Jeśli chcesz dowiedzieć się, co dokładnie robi ten skrypt, zawsze warto zajrzeć do dokumentacji Asteriska lub przeczytać komentarze w samym skrypcie install_prereq, które mogą zawierać informacje na ten temat.

				
					cd asterisk-20*/
contrib/scripts/install_prereq install

				
			

3) Kompilacja Asteriska

Kolejne polecenie zainicjuje proces konfiguracji oprogramowania, który jest wymagany przed właściwą kompilacją. Wygenerowane zostaną pliki konfiguracyjne, które są używane podczas procesu kompilacji. Te pliki zawierają informacje o konfiguracji systemu oraz opcjach kompilacji. Będą to pliki Makefile lub skrypty kompilacji, które są używane do właściwej kompilacji oprogramowania.

Polecenie ./configure ma za zadanie dostosować kompilację oprogramowania do konkretnego środowiska. Dzięki temu kompilacja jest zoptymalizowana pod kątem danego systemu operacyjnego, architektury i dostępnych zasobów.

Jeżeli z przyzwyczajenia wykonamy polecenie ./configure z parametrem takimi jak w tym ostrzeżeniu, to nie będziemy w stanie uruchomić asteriska.

				
					./configure --libdir=/usr/lib64
				
			
Rozwiązanie problemu, który z tego wynika jest w oddzielnym poście Błąd biblioteki libasteriskssl

Wykonajmy zatem to polecenie bez żadnych parametrów!

				
					./configure
				
			

Poprawne wykonanie tego polecenie będzie skutkować wyświetleniem podobnego do poniższego logo asteriska

Zanim skompilujemy oprogramowanie możemy jeszcze dodatkowo wybrać moduły i dodatki jakich będziemy potrzebowali w naszym rozwiązaniu. W tym celu wywołujemy interaktywne menu poleceniem make menuselect. Zobaczymy listę dostępnych modułów (np. protokoły komunikacyjne, narzędzia do monitorowania, aplikacje IVR itp.), które mogą być skompilowane i włączone w konkretnym systemie Asteriska. Możesz przeglądać dostępne moduły, zaznaczać lub odznaczać moduły, które chcesz skompilować i włączyć w swoim systemie Asteriska. Wybory te będą przechowywane w pliku konfiguracyjnym. Po wybraniu modułów, make menuselect może pozwolić użytkownikowi na dostosowanie ich konfiguracji poprzez dodatkowe opcje. Na przykład, dla modułu SIP można dostosować ustawienia związane z protokołem SIP.
				
					make menuselect
				
			

Po dokonaniu odpowiednich wyborów kliknij Save & Exit. Teraz należy wywołać samo polecenie make, które skompiluje Asteriska z uwzględnieniem wybranych modułów i ich konfiguracji.

				
					make
				
			

W zależności od wybranych opcji wykonanie kompilacji może zając nieco czasu. Na koniec otrzymamy satysfakcjonująca informację podobną do tej poniżej.

4) Zasadnicza instalacja asteriska

Kolejne polecenie make install zainstaluje nam skompilowane oprogramowanie na systemie.

				
					make install
				
			

Po zazwyczaj krótkiej instalacji otrzymujemy poniższy komunikat.

Teraz możemy jak to jest nam sugerowane wygenerować przykładowe pliki konfiguracyjne i przenieść je do katalogu samples gdzie będziemy mogli je wykorzystywać jako bazę do dalszej konfiguracji naszych usług.

				
					make samples
mkdir /etc/asterisk/samples
mv /etc/asterisk/*.*  /etc/asterisk/samples/
				
			

Kolejne polecenie stworzy nam podstawową konfigurację i scenariusz PBX (Private Branch Exchange) w Asterisk. Scenariusz PBX jest przykładem konfiguracji Asteriska jako prywatnej centrali telefonicznej, która umożliwia zestawianie połączeń między wewnętrznymi numerami telefonów.

Oto, co dokładnie robi polecenie make basic-pbx:

  1. Tworzenie podstawowej konfiguracji: Polecenie generuje podstawową konfigurację Asteriska, która obejmuje pliki konfiguracyjne dla użytkowników, rozszerzeń (extensions), kontekstów i trasy wychodzące.

  2. Konfiguracja użytkowników: Polecenie może tworzyć konfiguracje użytkowników, co pozwala na zestawienie połączeń między nimi w ramach systemu PBX.

  3. Konfiguracja rozszerzeń (extensions): Scenariusz PBX zawiera przykłady rozszerzeń, które definiują, jakie akcje powinny być podejmowane, gdy użytkownicy wybierają konkretne numery wewnętrzne.

  4. Konteksty: Konfiguracja PBX jest podzielona na konteksty, które definiują, jakie numery telefonów i rozszerzenia są dostępne w danej części systemu.

  5. Trasy wychodzące: Scenariusz PBX może również zawierać konfigurację tras wychodzących, która określa, jakie numery mogą być wybierane przez użytkowników do połączeń na zewnątrz.

Polecenie make basic-pbx jest przydatne dla osób, które chcą szybko uruchomić Asteriska jako prostą centralę telefoniczną w celu testowania i eksperymentowania. Po jego wykonaniu można dostosować wygenerowaną konfigurację do własnych potrzeb, a także dodać bardziej zaawansowane funkcje i rozszerzenia, jeśli to konieczne.

Warto pamiętać, że Asterisk jest bardzo elastyczną platformą, więc scenariusz PBX jest tylko jednym z wielu przykładów konfiguracji, które można zaimplementować. Dla bardziej zaawansowanych i specyficznych zastosowań, konieczna może być bardziej zaawansowana konfiguracja.

				
					make basic-pbx
				
			

Ostatnie polecenie instalacyjne stworzy nam pliki startowe.

				
					make config
				
			

Teraz jesteśmy gotowi do uruchomienia systemu Asterisk

5) Uruchomienie systemu Asterisk

Najpierw dodamy uruchamianie asteriska do autostartu

				
					systemctl enable asterisk.service

				
			

Powyższy komunikat: asterisk.service is not a native service nie powinien nas niepokoić, ponieważ Debian sam ogarnia sobie sprawę dodania usługi do autostartu.

Poniższy zestaw poleceń umożliwi nam uruchomienie asteriska i sprawdzenie jego statusu.

				
					systemctl start asterisk.service
systemctl status asterisk.service
				
			

Poprawne uruchomienie usługi powita nas komunikatem podobnym do poniższego:

Możemy już teraz uruchomić konsolę asteriska i zacząć monitorowanie usługi oraz jej dalszą konfigurację. Miłej pracy i zabawy.

				
					asterisk -rvvvv
				
			

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.

Przeczytaj co potrafi nasz system VOIPERO w zakresie monitorowania na żywo i raportowania systemów VoIP opartych 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