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é !!!
1. 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!!!
Video hướng dẫn: https://youtu.be/ESvi0agjAjo