SW/리눅스

CentOS 7 : Asterisk 설치하는 방법, 예제, 명령어

얇은생각 2020. 12. 12. 07:30
반응형

Asterisk는 IP PBX 시스템, 회의 서버 및 VoIP 게이트웨이를 지원하는 가장 널리 채택된 오픈 소스 PBX 플랫폼입니다. 이것은 전 세계 개인, 중소기업, 대기업 및 정부에 의해 사용됩니다.

별표 기능에는 음성 메일, 보류 중인 음악, 전화 회의, 통화 대기, 통화 기록, 대화형 음성 응답 등이 있습니다.

이 튜토리얼에서는 CentOS 7에 Asterisk 15를 설치하는 데 필요한 단계를 안내합니다.

 

 

 

필수 구성 요소

이 튜토리얼을 계속하기 전에 sudo 권한을 가진 사용자로 로그인했는지 확인합니다.

CentOS 시스템을 설치하고 Asterisk 소스 코드를 컴파일하는 데 필요한 개발 도구를 설치합니다.

sudo yum update
sudo yum groupinstall core base "Development Tools"

 

 

 

Selinux 비활성화

SELinux가 시행 모드로 설정된 경우 Asterisk가 올바르게 작동하지 않습니다.

SELinux 보안 기능을 사용하지 않도록 설정하려면 /etc/selinux/config 파일을 열고 SELINUX=disabled으로 설정합니다.

# /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#       enforcing - SELinux security policy is enforced.
#       permissive - SELinux prints warnings instead of enforcing.
#       disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of these two values:
#       targeted - Targeted processes are protected,
#       mls - Multi Level Security protection.
SELINUXTYPE=targeted

 

 

파일을 저장하고 CentOS 시스템을 재부팅합니다.

sudo shutdown -r now

 

 

기계가 부팅되면 getenforce 명령이 Disabled를 반환하는지 확인합니다.

getenforce

# Disabled

 

 

 

Asterisk 다운로드

소스 파일을 배치하기 위한 공통 위치인 /usr/src 디렉토리에 Asterisk 소스를 다운로드하려고 합니다.

다음을 입력하여 /usr/src 디렉토리로 변경합니다.

cd /usr/src/

 

 

다음 wget 명령을 사용하여 Asterisk 15의 최신 버전을 다운로드합니다.

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

 

 

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.

sudo tar zxf asterisk-15-current.tar.gz

 

 

다음 단계를 계속하기 전에 다음을 입력하여 Asterisk 원본 디렉터리로 변경해야 합니다.

cd asterisk-15.*/

 

 

 

Asterisk 종속성 설치

MP3 모듈을 빌드하고 Asterisk에서 MP3 파일을 사용하는 데 필요한 MP3 소스를 다운로드합니다.

sudo contrib/scripts/get_mp3_source.sh

 

 

다음으로 install_prereq 스크립트를 사용하여 누락된 종속성을 모두 설치합니다.

sudo contrib/scripts/install_prereq install

 

 

 

스크립트는 필요한 모든 패키지를 설치하고 성공적으로 완료되면 다음 메시지를 인쇄합니다.

#############################################
## install completed successfully
#############################################

 

 

 

 

 

Asterisk 설치

구성 스크립트는 빌드 및 설치 프로세스에 필요한 모든 종속성이 있는지 확인하기 위해 여러 검사를 수행합니다. 다음을 입력하여 스크립트를 시작합니다.

sudo ./configure --libdir=/usr/lib64

 

 

성공적으로 완료되면 다음 출력이 표시됩니다.

 

CentOS 7 : Asterisk 설치하는 방법, 예제, 명령어 1

 

 

다음 단계는 컴파일하여 설치할 모듈을 선택하는 것입니다.

대부분의 모듈이 이미 활성화되어 있습니다. 다음을 입력하여 메뉴 선택 시스템에 액세스합니다.

sudo make menuselect

 

 

우리는 이미 MP3 소스 파일을 다운로드했고, 이제 Asterisk에 format_mp3를 선택하여 MP3 모듈을 만들라고 말해야 합니다.

 

CentOS 7 : Asterisk 설치하는 방법, 예제, 명령어 2

 

 

완료되면 F12를 눌러 저장 및 종료하거나 저장 및 종료 버튼으로 전환한 후 Enter 키를 누릅니다. 

make 명령을 사용하여 컴파일 프로세스를 시작합니다.

sudo make -j2

 

 

시스템에 따라 빌드를 완료하는 데 시간이 걸릴 수 있습니다. 프로세서 코어 수에 따라 -j 플래그를 수정할 수 있습니다.

빌드 프로세스가 완료되면 다음 메시지가 표시됩니다.

 

CentOS 7 : Asterisk 설치하는 방법, 예제, 명령어 3

 

 

다음 단계에서는 다음을 입력하여 Asterisk와 해당 모듈을 설치합니다.

sudo make install

 

 

설치가 완료되면 스크립트에 다음 메시지가 표시됩니다.

 

CentOS 7 : Asterisk 설치하는 방법, 예제, 명령어 4

 

 

이제 Asterisk가 설치되었으므로 샘플 구성 파일을 설치해야 합니다. 

다음을 입력하여 참조 설명서와 함께 일반 구성 파일을 설치합니다.

sudo make samples

 

 

또는 기본 PBX 구성 파일을 설치합니다.

sudo make basic-pbx

 

 

 

마지막 단계는 다음을 입력하여 Asterisk init 스크립트를 설치하는 것입니다.

sudo make config

 

 

마지막으로 ldconfig를 실행하여 공유 라이브러리 캐시를 업데이트합니다.

sudo ldconfig

 

 

 

Asterisk 사용자 생성

기본적으로 Asterisk는 루트 사용자로 실행됩니다. 보안상의 이유로 새 시스템 사용자를 생성하고 새로 생성된 사용자로 실행되도록 Asterisk를 구성합니다.

Asterisk 새 시스템 사용자를 생성하려면 다음 명령을 실행합니다.

sudo adduser --system --user-group --home-dir /var/lib/asterisk --no-create-home asterisk

 

 

 

별표 사용자로 실행되도록 Asterisk를 구성하려면 /etc/sysconfig/asterisk 파일을 열고 다음 두 행의 연결을 해제합니다.

# /etc/sysconfig/asterisk

AST_USER="asterisk"
AST_GROUP="asterisk"

 

 

전화 걸기 및 오디오 그룹에 별표 사용자를 추가합니다.

sudo usermod -a -G dialout,audio asterisk

 

 

또한 모든 별표 파일 및 디렉토리의 소유권과 권한을 변경하여 사용자 별표가 해당 파일에 액세스할 수 있도록 해야 합니다.

sudo chown -R asterisk: /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk
sudo chmod -R 750 /var/{lib,log,run,spool}/asterisk /usr/lib64/asterisk /etc/asterisk

 

 

 

Asterisk 시작

이제 다음 명령을 사용하여 Asterisk 서비스를 시작할 수 있습니다.

sudo systemctl start asterisk

 

 

Asterisk가 실행 중인지 확인하려면 다음을 입력하여 CLI(Asterisk 명령줄 인터페이스)에 연결합니다.

sudo asterisk -vvvr

 

 

기본 Asterisk CLI 프롬프트가 표시됩니다.

 

CentOS 7 : Asterisk 설치하는 방법, 예제, 명령어 5

 

 

마지막 단계는 Asterisk 서비스가 부팅 시 다음 항목으로 시작할 수 있도록 하는 것입니다.

sudo systemctl enable asterisk

 

 

 

방화벽 규칙 조정

이제 Asterisk가 설치되어 실행 중이므로 Asterisk 특정 포트에서 트래픽을 허용하도록 방화벽을 구성해야 합니다.

시스템에서 방화벽을 사용하도록 설정하지 않은 경우 이 섹션을 건너뛸 수 있습니다.

원하는 텍스트 편집기를 열고 다음 Firewalld 서비스를 만듭니다.

# /etc/firewalld/services/asterisk.xml

<?xml version="1.0" encoding="utf-8"?>
<service version="1.0">
  <short>asterisk</short>
  <description>Asterisk is a software implementation of a telephone private branch exchange (PBX).</description>
  <port protocol="udp" port="10000-10100"/>
  <port protocol="udp" port="4569"/>
  <port protocol="udp" port="2727"/>
  <port protocol="udp" port="5060-5061"/>
</service>

 

 

파일을 저장하고 다음을 입력하여 새 방화벽 규칙을 적용합니다.

sudo firewall-cmd --add-service=asterisk --permanent
sudo firewall-cmd --reload

 

 

마지막으로 새 방화벽 규칙이 다음 항목에 성공적으로 적용되었는지 확인합니다.

sudo firewall-cmd --list-all

# public (active)
#   target: default
#   icmp-block-inversion: no
#   interfaces: eth0
#   sources:
#   services: ssh dhcpv6-client asterisk
#   ports:
#   protocols:
#   masquerade: no
#   forward-ports:
#   source-ports:
#   icmp-blocks:
#   rich rules:

 

 

필요에 따라 방화벽을 자유롭게 조정할 수 있습니다.

반응형