Cài đặt FusionPBX v4.2 trên CentOS 7

Bài viết hướng dẫn cài đặt tổng đài FusionPBX v4.2 trên CentOS 7, môi trường cài đặt với các thông số sau: 

  • FusionPBX 4.2
  • FreeSWITCH 1.6.2
  • CentOS 7
  • Apache 
  • MariaDB 5.5

Cùng tham khảo bài viết để có được những kiến thức cực kì hữu ích về VoIP và Linux nhé !!!

fusionpbx-v4.21. Giới thiệu sơ về FusionPBX:

  • FusionPBX là một dự án nguồn mở cung cấp giao diện quản trị tổng đài có thể tùy chỉnh một cách linh hoạt.
  • FusionPBX cung cấp cho người dùng giao diện quản lý tất cả các tính năng cơ bản trên tổng đài: gọi điện, quản lý cuộc gọi, thư thoại, nhạc chờ, IVR,… và hoàn toàn có thể mở rộng và tùy chỉnh.
  • FusionPBX chạy trên nền tảng thoại là FreeSWITCH…

2. Cài đặt FusionPBX v4.2 trên CentOS 7

Bước 1: Cập nhật CentOS 7, cài một số gói cần thiết, cấu hình server

yum install epel-release -y && yum update -y
yum install git nano httpd mariadb-server php php-common php-pdo php-soap php-xml php-xmlrpc php-mysql \
php-cli php-imap php-mcrypt mysql-connector-odbc memcached ghostscript libtiff-devel libtiff-tools at -y

Tắt SELinux

sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config

Đặt múi giờ

timedatectl set-timezone Asia/Ho_Chi_Minh

Cấu hình Memcached

cat >> /etc/sysconfig/memcached << EOF
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1"
EOF

Khởi động lại server

reboot

Bước 2: Cài đặt FreeSWITCH 1.6

Cài đặt FreeSWITCH từ package 

rpm -Uvh http://files.freeswitch.org/freeswitch-release-1-6.noarch.rpm
yum install -y freeswitch-config-vanilla freeswitch-sounds* freeswitch-lang* freeswitch-lua \
freeswitch-xml-cdr

Xem thêm các khóa đào tạo VoIP: https://tel4vn.edu.vn/course-category/hoc-voip/

Bước 3: Cấu hình MariaDB

systemctl start mariadb
mysql

Gõ lệnh trong mysql, tạo database và user fusionpbx với password là “tel4vn.edu”

CREATE DATABASE freeswitch;
GRANT ALL PRIVILEGES ON freeswitch.* TO fusionpbx@localhost IDENTIFIED BY 'tel4vn.edu';
flush privileges;
\q

Cấu hình kết nối ODBC

cat >>/etc/odbc.ini << EOF
[freeswitch]
Driver   = MySQL
SERVER   = 127.0.0.1
PORT     = 3306
DATABASE = freeswitch
OPTION  = 67108864
Socket   = /var/lib/mysql/mysql.sock
threading=0
MaxLongVarcharSize=65536

[fusionpbx]
Driver   = MySQL
SERVER   = 127.0.0.1
PORT     = 3306
DATABASE = fusionpbx
OPTION  = 67108864
Socket   = /var/lib/mysql/mysql.sock
threading=0
EOF

Kiểm tra kết nối ODBC

odbcinst -s –q
isql -v freeswitch fusionpbx tel4vn.edu
quit

Bước 4: Cài đặt FusionPBX v4.2

Tải source code của FusionPBX v4.2

cd /var/www/html
git clone -b 4.2 https://github.com/powerpbx/fusionpbx.git .

Lưu ý có dấu chấm ở cuối câu nhé

Copy conf Directory

mv /etc/freeswitch /etc/freeswitch.orig
mkdir /etc/freeswitch
cp -R /var/www/html/resources/templates/conf/* /etc/freeswitch

Bước 5: Cấu hình Apache

usermod -a -G apache freeswitch
# Đăt user/group là Freeswitch
sed -i "s/User apache/User freeswitch/" /etc/httpd/conf/httpd.conf
sed -i "s/Group apache/Group daemon/" /etc/httpd/conf/httpd.conf

Đổi đường dẫn cho source web

nano /etc/httpd/conf/httpd.conf

Chỉnh sửa : DocumentRoot “/var/www/html/fusionpbx”

Cấp quyền cho thư mục và các file

chown -R freeswitch.daemon /etc/freeswitch /var/lib/freeswitch \
/var/log/freeswitch /usr/share/freeswitch /var/www/html

# Directory permissions to 770 (u=rwx,g=rwx,o='')
find /etc/freeswitch -type d -exec chmod 770 {} \;
find /var/lib/freeswitch -type d -exec chmod 770 {} \;
find /var/log/freeswitch -type d -exec chmod 770 {} \;
find /usr/share/freeswitch -type d -exec chmod 770 {} \;
find /var/www/html -type d -exec chmod 770 {} \;

# File permissions to 664 (u=rw,g=rw,o=r)
find /etc/freeswitch -type f -exec chmod 664 {} \;
find /var/lib/freeswitch -type f -exec chmod 664 {} \;
find /var/log/freeswitch -type f -exec chmod 664 {} \;
find /usr/share/freeswitch -type f -exec chmod 664 {} \;
find /var/www/html -type f -exec chmod 664 {} \;

Cấu hình cho service freeswitch

cat >> /etc/systemd/system/freeswitch.service  << EOF
[Unit]
Description=FreeSWITCH
Wants=network-online.target
After=syslog.target network-online.target
After=mariadb.service httpd.service

[Service]
Type=forking
User=freeswitch
ExecStartPre=/usr/bin/mkdir -m 0750 -p /run/freeswitch
ExecStartPre=/usr/bin/chown freeswitch:daemon /run/freeswitch
WorkingDirectory=/run/freeswitch
PIDFile=/run/freeswitch/freeswitch.pid
EnvironmentFile=-/etc/sysconfig/freeswitch
ExecStart=/usr/bin/freeswitch -ncwait -nonat $FREESWITCH_PARAMS
ExecReload=/usr/bin/kill -HUP $MAINPID

[Install]
WantedBy=multi-user.target
EOF

Bước 6: Reload các dịch vụ

systemctl daemon-reload
systemctl enable mariadb
systemctl enable httpd
systemctl restart httpd
systemctl enable freeswitch
systemctl enable memcached
systemctl restart freeswitch

Khởi động lại server và truy cập địa chỉ IP của server

Tiến hành cài đặt các thông số:

  • Username
  • Password
  • Database Name: fusionpbx
  • Database Username: fusionpbx
  • Database Password: tel4vn.edu

Check “Create the database”

  • Create Database Username: root
  • Create Database Password : để trống

Đặt mật khẩu cho mySQL

mysql_secure_installation
systemctl restart mariadb

Bật kết nối MySQL cho freeswitch thay cho kết nối mặc định là SQLite

nano /etc/freeswitch/autoload_configs/switch.conf.xml

<param name=”core-db-dsn” value=”freeswitch:fusionpbx:tel4vn.edu” />

systemctl restart freeswitch

Configure firewall nếu server có sử dụng firewalld

firewall-cmd --permanent --zone=public --add-service={http,https}
firewall-cmd --permanent --zone=public --add-port={5060,5061,5080,5081}/tcp
firewall-cmd --permanent --zone=public --add-port={5060,5061,5080,5081}/udp
firewall-cmd --permanent --zone=public --add-port=16384-32768/udp
firewall-cmd --reload

Chúc các bạn thành công!!!

cai-dat-fusionpbx

Video hướng dẫn: https://youtu.be/ESvi0agjAjo

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *