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

cai-dat-fusionpbx

Cài đặt FusionPBX v4.4 trên CentOS 7, môi trường cài đặt với các thông số sau:

  • FusionPBX v4.4
  • Freeswitch v1.6
  • CentOS 7
  • Apache
  • PostgreSQL v9.6.

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é !!!

cai-dat-fusionpbx1. 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ác bước cài đặt FusionPBX v4.4

Tắt SELinux

Kiểm tra trạng thái bằng lệnh sau:

sestatus

Nếu trạng thái đang “enable” thì tắt bằng cách mở file /etc/selinux/config và thay đổi SELINUX=disabled hoặc dùng lệnh sau:

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

Sau đó reboot lại server

reboot

Cài đặt các gói cần thiết

yum -y install epel-release && yum -y update
yum install git nano httpd memcached ghostscript libtiff-devel libtiff-tools at tftp-server

Cài đặt PHP v71

yum -y install https://centos7.iuscommunity.org/ius-release.rpm
yum -y install yum-plugin-replace
yum replace php-common --replace-with php71u-common
yum install -y php71u php71u-common php71u-pdo php71u-soap php71u-xml php71u-xmlrpc php71u-pgsql php71u-cli php71u-imap php71u-mcrypt php71u-gd php71u-opcache php71u-json

Cài đặt PostgreSQL v9.6

postgresql-logo

yum install  https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-redhat96-9.6-3.noarch.rpm -y
yum install postgresql96 postgresql96-server postgresql96-contrib postgresql96-libs -y
/usr/pgsql-9.6/bin/postgresql96-setup initdb
systemctl enable postgresql-9.6.service
systemctl start postgresql-9.6.service

Cấu hình PostgreSQL không xác thực cho localhost

nano +82 /var/lib/pgsql/9.6/data/pg_hba.conf

Chỉnh sửa lại như bên dưới

host  all all 127.0.0.1/32 trust
host  all all ::1/128      trust

Restart PostgreSQL 9.6

systemctl restart postgresql-9.6

Kiểm tra database bằng lệnh sau:

sudo -u postgres psql
postgres=#\q

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

Cài đặt Freeswitch v1.6

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

>> Xem thêm các khóa học quản trị tổng đài nội bộ

Create Databases and user

cd /tmp
sudo -u postgres psql -c "CREATE DATABASE fusionpbx;"
sudo -u postgres psql -c "CREATE DATABASE freeswitch;"
sudo -u postgres psql -c "CREATE ROLE fusionpbx WITH SUPERUSER LOGIN PASSWORD 'password';"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE fusionpbx to fusionpbx;"
sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE freeswitch to fusionpbx;"

Tải source web FusionPBX v.4.4

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

Ghi cấu hình conf của freeswitch 

mv /etc/freeswitch /etc/freeswitch.orig
mkdir /etc/freeswitch
cp -R /var/www/html/resources/templates/conf/* /etc/freeswitch
mkdir -p /usr/share/freeswitch/sounds/music/default
mv /usr/share/freeswitch/sounds/music/*000/ /usr/share/freeswitch/sounds/music/default/

Cài đặt Apache

# Add user freeswitch to group apache to avoid problems with /var/lib/php/sessions directory
usermod -a -G apache freeswitch
# Set http server to run as same user/group as 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
# Set webserver to obey any .htaccess files in /var/www/html and subdirs
sed -i ':a;N;$!ba;s/AllowOverride None/AllowOverride All/2' /etc/httpd/conf/httpd.conf

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

# Ownership
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 systemd cho freeswitch

Cấu hình để có thể dùng lệnh systemctl với dịch vụ freeswitch

  • Start : systemctl start freeswitch.service
  • Stop : systemctl stop freeswitch.service
  • Restart : systemctl restart freeswitch.service
cat >> /etc/systemd/system/freeswitch.service << EOF
[Unit]
Description=FreeSWITCH
Wants=network-online.target
After=syslog.target network-online.target
After=postgresql-9.4.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

Enable services

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

Mở Firewall để kết nối web, sip

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
firewall-cmd --list-all

Mở trình duyệt web và nhập địa chỉ IP của server để mở giao diện cài đặt

Chọn ngôn ngữ để sử dụng.

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

  • Username
  • Password
  • Database Name: fusionpbx
  • Database Username: fusionpbx
  • Database Password: password

Không Check “Create the database”

Chọn Install để bắt đầu cài đặt các config và kết nối database. Sau đó đăng nhập bằng user và password vừa tạo.

cai-dat-fusionpbx

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

Video hướng dẫn

 

Mọi thắc mắc vui lòng liên hệ:
🔗 Website: https://tel4vn.edu.vn/
🔗 Fanpage: https://www.facebook.com/tel4vn
🏠 Địa chỉ: 82/2/9 Đinh Bộ Lĩnh, Phường 26, Q.Bình Thạnh, TP.HCM
☎️ SĐT: 028 3622 0868
📩 Email: tuyensinh@tel4vn.com

Để 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 *