Cách cài đặt Asterisk 18 VoIP Server trên CentOS 8

theanh

Administrator
Nhân viên
Asterisk là một máy chủ VoIP và PBX kỹ thuật số mạnh mẽ được phát hành theo giấy phép nguồn mở, do đó bạn có thể sử dụng miễn phí. VoIP là công nghệ được sử dụng để thiết lập và kiểm soát các cuộc gọi điện thoại giữa nhiều điểm cuối. Nó được sử dụng trong các cổng VoIP, máy chủ hội nghị, trung tâm cuộc gọi, nhà mạng và các tổ chức chính phủ trên toàn thế giới. Nó chạy trên Linux, BSD và OS X và cho phép bạn biến hệ thống hoặc máy chủ cục bộ của mình thành máy chủ truyền thông.

Trong bài đăng này, chúng tôi sẽ giải thích cách cài đặt Asterisk trên máy chủ CentOS 8.

Điều kiện tiên quyết​

  • Một máy chủ chạy CentOS 8.
  • Mật khẩu gốc được cấu hình trên máy chủ.

Bắt đầu​

Theo mặc định, SELinux được bật trong CentOS 8. Vì vậy, trước tiên bạn sẽ cần phải tắt nó. Để vô hiệu hóa nó, hãy chỉnh sửa tệp cấu hình SELinux:
Mã:
nano /etc/selinux/config
Thay đổi dòng sau:
Mã:
SELINUX=disabled
Lưu và đóng tệp, sau đó khởi động lại hệ thống để áp dụng các thay đổi.

Cài đặt các công cụ cần thiết​

Asterisk yêu cầu một số gói mà bạn cần cài đặt trên máy chủ của mình. Trước tiên, hãy cài đặt kho lưu trữ EPEL bằng lệnh sau:
Mã:
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
Tiếp theo, hãy bật kho lưu trữ PowerTools bằng lệnh sau:
Mã:
dnf config-manager --set-enabled PowerTools
Tiếp theo, hãy cài đặt các gói và công cụ phát triển khác bằng lệnh sau:
Mã:
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 "Công cụ phát triển"
Sau khi cài đặt xong tất cả các gói cần thiết, bạn có thể tiến hành bước tiếp theo.

Cài đặt Jansson và PJSIP​

Tiếp theo, bạn sẽ cần cài đặt Jansson vào hệ thống của mình. Nó được sử dụng để mã hóa và giải mã dữ liệu phương tiện.

Trước tiên, hãy tải xuống từ kho lưu trữ Git bằng lệnh sau:
Mã:
git clone https://github.com/akheron/jansson.git
Tiếp theo, hãy thay đổi thư mục thành thư mục đã tải xuống và biên dịch nó bằng lệnh sau:
Mã:
cd jansson
autoreconf -i
./configure --prefix=/usr/
make
make install
Tiếp theo, bạn sẽ cần cài đặt PJSIP vào hệ thống của mình. Đây là thư viện được sử dụng để triển khai giao thức SIP, SDP, RTP, STUN, TURN và ICE.

Đầu tiên, hãy tải xuống bằng lệnh sau:
Mã:
cd
git clone https://github.com/pjsip/pjproject.git
Tiếp theo, hãy thay đổi thư mục thành thư mục đã tải xuống và biên dịch bằng lệnh sau:
Mã:
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
Sau khi hoàn tất, bạn có thể tiến hành cài đặt Asterisk.

Cài đặt Asterisk​

Trước tiên, hãy điều hướng đến thư mục gốc của bạn và tải xuống phiên bản Asterisk mới nhất bằng lệnh sau:
Mã:
cd
wget https://downloads.asterisk.org/pub/telephony/asterisk/asterisk-18-current.tar.gz
Sau khi tải xuống hoàn tất, hãy giải nén tệp đã tải xuống bằng lệnh sau:
Mã:
tar -xvzf asterisk-18-current.tar.gz
Tiếp theo, hãy thay đổi thư mục thành thư mục đã giải nén bằng lệnh sau:
Mã:
cd asterisk-18.4.0/
Tiếp theo, hãy định cấu hình Asterisk bằng lệnh sau:
Mã:
./configure --libdir=/usr/lib64
Bạn sẽ thấy đầu ra sau:
Mã:
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$$$ $$$$$$$$$$$$$$$$$.configure: Gói được cấu hình cho:configure: Loại hệ điều hành: linux-gnuconfigure: CPU máy chủ: x86_64configure: build-cpu:vendor:os: x86_64 : pc : linux-gnu :configure: host-cpu:vendor:os: x86_64 : pc : linux-gnu :
Tiếp theo, chạy lệnh sau để cài đặt các tiện ích bổ sung mà bạn muốn cài đặt với Asterisk.
Mã:
make menuselect
Bạn sẽ thấy trang sau:



Chọn Add-ons và nhấn Enter. Bạn sẽ thấy trang sau:



Chọn add-on cần thiết và nhấn Enter để chọn rồi nhấn ESC để quay lại menu chính:



Chọn gói Core sound cần thiết và nhấn Enter để chọn. Tiếp theo, nhấn ESC để quay lại, chọn các gói MOH như hình dưới đây:



Chọn các gói cần thiết và nhấn Enter để chọn. Tiếp theo, nhấn ESC để quay lại, chọn các gói Extra như hình dưới đây:



Chọn các gói cần thiết và nhấn Enter để chọn. Sau đó, nhấn nút ESC. Bạn sẽ thấy trang sau:



Nhấn S để lưu các thay đổi và thoát.

Tiếp theo, chạy lệnh sau để cài đặt tất cả các phụ thuộc cần thiết:
Mã:
contrib/scripts/get_mp3_source.sh
Tiếp theo, xây dựng Asterisk bằng lệnh sau:
Mã:
make
Bạn sẽ thấy đầu ra sau:
Mã:
+--------- Xây dựng Asterisk hoàn tất ---------+ + Asterisk đã được xây dựng thành công và + + có thể được cài đặt bằng cách chạy: + + + + make install + +-------------------------------------------+make install +---- Cài đặt Asterisk hoàn tất -------+ + + + BẠN PHẢI ĐỌC TÀI LIỆU BẢO MẬT + + + + Asterisk đã được cài đặt thành công. + + Nếu bạn muốn cài đặt các tệp cấu hình mẫu (ghi đè lên bất kỳ tệp cấu hình nào hiện có), hãy chạy: + + + + Đối với tài liệu tham khảo chung: + + make samples + + + + Đối với một PBX cơ bản mẫu: + + make basic-pbx + + + + +----------------- hoặc ---------------------+ + + + Bạn có thể tiếp tục và cài đặt tài liệu chương trình asterisk + + ngay bây giờ hoặc chạy sau: + + + + make progdocs + + + + **Lưu ý** Điều này yêu cầu bạn phải + + doxygen được cài đặt trên hệ thống cục bộ của mình + +-------------------------------------------+
Tiếp theo, hãy cài đặt Asterisk bằng lệnh sau:
Mã:
make samples
make config
ldconfig

Cấu hình Asterisk​

Tiếp theo, bạn sẽ cần tạo một người dùng chuyên dụng để chạy Asterisk. Bạn có thể tạo người dùng và nhóm bằng lệnh sau:
Mã:
groupadd asterisk
useradd -r -d /var/lib/asterisk -g asterisk asterisk
Tiếp theo, thêm người dùng audio và dialout vào nhóm Asterisk bằng lệnh sau:
Mã:
usermod -aG audio,dialout asterisk
Tiếp theo, đặt quyền sở hữu các thư mục Asterisk cho người dùng asterisk bằng lệnh sau:
Mã:
chown -R asterisk.asterisk /etc/asterisk /var/{lib,log,spool}/asterisk /usr/lib64/asterisk
Tiếp theo, chỉnh sửa tệp /etc/sysconfig/asterisk:
Mã:
nano /etc/sysconfig/asterisk
Bỏ chú thích cho dòng sau dòng:
Mã:
AST_USER="asterisk"AST_GROUP="asterisk"
Lưu và đóng tệp sau đó chỉnh sửa tệp /etc/asterisk/asterisk.conf:
Mã:
nano /etc/asterisk/asterisk.conf
Bỏ chú thích các dòng sau:
Mã:
runuser = asterisk ; Người dùng chạy dưới dạng.rungroup = asterisk ; Nhóm chạy dưới dạng.
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, khởi động lại dịch vụ Asterisk để áp dụng các thay đổi.
Mã:
systemctl restart asterisk
Tiếp theo, bật dịch vụ Asterisk để bắt đầu khi khởi động lại hệ thống:
Mã:
systemctl enable asterisk
Để kiểm tra trạng thái của dịch vụ Asterisk, hãy chạy lệnh sau:
Mã:
systemctl status asterisk
Bạn sẽ nhận được đầu ra sau:
Mã:
? asterisk.service - LSB: Asterisk PBX Đã tải: đã tải (/etc/rc.d/init.d/asterisk; đã tạo) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ bảy 2021-05-22 08:19:08 EDT; 15 giây trước Tài liệu: man:systemd-sysv-generator(8) Quy trình: 70883 ExecStart=/etc/rc.d/init.d/asterisk start (code=exited, status=0/SUCCESS) PID chính: 70914 (asterisk) Nhiệm vụ: 81 (giới hạn: 25014) Bộ nhớ: 36,8M CGroup: /system.slice/asterisk.service ??70912 /bin/sh /usr/sbin/safe_asterisk ??70914 /usr/sbin/asterisk -f -vvvg -c22 tháng 5 08:19:08 centos8 systemd[1]: Đang khởi động LSB: Asterisk PBX...22 tháng 5 08:19:08 centos8 asterisk[70883]: Đang khởi động asterisk:

Xác minh Asterisk​

Tại thời điểm này, Asterisk đã được cài đặt và cấu hình. Bây giờ bạn có thể xác minh Asterisk bằng lệnh sau:
Mã:
asterisk -rvv
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Mã:
Asterisk 18.4.0, Bản quyền (C) 1999 - 2021, Sangoma Technologies Corporation và những bên khác.Được tạo bởi Mark Spencer Asterisk KHÔNG CÓ BẢO HÀNH HOÀN TOÀN; nhập 'core show guarantee' để biết chi tiết.Đây là phần mềm miễn phí, với các thành phần được cấp phép theo Giấy phép Công cộng GNU phiên bản 2 và các giấy phép khác; bạn được phép phân phối lại theomột số điều kiện nhất định. Nhập 'core show license' để biết chi tiết.==========================================================================Chạy với tư cách là người dùng 'asterisk'Chạy dưới nhóm 'asterisk'Đã kết nối với Asterisk 18.4.0 hiện đang chạy trên centos8 (pid = 70914)centos8*CLI>
Bây giờ, hãy chạy lệnh sau để hiển thị các kênh lõi:
Mã:
centos8*CLI> core show channels
Bạn sẽ thấy kết quả đầu ra sau:
Mã:
Channel Location State Application(Data)0 active channels0 active calls0 calls treated
Để hiển thị thời gian hoạt động của Asterisk, hãy chạy lệnh sau:
Mã:
centos8*CLI> core show uptime
Bạn sẽ thấy kết quả đầu ra sau:
Mã:
System uptime: 1 minute, 33 secondsLast reload: 1 minute, 33 seconds
Để thoát khỏi Asterisk CLI, hãy chạy lệnh sau:
Mã:
centos8*CLI> quit

Kết luận​

Trong hướng dẫn trên, bạn đã tìm hiểu cách tải xuống và biên dịch Asterisk phiên bản 18 trên máy chủ CentOS 8. Bây giờ bạn có thể tích hợp Asterisk với các nền tảng khác và xây dựng ứng dụng dựa trên VoIP.
 
Back
Bên trên