- Hostowany PBX
- IP PBX (systemy telefonii biznesowej)
- Brama VoIP
- Serwer poczty głosowej
- Most konferencyjny
- Centrum telefoniczne
- Serwer IVR
Jeżeli preferujesz inną dystrybucję Linuxa możesz też zobaczyć nasze artykuły o instalacji Asteriska na Debianie, Ubuntu, CentOS 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ź
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ź
/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ź
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ę!