Asterisk 설치 · 4 min read · Feb 07, 2026

리눅스에 Asterisk PBX 및 Asterisk 웹 기반 프로비저닝 GUI 설치하기

리눅스에 Asterisk PBX 및 Asterisk 웹 기반 프로비저닝 GUI 설치하기

Asterisk에 대해 읽어보았고, 곧 직장에서 이를 관리/문제 해결할 예정이므로, 직접 손을 대어 기본적인 경험을 쌓아보려고 했습니다. 먼저, Linux RedHat ES4가 설치된 박스를 설정했지만, 어떤 리눅스 배포판도 괜찮을 것 같습니다. Kubuntu/Ubuntu, Fedora 또는 Mandriva도 잘 작동할 것입니다.

자, 시작해봅시다:

  1. 리눅스를 설치하고 박스의 IP 주소를 기록합니다.

  2. root로 전환한 후, http://downloads.digium.com/pub에서 현재 tar 파일을 /usr/src로 다운로드합니다:

  • Asterisk는 /asterisk에
  • Zaptel은 /zaptel에
  • Libpri는 /libpri에
  • asterisk-addons는 /asterisk-addons에
  1. 아래 명령어를 따라 /usr/src에서 각 패키지를 압축 해제합니다 (이 예제에서는 최신 버전을 사용하고 있으며, 다운로드한 버전 번호로 변경하세요):
tar -zxvf asterisk-1.4.4.tar.gz  
ln -s asterisk-1.4.4 asterisk  
tar -zxvf zaptel-1.4.2.1.tar.gz  
ln -s zaptel-1.4.2.1 zaptel  
tar -zxvf libpri-1.4.0.tar.gz  
mv libpri-1.4.0 libpri  
tar -zxvf asterisk-addons-1.4.1.tar.gz  
mv asterisk-addons-1.4.1 asterisk-addons
  1. 다음 명령어를 따라 다양한 패키지를 설치하기 시작합니다. 다시 root로 실행하세요:

Asterisk를 빌드하기 전에 실행해야 합니다 (참고: 커널 소스가 누락되었다는 오류가 발생하면 재부팅해야 할 수 있습니다.):

cd /usr/src/zaptel  
./configure  
make menuselect (터미널 창이 최소 80x21로 설정되어 있어야 메뉴 선택 명령이 오류를 발생시키지 않습니다)  
make  
make config

선택 사항 (어쨌든 저는 했습니다): Zaptel 디지털 카드가 있는 경우:

cd ../libpri  
make clean  
make install

Zaptel 및 (필요한 경우) libpri 설치 후 반드시 설치해야 합니다 (저도 이것을 했습니다):

cd ../asterisk  
./configure  
make menuselect # 추가 구성  
make  
make install  
make samples  
make config

선택 사항. Asterisk 설치 후 실행해야 합니다:

cd ../asterisk-addons  
./configure  
make  
make install
  1. 이제 파일을 백업할 좋은 시점입니다. /etc/asterisk 폴더에 위치한 sip.conf와 extensions.conf를 다음 명령어로 백업합니다:
cd /etc/asterisk  
cp sip.conf sip.backup  
cp extensions.conf extensions.backup
  1. 모든 것이 설치되었으므로 (오류가 발생하지 않았다면, 오류가 발생했다면 linuxforums.org에 가서 문제를 게시하세요 [최고의 리눅스 포럼!]), 이제 다음 명령어로 Asterisk를 처음으로 시작할 시간입니다:
cd /usr/sbin  
asterisk -vvvvgc (이 명령은 디버그 모드로 시작되며 오류를 찾기에 좋습니다)
  1. 기본 설치에 이미 여러 개의 확장이 미리 구성되어 있으며, 여기 있습니다:
  • 확장 : 1000 (첫 번째로 시도해보세요!)
  • 확장 : 1234 (확장입니다. vmail에 전화하고 이 확장을 입력한 후 비밀번호 4242를 입력하세요)
  • 확장 : 1235 (이 번호로 전화하여 메시지를 남기세요)
  • 확장 : 1236 (또 다른 확장)
  • 메인 Vmail : 8500
  • SIP 통화 외부 테스트 : 500
  • 에코 테스트 : 600

따라서 X-Lite와 같은 SIP 전화기나 Mitel 5212/5224와 같은 SIP 지원 데스크폰을 사용하여 이 번호로 전화를 걸어보세요. 전화를 걸려면 확장 번호 뒤에 @ 기호와 Asterisk 소프트웨어가 실행되는 박스의 IP 주소를 입력합니다. 방화벽이 비활성화되어 있거나 포트 5060의 인바운드/아웃바운드를 허용하도록 설정되어 있는지 확인하세요.

축하합니다! 당신은 해냈습니다!

Asterisk 관리자

Asterisk 관리자도 존재합니다. 이를 활성화하려면 /etc/asterisk/manager.conf를 편집하고 아래의 네 줄에서 ;를 제거하여 주석을 해제해야 합니다:

;[mark] (이것은 astman에서 사용할 사용자 이름입니다)  
;secret = mysecret (이것은 astman에서 사용할 비밀번호입니다)  
;read = system,call,log,verbose,command,agent,user,config  
;write = system,call.log,verbose,command,agent,user,config

그래서 다음과 같이 보일 것입니다:

[mark] (이것은 astman에서 사용할 사용자 이름입니다)  
secret = mysecret (이것은 astman에서 사용할 비밀번호입니다)  
read = system,call,log,verbose,command,agent,user,config  
write = system,call.log,verbose,command,agent,user,config  

파일을 저장하세요.

Asterisk를 재시작해야 합니다. 이를 위해 CLI 프롬프트에서 다음을 입력하세요:

restart 

이제 재시작되면 Asterisk의 CLI 프롬프트에서 manager show users를 입력하면 구성된 관리자 사용자가 표시됩니다. 따라서 우리의 사용자는 mark이고 비밀번호는 mysecret입니다.

이제 새 터미널 창을 열고 root로 전환한 후 다음을 입력하세요:

/usr/sbin/astman localhost

사용자 이름 = mark
비밀번호 = mysercet

1000으로 전화를 걸면 그곳에서 전화를 확인할 수 있습니다.

웹 버전인 AJAM도 사용할 수 있습니다:

비동기 자바스크립트 Asterisk 관리자 (AJAM)

AJAM은 Asterisk 1.4에서 사용할 수 있는 새로운 기술로, 웹 브라우저나 기타 HTTP 지원 애플리케이션 및 웹 페이지가 HTTP를 통해 Asterisk 관리자 인터페이스(AMI)에 직접 접근할 수 있게 해줍니다. AJAM을 처리하도록 서버를 설정하는 데는 몇 가지 단계가 필요합니다:

Asterisk HTTP 서버 설정:



  1. /etc/asterisk/http.conf에서 Asterisk의 내장 마이크로 HTTP 서버를 활성화하려면 enabled=yes 줄의 주석을 해제하세요.

  2. Asterisk가 실제로 간단한 HTML 페이지, CSS, JavaScript 등을 제공하도록 하려면 enablestatic=yes의 주석을 해제해야 합니다.

  3. 원하는 접근성에 맞게 bindaddr 및 bindport 설정을 조정하거나 기본값으로 두세요.

  4. 적절한 경우 접두사를 조정하세요. 이는 서버의 URI 시작 부분과 일치해야 합니다. 기본값은 asterisk이며, 이 지침의 나머지 부분은 해당 값을 가정합니다.

HTTP를 통한 관리자 접근 허용

  1. /etc/asterisk/manager.conf에서 enabled = yes와 webenabled = yes가 설정되어 있는지 확인하세요.

  2. httptimeout을 사용하여 HTTP 연결에 대한 기본 타임아웃을 설정할 수도 있습니다.

  3. 관리자 사용자 이름/비밀번호가 있는지 확인하세요.

이러한 구성 변경이 완료되면 Asterisk를 다시 로드하거나 재시작할 수 있으며, 특정 URI로 웹 브라우저를 지정하여 다양한 웹 기능에 접근할 수 있어야 합니다. 전체 목록은 Asterisk CLI에서 show http를 입력하여 확인할 수 있습니다.

예시:

http://localhost:8088/asterisk/manager?action=login&username=mark&secret=mysecret

이 URL은 관리자 인터페이스의 “HTML” 뷰에 로그인합니다. 로그인하면 Asterisk는 브라우저에 쿠키를 저장합니다 (httptimeout의 길이 동안 유효함) 이는 동일한 세션에 연결하는 데 사용됩니다.

http://localhost:8088/asterisk/rawman?action=status 

관리자에 이미 로그인한 경우, 이 URI는 “상태” 명령에 대한 “원시” 관리자 출력을 제공합니다.

http://localhost:8088/asterisk/mxml?action=status

이 URL은 AJAX 데이터로 표현된 동일한 상태 뷰를 제공합니다. 이론적으로 RICO와 호환됩니다 (http://www.openrico.org).

http://localhost:8088/asterisk/static/ajamdemo.html 

정적 콘텐츠 지원을 활성화하고 make install을 수행한 경우, Asterisk는 라이브이지만 매우 기본적인 “astman”과 유사한 인터페이스를 제공하는 데모 페이지를 제공합니다. 관리자에 대한 사용자 이름/비밀번호로 로그인하면 채널의 기본 뷰와 통화 전환 및 종료 기능을 볼 수 있습니다. Firefox에서만 테스트되었지만 다른 브라우저에서도 작동할 수 있습니다.

샘플 라이브러리 (astman.js)가 포함되어 있어 관리자 HTML 인터페이스 생성을 쉽게 할 수 있습니다.

데모의 경우, 어떠한 외부 웹 서버도 필요하지 않습니다.

Share: X/Twitter LinkedIn

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

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