Szukaj

Instalacja Asterisk 20 ze źródła na Ubuntu 23.10

Instalacja Asterisk 20 ze źródła na Ubuntu 23.10

Asterisk to oprogramowanie typu open source, które  umożliwia tworzenie i zarządzanie systemami telekomunikacyjnymi, w tym PBX oraz innymi aplikacjami związanymi z komunikacją głosową.

Asterisk jest wykorzystywany do budowy systemów telekomunikacyjnych o różnym rozmiarze, od małych firm do dużych przedsiębiorstw. Dzięki swojej otwartej naturze i bogatym zestawom funkcji jest popularnym narzędziem w dziedzinie telekomunikacji i VoIP.

Można go instalować na różnych dystrybucjach systemów operacyjnych opartych na jądrze Linux takich jak Debian, RockyCentOS 7, CentOS Stream 8, czy właśnie Ubuntu. Kliknij w odpowiednie linki powyżej aby zobaczyć jak przeprowadzić instalację na innych Linux’ach.

Spis treści

1) Instalacja Ubuntu

Wychodzę z założenia, że posiadasz serwer, na którym możesz uruchomić instalator Ubuntu. Ja korzystam z bezpłatnego oprogramowania Proxmox i ściągnąłem sobie dostosowany do tego środowiska obraz systemu operacyjnego Ubuntu. Na naszym blogu w poście dotyczącym instalacji Rocky 9 na Proxmox możesz zobaczyć jak to się robi.

Po tym jak wystartuje mój serwer z zamontowanym obrazem systemu i uruchomi się instalator wybieram język instalacji (English) i co ważne decyduję się na minimalną wersję serwera. (minimized)

W kolejnym kroku przejdziemy do konfiguracji sieci. Klikamy zaznaczony interfejs ens18 i wybieramy typ IPV4 oraz tryb manualny. Wpisujemy podsieć w jakiej się znajdujemy, zarezerwowany dla nas adres IP, domyślną bramę i serwer DNS. Ja jak zwykle wpisuję tu serwery google 8.8.8.8 i klikamy Save oraz potem na dole Done

Dalej pomijamy wpisywanie Proxy. W następnym kroku instalator sprawdzi sobie dostępność pakietów na serwerze z archiwum oprogramowania ubuntu. Na kolejnym ekranie możemy pozostać przy domyślnej opcji konfiguracji przestrzeni dyskowej. (Guided storage layout) Nie zmieniając nic w proponowanych ustawieniach klikamy Done i zgadzamy się na straszliwie niszczycielską destrukcję dotychczasowej przestrzeni dyskowej klikając Continue.

Na zakładce Profile setup wpisujemy swoje dane w tym nazwę serwera, użytkownika i hasło. To ważny krok ponieważ nie będziesz mógł się logować jako root tylko jako user którego teraz stworzysz. Kolejny krok SSH Setup też jest bardzo ważny. Zaznacz instalacje OpenSSH jeżeli właśnie będziesz chciał logować się po SSH. Możesz tez przy okazji zaimportować swój klucz SSH.

Na kolejnym ekranie Featured Server Snaps pomijamy dodatkowe oprogramowanie i instalator przechodzi do swojej zasadniczej pracy. Gdy instalacja systemu się zakończy pojawi się napis Reboot Now, a na czerwonym pasku ze statusem napis: Install Complete! Odmontujmy najpierw naszą płytkę z obrazem systemu operacyjnego i zrestartujmy system. 

Po restarcie będziesz mógł już się zalogować jako Twój wcześniej stworzony użytkownik, ponieważ logowanie bezpośrednio na konto root jest zablokowane. Od tej chwili zamiast korzystać z konsoli Proxmoxa, będę korzystał z wygodnego terminala putty aby łatwo kopiować i wklejać polecenia.

Po zalogowaniu na nowo uruchom polecenie sudo. Twój użytkownik jest domyślnie w grupie sudoers, więc po chwili będziesz już na koncie root z pełnymi uprawnieniami.

				
					sudo -i
				
			

Przed instalacją Asteriska zaktualizujemy sam system operacyjny Ubuntu. Przy okazji zainstalujemy wygodny edytor tekstu nano. Aplikacje wget i tar do ściągnięcia i rozpakowania instalatora asterisk już są dostarczone razem z systemem. Zamiast polecenia yum w ubuntu wykorzystujemy polecenie apt do przeprowadzania instalacji.

				
					apt update
apt upgrade
apt install nano
				
			

2) Ściągnięcie i rozpakowanie oprogramowania Asterisk

Podpowiedź

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

PLIK INSTALATORA

Przejdź do katalogu w którym będziemy zajmowali się plikami instalatora i ściągnij asteriska z jego oficjalnej strony.

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

Rozpakuj instalatora, usuń plik źródłowy.

				
					tar zxvf asterisk-20-current.tar.gz
rm -rf asterisk-20-current.tar.gz
				
			

3) Konfiguracja instalatora

Przejdź teraz do folderu z plikami do instalacji.

				
					cd asterisk-20*/
				
			

Najpierw wykonamy skrypt install_prereq w katalogu contrib/scripts w repozytorium Asterisk. Jest to narzędzie służące do instalacji zależności i bibliotek wymaganych do kompilacji i uruchomienia Asteriska. Akcja „install” spowoduje przeprowadzenie wielu operacji, takich jak:

  1. Aktualizacja systemu: Skrypt może sprawdzić dostępność aktualizacji systemu operacyjnego i jeśli to konieczne, zaktualizować system przed instalacją zależności.

  2. Instalacja narzędzi kompilacyjnych: Skrypt może instalować narzędzia programistyczne i kompilatory, które są niezbędne do kompilacji Asteriska, takie jak GCC (GNU Compiler Collection), make, itp.

  3. Instalacja bibliotek i zależności: Skrypt może instalować różne biblioteki i zależności, które są wymagane do kompilacji i uruchomienia Asteriska. To mogą być biblioteki do obsługi dźwięku, obsługi protokołów VoIP (np. SIP), obsługi baz danych, itp.

  4. Konfiguracja systemu: Skrypt może także dokonywać pewnych konfiguracji systemowych, takich jak ustawienie jądra Linux lub parametrów środowiskowych.

				
					contrib/scripts/install_prereq install
				
			

Teraz możemy skonfigurować asteriska pod końcową kompilację. Skrypt configure pomaga dostosować proces kompilacji do konkretnej konfiguracji systemu. Oto główne funkcje ./configure:

  1. Wykrywanie i sprawdzanie zależności: ./configure analizuje konfigurację systemu i próbuje wykryć zależności oraz biblioteki, które są potrzebne do kompilacji oprogramowania. To pomaga zapewnić, że oprogramowanie będzie działać poprawnie na danym systemie.

  2. Konfiguracja opcji kompilacji: Skrypt configure umożliwia dostosowanie opcji kompilacji do potrzeb użytkownika. Na przykład, możesz określić, gdzie oprogramowanie ma zostać zainstalowane, włączyć lub wyłączyć określone funkcje, ustawić różne parametry konfiguracyjne, itp.

  3. Generowanie plików konfiguracyjnych: configure generuje pliki konfiguracyjne i nagłówkowe, które są używane przez proces kompilacji. Te pliki zawierają informacje na temat konfiguracji systemu oraz opcji kompilacji, które następnie są wykorzystywane przez narzędzia kompilacji (np. make).

  4. Sprawdzanie dostępności funkcji i modułów: configure może sprawdzać dostępność i zgodność różnych funkcji i modułów oprogramowania w zależności od konkretnych wymagań. Na przykład, jeśli pewna funkcja jest opcjonalna i może być wyłączona, configure umożliwia dostosowanie konfiguracji tak, aby uwzględnić lub wykluczyć tę funkcję.

				
					./configure
				
			

Jeżeli konfiguracja oprogramowania wykona się bez błędów to zobaczymy logo systemu asterisk. 

4) Kompilacja i instalacja

Jeżeli chcemy mieć możliwość wyboru dodatkowych opcji, funkcji, aplikacji, kodeków to proponuję użyć najpierw polecenie  make menuselect. Wyświetli ono menu, w którym można wybrać to, czego potrzebujemy.

				
					make menuselect
				
			

Przykładowo zaznaczymy powyżej format_mp3. Wychodząc oczywiście należy wybrać Save&Exit. Po wyborze odpowiednich opcji i zależności należy wykonać samo polecenie make. Przygotuje ono system do właściwej instalacji, co może zająć kilka minut.

				
					make
				
			

Uruchomimy teraz skrypt get_mp3_source.sh który jest w katalogu contrib/scripts Pobierze on źródła MP3 oraz niezbędne biblioteki do obsługi formatu MP3. Działa on w następujący sposób:

  1. Pobranie źródeł LAME: Skrypt pobiera źródła narzędzia LAME, który jest stosowany do kodowania i dekodowania plików audio w formacie MP3.

  2. Pobranie źródeł MAD: MAD (MPEG Audio Decoder) to biblioteka używana do dekodowania plików MP3. Skrypt pobiera źródła MAD.

  3. Kompilacja źródeł: Po pobraniu źródeł LAME i MAD, skrypt kompiluje te biblioteki.

  4. Instalacja bibliotek: Po skompilowaniu, skrypt instaluje biblioteki na systemie. Pozwala to na wykorzystanie tych bibliotek przez Asterisk podczas obsługi plików audio w formacie MP3.

MP3 jest formatem ochronionym prawem autorskim, dlatego źródła i biblioteki do jego obsługi nie są dostarczane razem z Asteriskiem. 

				
					contrib/scripts/get_mp3_source.sh
				
			

Przyszedł czas na właściwą instalację asteriska. Należy wywołać polecenie make z parametrem install 

				
					make install
				
			

Po udanej instalacji otrzymamy okienko z informacją podobną do poniższej.

 Teraz wygenerujemy przykładowe pliki systemowe za pomoca polecenia make samples

				
					make samples
				
			

Przeniesiemy wygenerowane pliki do nowego folderu (np. /etc/asterisk/samples/) i utworzymy podstawową konfigurację systemu za pomocą make basic-pbx.

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

Nasz system Asterisk jest już gotowy, chociaż nie ma o tym informacji na ekranie głównym. Musimy jeszcze wygenerować pliki startowe za pomocą  make config

				
					make config
				
			

5) Uruchomienie Asteriska

Jeżeli chcemy aby asterisk startował automatycznie z naszym systemem operacyjnym musimy dodać go do autostartu.

				
					systemctl enable asterisk
				
			

Teraz już wystartujmy nasz system telefoniczny i sprawdźmy jego status.

				
					systemctl start asterisk
systemctl status asterisk
				
			

Brawo! Jak widać system jest gotowy do działania. Możesz więc uruchomić centralę poleceniem asterisk -r i rozpocząć pracę.

				
					asterisk -r
				
			

Czy wiesz co tak na prawdę dzieje się na Twojej centrali? Wypróbuj nasze autorskie oprogramowanie VOIPERO.

System niedawno wystartował i teraz jest udostępniany całkowicie za darmo.  Instalacja i konfiguracja zajmuje kilka minut

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