Szukaj

Samuouczek Asteriska: Instalacja Asteriska 16 ze źródła na CentOS 7

Samuouczek Asteriska: Instalacja Asteriska 16 ze źródła na CentOS 7

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 6/7


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

Spis treści

Poniżej znajdziesz wszystkie polecenia oraz pliki niezbędne do zainstalowania Asterisk’a 16 z plików źródłowych na systemie Centos 7.

WAŻNE
Chociaż poniższe instrukcje dotyczą instalacji Asteriska na systemie CentOS 7, możemy go zainstalować w identyczny sposób na starszej wersji: CentOS 6.
PODPOWIEDŹ
Zamiast wykonywać wszystkie poniższe instrukcje możesz też skorzystać z naszego instalatora, który instaluje podstawową wersję Asteriska. Instalator działa zarówno na systemach Centos 6 oraz 7 (w wersjach 32 oraz 64-bitowych).
 

PLIK INSTALATORA

1) Wymagania wstępne

Po pierwsze upewnij się, że wykonujesz polecenia jako root. Wykonaj polecenie su i wprowadź hasło.

				
					su
				
			

Dobrze jest zacząć od instalacji prostego notatnika. Osobiście używam nano. Jeśli chcesz go dostosować do edycji plików konfiguracyjnych Asterisk’a przeczytaj ten post.

Zaktualizuj system operacyjny oraz zainstaluj notatnik i program do pobierania plików.

				
					yum -y update
yum -y install nano wget
				
			

2) SELinux

Zanim zaczniesz powinieneś również wyłączyć SELinux (Security-Enhanced Linux – moduł bezpieczeństwa jądra Linux). Jeśli tego nie zrobić to później możesz napotkać problemy np. z odtwarzaniem nagrań.

Jeśli wykonasz polecenie sestatus to zobaczysz aktualny stan SELinux.

				
					sestatus
				
			

Jeśli jest aktywna (ang. enabled) to edytuj plik /etc/selinux/config i zmień politykę z enforcing na disabled.

				
					nano /etc/selinux/config
				
			
PODPOWIEDŹ
Opcjonalnie zamiast edytować /etc/selinux/config możesz wykonać polecenie:
				
					sed -i s/SELINUX=enforcing/SELINUX=disabled/g /etc/selinux/config
				
			

3) Restart

Niestety jedynym sposobem na całkowite wyłączenie SELinux jest restart serwera.

				
					reboot
				
			
PODPOWIEDŹ
Jeśli nie chcesz teraz restartować komputera, ale chcesz przejść w tryb 'permissive’ (ang. permit = pozwolić), wpisz setenforce 0. To pozwoli kontynouwać bez konieczności restartu.
				
					setenforce 0
				
			

Po restarcie sestatus powinien wskazywać wyłączoną usługę.

4) Konfiguracja zależności

Najpierw pobierz pliki źródłowe Asterisk’a. /usr/src to wygodny katalog do przechowywania plików źródłowych.

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

 przeciwieństwie do np. Asterisk’a 11 nie musisz teraz instalować ręcznie wszystkich niezbędnych zależności (np. make gcc gcc-c++ lynx bison ncurses-devel). Wystarczy wykorzystać gotowy skrypt instalacyjny. Jeśli chcesz, żeby zainstalował on większą ilość oprogramowania (np. kodek opus lub spandsp do faksów) dodaj wcześniej repozytorium EPEL.

				
					# optional epel-release
yum -y install epel-release

contrib/scripts/install_prereq install
				
			

Teraz możesz wybrać spośród wielu opcji konfiguracji Asterisk’a. Jeśli używasz 64-bitowej wersji systemu dodaj --libdir=/usr/lib64 do polecenia configure. Żeby sprawdzić z jakiej wersji systemu korzystasz wykonaj polecenie uname -m.

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

Począwszy od Asterisk 15.0.0, pjproject jest domyślnie aktywny, ale możesz go wyłączyć dodając --without-pjproject-bundled do ./configure.

# dla 32bit
				
					./configure --with-pjproject-bundled --with-jansson-bundled
				
			
# dla 64bit
				
					./configure --libdir=/usr/lib64 --with-pjproject-bundled --with-jansson-bundled
				
			

Po zakończeniu procesu zobaczysz logo Asterisk’a.

5) make, make, make i … make

Teraz wystarczy wykonać make i to rozpocznie kompilację oprogramowania. Lepiej jednak mieć możliwość wybrania dodatkowych opcji, funkcji, aplikacji, itp… W tym celu skorzystaj z make menuselect. To polecenie wygeneruje menu, z którego będziesz mógł wybrać interesujące Cię opcje.

				
					make menuselect
				
			

W tym momencie możesz zaznaczyć, odznaczyć lub zmienić wszystkie opcje np. przechowywać pocztę głosową (ang. voicemail) w bazie danych (ODBC) zamiast w plikach (ang. file).

Na pewno zauważysz, że nie możesz zaznaczyć do instalacji wszystkich modułów. Ale masz też informacje czego dokładnie brakuje w systemie operacyjnym.

W tym przypadku wszystarczy pobrać i zainstalować ikemel-devel rpm i problem rozwiązany. Oczywiście przed wykonaniem menuselect musisz najpierw ponownie wykonać ./configure.

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 skompilować tą samą konfigurację na wielu serwerach możesz użyć jednolinijkowego polecenia: menuselect/menuselect --enable-category MENUSELECT_ADDONS --disable MODULENAME --enable MODULENAME menuselect.makeopts. Żeby wyświelić wszystkie możliwe opcje użyj menuselect/menuselect --list-options.
# example with ODBC Voicemail and ALAW soundpack
				
					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 zacząć kompilację i przygotować się do instalacji. Najpierw wykonaj make. Ten i kolejny proces mogą potrwać kilka minut w zależności od zaznaczonych opcji.

				
					make
				
			

System podpowiada co zrobić dalej. Kolejny krok zainstaluje Asterisk’a na twoim urządzeniu.

				
					make install
				
			

Jeśli zaznaczyłeś format_mp3 po prostu podążaj za instrukcją na ekranie.

				
					contrib/scripts/get_mp3_source.sh
				
			

W tym momencie masz do wyboru kilka opcji:

  • nic nie rób
    Jak w tytule … nie rób nic i stwórz wszystkie pliki samodzielnie.
  • make samples
    Stworzy to przykładowe pliki z opisami (nadpisując obecna konfigurację).
  • make progdocs
    Instaluje obszerną dokumentację, przydatną tylko dla developerów (wymaga doxygen: yum -y install doxygen)
  • make basic-pbx (Asterisk 13+)
    Najlepsze opcja, ale niedostępna w naszej wersji Asterisk’a. Robi to samo co „make samples”, ale tworzy jedynie kilkanaście niezbędnych plików zamiast ponad 100.

Zachęcam do wykorzystania zarówno 2 oraz 4 opcji. Użyjmy make samples. To utworzy wszystkie pliki z przejrzystymi opisami.

				
					make samples
				
			

Przenieść pliki do nowego katalogu (np. /etc/asterisk/samples/), a następnie utwórz tylko podstawowe pliki przy użyciu basic-pbx.

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

Chociaż Asterisk jest już gotowy to warto (chociaż o dziwno nie wyświetla się taka podpowiedź) wykonać polecenie make config. Stworzy to pliki startowe i ułatwi wykonywanie podstawowych komend.

				
					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
				
			

Teraz tylko wejdź do centrali asterisk -r i zabawę czas zacząć!

				
					asterisk -r
				
			

Gratulacje! Instalacja Asteriska ze źródła zakończona!

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