웹사이트 검색

CentOS/RHEL 8/7에 별표를 설치하는 방법


Asterisk는 커뮤니케이션 애플리케이션을 구축하는 데 사용되는 오픈 소스 프레임워크입니다. 이를 사용하여 로컬 컴퓨터나 서버를 통신 서버로 전환할 수 있습니다. IP PBX 시스템, VoIP 게이트웨이, 회의 서버 및 기타 솔루션에 전원을 공급하는 데 사용됩니다. 전 세계 모든 종류의 조직에서 사용하고 있지만 마지막은 아니지만 무료이며 오픈 소스입니다.

이 튜토리얼에서는 CentOS 8/7Asterisk를 설치하는 방법을 보여 드리겠습니다(지침은 RHEL 8/7에서도 작동함). , 하지만 시작하기 전에 Asterisk가 설치 후 원활하게 실행될 수 있도록 몇 가지 준비를 해야 합니다.

1단계: CentOS에서 SELinux 비활성화

이렇게 하려면 시스템에 SSH로 접속하고 선호하는 명령줄 텍스트 편집기를 사용하여 /etc/selinux/config를 열고 SELINUX를 비활성화하세요.

vim /etc/selinux/config

SELinux 라인은 다음과 같아야 합니다:

SELINUX=disabled

이제 시스템을 재부팅하십시오. SSH가 해당 시스템으로 다시 돌아오면.

2단계: 필수 패키지 설치

Asterisk에는 설치해야 할 몇 가지 요구 사항이 있습니다. 다음 yum 명령을 사용하여 표시된 대로 필수 패키지를 설치할 수 있습니다.

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

계속 진행하기 전에 "별표"라는 sudo 권한을 가진 새 사용자를 생성하고 이 사용자를 사용하여 시스템에 별표를 설정합니다.

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

다음으로, SIP,SDP,RTP,STUN,TURN 및 ICE와 같은 표준 기반 프로토콜을 구현하는 무료 오픈 소스 멀티미디어 통신 라이브러리인 PJSIP을 설치하세요. 호출의 명확성을 향상시키는 것은 Asterisk SIP 채널 드라이버입니다.

최신 버전을 얻으려면 먼저 소스에서 패키지를 빌드할 임시 디렉터리를 만들어 보겠습니다.

mkdir ~/build && cd ~/build

이제 PJSIP 다운로드 페이지로 이동하여 패키지를 가져오거나 다음 wget 명령을 사용하여 터미널에서 직접 패키지를 다운로드하십시오.

이 글을 작성하는 현재 최신 버전은 2.8이며 향후 변경될 수 있으므로 최신 버전을 사용하시기 바랍니다.

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

다운로드가 완료되면 파일을 추출하고 해당 디렉터리로 변경합니다.

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

다음 단계는 컴파일할 패키지를 준비하는 것입니다. 다음 명령을 사용할 수 있습니다.

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

오류나 경고가 표시되어서는 안 됩니다. 모든 종속성이 충족되는지 확인하세요.

make dep

이제 다음을 사용하여 라이브러리 설치 및 링크를 완료할 수 있습니다.

make && sudo make install && sudo ldconfig

마지막으로 모든 라이브러리가 설치되어 있는지 확인하십시오.

ldconfig -p | grep pj

다음과 같은 결과가 출력되어야 합니다.

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

3단계: CentOS 8/7에 별표 설치

이제 Asterisk 설치를 시작할 준비가 되었습니다. ~/build 디렉터리로 다시 이동합니다.

cd ~/build

Asterisk 다운로드 페이지로 이동하여 최신 버전을 다운로드하거나 다음 wget 명령을 사용하여 터미널에서 파일을 다운로드할 수 있습니다.

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

이 튜토리얼을 작성했을 때 최신 Asterisk 버전은 16입니다. 단계를 수행할 때 최신 버전의 Asterisk를 다운로드하고 있는지 확인하십시오.

이제 아카이브를 추출하고 새로 생성된 디렉터리로 이동합니다.

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

이제 클라이언트가 대기 중인 동안 음악을 재생하기 위해 mp3 지원을 활성화하려면 몇 가지 종속성을 더 설치해야 한다는 점을 언급할 때입니다. 다음 단계는 선택 사항입니다.

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

두 번째 단계 후에는 다음과 유사한 출력이 표시됩니다.

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.

컴파일을 위해 패키지를 준비하려면 구성 스크립트를 실행하여 시작하십시오.

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

누락된 종속성이 있으면 설치하세요. 내 경우에는 다음과 같은 오류가 발생했습니다.

configure: error: patch is required to configure bundled pjproject

이 문제를 해결하려면 다음을 실행하세요.

yum install patch 

그리고 구성 스크립트를 다시 실행하십시오. 모든 것이 오류 없이 완벽하게 진행되었다면 다음 스크린샷을 볼 수 있습니다.

이제 빌드 프로세스를 시작하겠습니다.

make menuselect

몇 초 후에 활성화할 기능 목록이 표시됩니다.

대기 음악 기능을 사용하려면 '추가 기능' 섹션에서 'format_mp3' 기능을 활성화해야 합니다. 목록을 저장하고 다음 명령을 실행하십시오.

make && sudo make install

샘플 구성 파일을 설치하려면 아래 명령을 사용하십시오.

sudo make samples

부팅 시 Asterisk를 시작하려면 다음을 사용하십시오.

sudo make config

다음 디렉터리 및 파일의 소유권을 업데이트합니다.

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

마지막으로 다음을 사용하여 설치를 테스트해 보겠습니다.

sudo service asterisk start
sudo asterisk -rvv

다음과 비슷한 출력이 표시됩니다.

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>

사용 가능한 명령 목록을 보려면 다음을 입력하십시오.

asterisk*CLI> core show help

별표 프롬프트를 종료하려면 다음을 입력하십시오.

asterisk*CLI> exit

별표는 여전히 백그라운드에서 실행됩니다.

결론

이제 실행 중인 Asterisk 서버가 있으므로 전화와 내선 연결을 시작하고 필요에 따라 구성을 조정할 수 있습니다. 이를 달성하는 방법에 대한 자세한 내용을 보려면 Asterisk Wiki 페이지를 사용하는 것이 좋습니다. 질문이나 의견이 있는 경우 아래 의견란에 알려주시기 바랍니다.