Kif Tinstalla Asterisk fuq CentOS/RHEL 8/7


Asterisk huwa qafas open-source użat għall-bini ta 'applikazzjonijiet ta' komunikazzjoni. Tista 'tużaha biex iddawwar kompjuter jew server lokali għas-server tal-komunikazzjoni. Jintuża biex iħaddem sistemi IP PBX, gateways VoIP, servers tal-konferenzi, u soluzzjonijiet oħra. Jintuża minn kull tip ta 'organizzazzjonijiet madwar id-dinja u finalment, iżda mhux l-aħħar huwa b'xejn u sors miftuħ.

F'dan it-tutorja, ser nuruk kif tinstalla Asterisk fuq CentOS 8/7 (l-istruzzjonijiet jaħdmu wkoll fuq RHEL 8/7), iżda qabel ma nibdew, ikollna bżonn nagħmlu xi preparazzjonijiet sabiex Asterisk ikun jista' jaħdem bla xkiel wara l-installazzjoni. .

Pass 1: Iddiżattiva SELinux fuq CentOS

Biex tagħmel dan, SSH għas-sistema tiegħek u uża l-editur tat-test tal-linja tal-kmand favorita tiegħek, iftaħ /etc/selinux/config u tiddiżattiva SELINUX.

# vim /etc/selinux/config

Il-linja SELinux għandha tidher bħal din:

SELINUX=disabled

Issa reboot is-sistema tiegħek. Ladarba terġa 'lura SSH għal dik is-sistema.

Pass 2: Installa Pakketti Meħtieġa

Asterisk għandu pjuttost ftit rekwiżiti li jeħtieġ li jiġu installati. Tista 'tuża l-kmand yum li ġej biex tinstalla l-pakketti meħtieġa kif muri.

# yum install -y epel-release dmidecode gcc-c++ ncurses-devel libxml2-devel make wget openssl-devel newt-devel kernel-devel sqlite-devel libuuid-devel gtk2-devel jansson-devel binutils-devel libedit libedit-devel

Qabel ma nkomplu aktar, oħloq utent ġdid bi privileġġi sudo imsejħa asterisk, se nużaw dan l-utent biex insettjaw l-asterisk fuq is-sistema.

# adduser asterisk -c "Asterisk User"
# passwd asterisk 
# usermod -aG wheel asterisk
# su asterisk

Sussegwentement, installa PJSIP, hija librerija ta' komunikazzjoni multimedjali b'xejn b'sors miftuħ li timplimenta protokolli bbażati fuq standard bħal SIP, SDP, RTP, STUN, TURN, u ICE. Huwa s-sewwieq tal-kanal Asterisk SIP li għandu jtejjeb iċ-ċarezza tas-sejħiet.

Biex tikseb l-aħħar verżjoni, l-ewwel ejja noħolqu direttorju temporanju fejn se nibnu l-pakkett mis-sors.

$ mkdir ~/build && cd ~/build

Issa mur l-kmand wget biex tniżżel il-pakkett direttament fit-terminal.

Innota li bil-kitba ta 'dan l-artikolu l-aħħar verżjoni hija 2.8, dan jista' jinbidel fil-futur, għalhekk kun żgur li tuża l-aħħar verżjoni:

$ wget https://www.pjsip.org/release/2.9/pjproject-2.9.tar.bz2

Ladarba t-tniżżil tkun kompluta, iġbed il-fajl u ibdel għal dak id-direttorju.

$ tar xvjf pjproject-2.9.tar.bz2
$ cd pjproject-2.9

Il-pass li jmiss huwa li tipprepara l-pakkett li għandu jiġi kkumpilat. Tista' tuża l-kmand li ġej:

$ ./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr

M'għandekx tara xi żbalji jew twissijiet. Żgura li d-dipendenzi kollha jiġu sodisfatti:

$ make dep

U issa nistgħu tlesti l-installazzjoni u l-link libreriji ma:

$ make && sudo make install && sudo ldconfig

Fl-aħħarnett, kun żgur li l-libreriji kollha huma installati u preżenti:

$ ldconfig -p | grep pj

Għandek tikseb l-output li ġej:

libpjsua2.so.2 (libc6,x86-64) => /lib64/libpjsua2.so.2
	libpjsua2.so (libc6,x86-64) => /lib64/libpjsua2.so
	libpjsua.so.2 (libc6,x86-64) => /lib64/libpjsua.so.2
	libpjsua.so (libc6,x86-64) => /lib64/libpjsua.so
	libpjsip.so.2 (libc6,x86-64) => /lib64/libpjsip.so.2
	libpjsip.so (libc6,x86-64) => /lib64/libpjsip.so
	libpjsip-ua.so.2 (libc6,x86-64) => /lib64/libpjsip-ua.so.2
	libpjsip-ua.so (libc6,x86-64) => /lib64/libpjsip-ua.so
	libpjsip-simple.so.2 (libc6,x86-64) => /lib64/libpjsip-simple.so.2
	libpjsip-simple.so (libc6,x86-64) => /lib64/libpjsip-simple.so
	libpjnath.so.2 (libc6,x86-64) => /lib64/libpjnath.so.2
	libpjnath.so (libc6,x86-64) => /lib64/libpjnath.so
	libpjmedia.so.2 (libc6,x86-64) => /lib64/libpjmedia.so.2
	libpjmedia.so (libc6,x86-64) => /lib64/libpjmedia.so
	libpjmedia-videodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-videodev.so.2
	libpjmedia-videodev.so (libc6,x86-64) => /lib64/libpjmedia-videodev.so
	libpjmedia-codec.so.2 (libc6,x86-64) => /lib64/libpjmedia-codec.so.2
	libpjmedia-codec.so (libc6,x86-64) => /lib64/libpjmedia-codec.so
	libpjmedia-audiodev.so.2 (libc6,x86-64) => /lib64/libpjmedia-audiodev.so.2
	libpjmedia-audiodev.so (libc6,x86-64) => /lib64/libpjmedia-audiodev.so
	libpjlib-util.so.2 (libc6,x86-64) => /lib64/libpjlib-util.so.2
	libpjlib-util.so (libc6,x86-64) => /lib64/libpjlib-util.so
	libpj.so.2 (libc6,x86-64) => /lib64/libpj.so.2
	libpj.so (libc6,x86-64) => /lib64/libpj.so

Pass 3: Installa Asterisk fuq CentOS 8/7

Aħna issa lesti li nibdew l-installazzjoni ta 'Asterisk. Innaviga lura għad-direttorju ~/build tagħna:

$ cd ~/build

Mur fil-kmand wget biex tniżżel il-fajl fit-terminal.

$ wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz

Permezz tal-kitba ta 'dan it-tutorja, l-aħħar verżjoni ta' Asterisk hija 16. Kun żgur li qed tniżżel l-aħħar verżjoni ta 'Asterisk, meta tkun qed issegwi l-passi.

Issa oħroġ l-arkivju u naviga fid-direttorju li għadu kif inħoloq:

$ tar -zxvf asterisk-16-current.tar.gz
$ cd asterisk-16.5.1

Dan huwa ż-żmien li wieħed isemmi, li jekk inti tixtieq li tippermetti l-appoġġ mp3 biex idoqq il-mużika waqt li l-klijent ikun fuq istiva, ser ikollok bżonn tinstalla ftit dipendenzi aktar. Dawn il-passi huma fakultattivi:

$ sudo yum install svn
$ sudo ./contrib/scripts/get_mp3_source.sh

Wara t-tieni pass, għandek tikseb output simili għal dawn:

A    addons/mp3
A    addons/mp3/Makefile
A    addons/mp3/README
A    addons/mp3/decode_i386.c
A    addons/mp3/dct64_i386.c
A    addons/mp3/MPGLIB_TODO
A    addons/mp3/mpg123.h
A    addons/mp3/layer3.c
A    addons/mp3/mpglib.h
A    addons/mp3/decode_ntom.c
A    addons/mp3/interface.c
A    addons/mp3/MPGLIB_README
A    addons/mp3/common.c
A    addons/mp3/huffman.h
A    addons/mp3/tabinit.c
Exported revision 202.

Ibda billi tħaddem l-iskrittura tal-konfigurazzjoni biex tipprepara l-pakkett għall-kumpilazzjoni:

$ sudo contrib/scripts/install_prereq install
$ ./configure --libdir=/usr/lib64 --with-jansson-bundled

Jekk ikollok xi dipendenzi nieqsa biex tinstallahom. Fil-każ tiegħi, sibt l-iżball li ġej:

configure: error: patch is required to configure bundled pjproject

Biex tgħaddi minn dan sempliċement mexxi:

# yum install patch 

U erġa' ħaddem l-iskrittura tal-konfigurazzjoni. Jekk kollox mar perfettament mingħajr żbalji, se tara l-screenshot li ġej.

Issa, ejja nibdew il-proċess tal-bini:

$ make menuselect

Wara ftit sekondi, għandek tikseb lista ta 'karatteristiċi biex tippermetti:

Jekk tipprova tuża l-karatteristika tal-mużika fuq l-istiva, ikollok bżonn li tattiva l-karatteristika \format_mp3 mit-taqsima \Add-ons. Issejvja l-lista tiegħek u mexxi l-kmand li ġej:

$ make && sudo make install

Biex tinstalla l-fajls tal-konfigurazzjoni tal-kampjun, uża l-kmand hawn taħt:

$ sudo make samples

Biex tibda Asterisk fuq il-but, uża:

$ sudo make config

Aġġorna s-sjieda tad-direttorji u l-fajls li ġejjin:

$ sudo chown asterisk. /var/run/asterisk
$ sudo chown asterisk. -R /etc/asterisk
$ sudo chown asterisk. -R /var/{lib,log,spool}/asterisk

Fl-aħħarnett, ejja nittestjaw l-installazzjoni tagħna bi:

$ sudo service asterisk start
$ sudo asterisk -rvv

Għandek tara output simili għal dan:

Asterisk 16.5.1, Copyright (C) 1999 - 2018, Digium, Inc. and others.
Created by Mark Spencer <[email >
Asterisk comes with ABSOLUTELY NO WARRANTY; type 'core show warranty' for details.
This is free software, with components licensed under the GNU General Public
License version 2 and other licenses; you are welcome to redistribute it under
certain conditions. Type 'core show license' for details.
=========================================================================
Connected to Asterisk 16.5.1 currently running on centos8-tecmint (pid = 9020)
centos8-tecmint*CLI>

Jekk trid tara lista ta' kmandi disponibbli ittajpja:

asterisk*CLI> core show help

Biex toħroġ mill-pront Asterisk, sempliċement ittajpja:

asterisk*CLI> exit

Asterisk xorta se jkun qed jaħdem fl-isfond.

Issa għandek server Asterisk għaddej u tista 'tibda tgħaqqad it-telefowns u l-estensjonijiet u taġġusta l-konfigurazzjoni tiegħek skont il-bżonnijiet tiegħek. Għal aktar dettalji dwar kif jinkiseb dan, huwa rakkomandat li tuża l-paġna Asterisk Wiki. Jekk għandek xi mistoqsijiet jew kummenti, jekk jogħġbok għarrafna fit-taqsima tal-kummenti hawn taħt.