VoIP 서버 · 6 min read · Nov 08, 2025

CentOS 8에 Asterisk 18 VoIP 서버 설치하는 방법

Asterisk는 오픈 소스 라이센스 하에 배포되는 강력한 디지털 PBX 및 VoIP 서버로, 무료로 사용할 수 있습니다. VoIP는 여러 엔드포인트 간에 전화 통화를 설정하고 제어하는 데 사용되는 기술입니다. VoIP 게이트웨이, 회의 서버, 콜 센터, 통신사 및 전 세계 정부 기관에서 사용됩니다. Linux, BSD 및 OS X에서 실행되며, 로컬 시스템이나 서버를 통신 서버로 변환할 수 있습니다.

이 게시물에서는 CentOS 8 서버에 Asterisk를 설치하는 방법을 설명합니다.

필수 조건

  • CentOS 8을 실행하는 서버.
  • 서버에 루트 비밀번호가 설정되어 있어야 합니다.

시작하기

기본적으로 CentOS 8에서는 SELinux가 활성화되어 있습니다. 따라서 먼저 이를 비활성화해야 합니다. 비활성화하려면 SELinux 구성 파일을 편집합니다:

nano /etc/selinux/config

다음 줄을 변경합니다:

SELINUX=disabled

파일을 저장하고 닫은 후 시스템을 재부팅하여 변경 사항을 적용합니다.

필수 도구 설치

Asterisk는 서버에 설치해야 하는 여러 패키지를 필요로 합니다. 먼저 다음 명령어로 EPEL 저장소를 설치합니다:

dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

다음으로, 다음 명령어로 PowerTools 저장소를 활성화합니다:

dnf config-manager --set-enabled PowerTools

다음으로, 다음 명령어로 다른 패키지 및 개발 도구를 설치합니다:

dnf install wget gcc gcc-c++ svn make bzip2 patch libedit-devel uuid-devel libuuid-devel libxml2-devel sqlite sqlite-devel nano openssl openssl-devel -y  
dnf groupinstall "Development Tools"

필요한 모든 패키지가 설치되면 다음 단계로 진행할 수 있습니다.

Jansson 및 PJSIP 설치

다음으로, 시스템에 Jansson을 설치해야 합니다. 이는 미디어 데이터 인코딩 및 디코딩에 사용됩니다.

먼저, 다음 명령어로 Git 저장소에서 다운로드합니다:

git clone https://github.com/akheron/jansson.git

다음으로, 다운로드한 디렉토리로 이동하여 다음 명령어로 컴파일합니다:

cd jansson  
autoreconf -i  
./configure --prefix=/usr/  
make  
make install

다음으로, 시스템에 PJSIP를 설치해야 합니다. 이는 SIP, SDP, RTP, STUN, TURN 및 ICE 프로토콜을 구현하는 데 사용되는 라이브러리입니다.

먼저, 다음 명령어로 다운로드합니다:

cd  
git clone https://github.com/pjsip/pjproject.git

다음으로, 다운로드한 디렉토리로 이동하여 다음 명령어로 컴파일합니다:

cd pjproject  
./configure CFLAGS="-DNDEBUG -DPJ_HAS_IPV6=1" --prefix=/usr --libdir=/usr/lib64 --enable-shared --disable-video --disable-sound --disable-opencore-amr  
make dep  
make  
make install  
ldconfig

작업이 완료되면 Asterisk 설치로 진행할 수 있습니다.

Asterisk 설치

먼저, 홈 디렉토리로 이동하여 다음 명령어로 Asterisk의 최신 버전을 다운로드합니다:

cd  
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz

다운로드가 완료되면 다음 명령어로 다운로드한 파일을 추출합니다:

tar -xvzf asterisk-18-current.tar.gz

다음으로, 다음 명령어로 추출된 디렉토리로 이동합니다:

cd asterisk-18.4.0/

다음으로, 다음 명령어로 Asterisk를 구성합니다:

./configure --libdir=/usr/lib64

다음과 같은 출력을 볼 수 있어야 합니다:

configure: Menuselect build configuration successfully completed

               .$$$$$$$$$$$$$$$=..      
            .$7$7..          .7$$7:.    
          .$$:.                 ,$7.7   
        .$7.     7$$$$           .$$77  
     ..$$.       $$$$$            .$$$7 
    ..7$   .?.   $$$$$   .?.       7$$$.
   $.$.   .$$$7. $$$$7 .7$$$.      .$$$.
 .777.   .$$$$$$77$$$77$$$$$7.      $$$,
 $$$~      .7$$$$$$$$$$$$$7.       .$$$.
.$$7          .7$$$$$$$7:          ?$$$.
$$$          ?7$$$$$$$$$$I        .$$$7 
$$$       .7$$$$$$$$$$$$$$$$      :$$$. 
$$$       $$$$$$7$$$$$$$$$$$$    .$$$.  
$$$        $$$   7$$$7  .$$$    .$$$.   
$$$$             $$$$7         .$$$.    
7$$$7            7$$$$        7$$$      
 $$$$$                        $$$       
  $$$$7.                       $$  (TM)     
   $$$$$$$.           .7$$$$$$  $$      
     $$$$$$$$$$$$7$$$$$$$$$.$$$$$$      
       $$$$$$$$$$$$$$$$.                

configure: Package configured for: 
configure: OS type  : linux-gnu
configure: Host CPU : x86_64
configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :
configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :

다음으로, Asterisk와 함께 설치할 추가 애드온을 설치하기 위해 다음 명령어를 실행합니다.

make menuselect

다음과 같은 페이지를 볼 수 있어야 합니다:

Make menuselect

Add-ons를 선택하고 Enter를 누릅니다. 다음과 같은 페이지를 볼 수 있어야 합니다:

Select Add-ons

필요한 애드온을 선택하고 Enter를 눌러 선택한 후 ESC를 눌러 기본 메뉴로 돌아갑니다:

Select Asterisk Add-ons

필요한 Core sound 패키지를 선택하고 Enter를 눌러 선택합니다. 다음으로, ESC를 눌러 돌아가고, 아래와 같이 MOH 패키지를 선택합니다:

Asterisk Sound Packages

필요한 패키지를 선택하고 Enter를 눌러 선택합니다. 다음으로, ESC를 눌러 돌아가고, 아래와 같이 Extra 패키지를 선택합니다:

Choose extra packages

필요한 패키지를 선택하고 Enter를 눌러 선택합니다. 그런 다음 ESC 버튼을 누릅니다. 다음과 같은 페이지를 볼 수 있어야 합니다:

Save build changes

변경 사항을 저장하고 종료하려면 S를 누릅니다.

다음으로, 모든 필수 종속성을 설치하기 위해 다음 명령어를 실행합니다:

contrib/scripts/get_mp3_source.sh

다음으로, 다음 명령어로 Asterisk를 빌드합니다:

make

다음과 같은 출력을 볼 수 있어야 합니다:

 +--------- Asterisk Build Complete ---------+
 + Asterisk has successfully been built, and +
 + can be installed by running:              +
 +                                           +
 +                make install               +
 +-------------------------------------------+

make install
 +---- Asterisk Installation Complete -------+
 +                                           +
 +    YOU MUST READ THE SECURITY DOCUMENT    +
 +                                           +
 + Asterisk has successfully been installed. +
 + If you would like to install the sample   +
 + configuration files (overwriting any      +
 + existing config files), run:              +
 +                                           +
 + For generic reference documentation:      +
 +    make samples                           +
 +                                           +
 + For a sample basic PBX:                   +
 +    make basic-pbx                         +
 +                                           +
 +                                           +
 +-----------------  or ---------------------+
 +                                           +
 + You can go ahead and install the asterisk +
 + program documentation now or later run:   +
 +                                           +
 +               make progdocs               +
 +                                           +
 + Note This requires that you have      +
 + doxygen installed on your local system    +
 +-------------------------------------------+

다음으로, 다음 명령어로 Asterisk를 설치합니다:

make samples  
make config  
ldconfig

Asterisk 구성

다음으로, Asterisk를 실행할 전용 사용자를 생성해야 합니다. 다음 명령어로 사용자와 그룹을 생성할 수 있습니다:

groupadd asterisk  
useradd -r -d /var/lib/asterisk -g asterisk asterisk

다음으로, 다음 명령어로 Asterisk 그룹에 오디오 및 다이얼아웃 사용자를 추가합니다:

usermod -aG audio,dialout asterisk

다음으로, 다음 명령어로 Asterisk 디렉토리의 소유권을 asterisk 사용자에게 설정합니다:

chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk

다음으로, /etc/sysconfig/asterisk 파일을 편집합니다:

nano /etc/sysconfig/asterisk

다음 줄의 주석을 제거합니다:

AST_USER="asterisk"
AST_GROUP="asterisk"

파일을 저장하고 닫은 후, /etc/asterisk/asterisk.conf 파일을 편집합니다:

nano /etc/asterisk/asterisk.conf

다음 줄의 주석을 제거합니다:

runuser = asterisk ; The user to run as.
rungroup = asterisk ; The group to run as.

작업이 완료되면 파일을 저장하고 닫습니다. 그런 다음, 변경 사항을 적용하기 위해 Asterisk 서비스를 재시작합니다.

systemctl restart asterisk

다음으로, 시스템 재부팅 시 Asterisk 서비스가 시작되도록 활성화합니다:

systemctl enable asterisk

Asterisk 서비스의 상태를 확인하려면 다음 명령어를 실행합니다:

systemctl status asterisk

다음과 같은 출력을 받을 수 있어야 합니다:

? asterisk.service - LSB: Asterisk PBX
   Loaded: loaded (/etc/rc.d/init.d/asterisk; generated)
   Active: active (running) since Sat 2021-05-22 08:19:08 EDT; 15s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 70883 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS)
 Main PID: 70914 (asterisk)
    Tasks: 81 (limit: 25014)
   Memory: 36.8M
   CGroup: /system.slice/asterisk.service
           ??70912 /bin/sh /usr/sbin/safe_asterisk
           ??70914 /usr/sbin/asterisk -f -vvvg -c

May 22 08:19:08 centos8 systemd[1]: Starting LSB: Asterisk PBX...
May 22 08:19:08 centos8 asterisk[70883]: Starting asterisk:

Asterisk 확인

이 시점에서 Asterisk가 설치되고 구성되었습니다. 이제 다음 명령어를 사용하여 Asterisk를 확인할 수 있습니다:

asterisk -rvv

모든 것이 정상이라면 다음과 같은 출력을 받을 수 있어야 합니다:

Asterisk 18.4.0, Copyright (C) 1999 - 2021, Sangoma Technologies Corporation and others.
Created by Mark Spencer <[email protected]>
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.
=========================================================================
Running as user 'asterisk'
Running under group 'asterisk'
Connected to Asterisk 18.4.0 currently running on centos8 (pid = 70914)
centos8*CLI> 

이제 다음 명령어를 실행하여 코어 채널을 표시합니다:

centos8*CLI> core show channels

다음과 같은 출력을 볼 수 있어야 합니다:

Channel              Location             State   Application(Data)             
0 active channels
0 active calls
0 calls processed

Asterisk 가동 시간을 표시하려면 다음 명령어를 실행합니다:

centos8*CLI> core show uptime

다음과 같은 출력을 볼 수 있어야 합니다:

System uptime: 1 minute, 33 seconds
Last reload: 1 minute, 33 seconds

Asterisk CLI에서 종료하려면 다음 명령어를 실행합니다:

centos8*CLI> quit

결론

위 가이드에서는 CentOS 8 서버에 Asterisk 버전 18을 다운로드하고 컴파일하는 방법을 배웠습니다. 이제 Asterisk를 다른 플랫폼과 통합하고 VoIP 기반 애플리케이션을 구축할 수 있습니다.

Share: X/Twitter LinkedIn

새 게시물을 받은 편지함에서 받기

스팸은 없습니다. 언제든지 구독 해지 가능합니다.