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é !!!
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á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
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.
Chúc các bạn thành công!!!
Video hướng dẫn