[Update]Hướng dẫn cài đặt FreePBX 15 trên CentOS 8

Yêu cầu

Disk: 25 GB
RAM: 2GB
vCPU: 2
Operating System: Centos 8
Service: FreePBX
Database: MariaDB
PHP: 7.2

Step #01: Kiểm tra version IP và disable SELinux.

[[email protected] ~]# cat /etc/redhat-release
[[email protected] ~]# ip r
[[email protected] ~]# dnf -y update
[[email protected] ~]# sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/sysconfig/selinux
[[email protected] ~]# sed -i 's/\(^SELINUX=\).*/\SELINUX=disabled/' /etc/selinux/config
[[email protected] ~]# sestatus
[[email protected] ~]# reboot

Step #02: Cài đặt firewall và allow port FreePBX.

[[email protected] ~]# dnf -y group install "Development Tools"
[[email protected] ~]# adduser asterisk -m -c "Asterisk User"
[[email protected] ~]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[[email protected] ~]# firewall-cmd --zone=public --add-port=443/tcp --permanent
[[email protected] ~]# firewall-cmd --zone=public --add-port=5060/tcp --permanent
[[email protected] ~]# firewall-cmd --zone=public --add-port=5060/udp --permanent
[[email protected] ~]# firewall-cmd --zone=public --add-port=5160/tcp --permanent
[[email protected] ~]# firewall-cmd --zone=public --add-port=5160/udp --permanent
[[email protected] ~]# firewall-cmd --zone=public --add-port=10000-20000/udp --permanent
[[email protected] ~]# firewall-cmd --reload

Step #03: Cài đặt webserver httpd và database server MariaDB.

[[email protected] ~]# dnf config-manager --set-enabled PowerTools
[[email protected] ~]# dnf -y install lynx tftp-server unixODBC mariadb-server mariadb httpd ncurses-devel sendmail sendmail-cf newt-devel libxml2-devel libtiff-devel gtk2-devel subversion git wget vim uuid-devel sqlite-devel net-tools gnutls-devel texinfo libuuid-devel libedit-devel
[[email protected] ~]# dnf config-manager --set-disabled PowerTools
[[email protected] ~]# dnf install -y http://na.mirror.garr.it/mirrors/MySQL/Downloads/Connector-ODBC/8.0/mysql-connector-odbc-8.0.19-1.el8.x86_64.rpm
[[email protected] ~]# systemctl enable mariadb.service
[[email protected] ~]# systemctl start mariadb
[[email protected] ~]# systemctl enable httpd.service
[[email protected] ~]# systemctl start httpd.service

Step #04 : Setup python, php và nodejs

[[email protected] ~]# dnf install -y epel-release
[[email protected] ~]# dnf install -y libid3tag
[[email protected] ~]# dnf install -y https://forensics.cert.org/cert-forensics-tools-release-el8.rpm
[[email protected] ~]# dnf --enablerepo=forensics install -y sox
[[email protected] ~]# dnf install -y audiofile-devel
[[email protected] ~]# dnf install -y python3-devel
[[email protected] ~]# dnf remove php*
[[email protected] ~]# dnf install -y php php-pdo php-mysqlnd php-mbstring php-pear php-process php-xml php-opcache php-ldap php-intl php-soap php-json
[[email protected] ~]# curl -sL https://rpm.nodesource.com/setup_12.x | bash -
[[email protected] ~]# dnf install -y nodejs
[[email protected] ~]# pear install Console_Getopt

Step #05: Download và install asterisk, jansson.

[[email protected] ~]# cd /usr/src
[[email protected] src]# wget -O jansson.tar.gz https://github.com/akheron/jansson/archive/v2.12.tar.gz
[[email protected] src]# wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-16-current.tar.gz
[[email protected] src]# tar vxfz jansson.tar.gz
[[email protected] src]# rm -f jansson.tar.gz
[[email protected] src]# cd jansson-*
[[email protected] jansson-2.12]# autoreconf -i
[[email protected] jansson-2.12]# ./configure --libdir=/usr/lib64
[[email protected] jansson-2.12]# make
[[email protected] jansson-2.12]# make install
[[email protected] jansson-2.12]# cd /usr/src
[[email protected] src]# tar xvfz asterisk-16-current.tar.gz
[[email protected] src]# rm -f asterisk-*-current.tar.gz
[[email protected] src]# cd asterisk-*
[[email protected] asterisk-16.10.0]# contrib/scripts/install_prereq install
[[email protected] asterisk-16.10.0]# ./configure --libdir=/usr/lib64 --with-pjproject-bundled
[[email protected] asterisk-16.10.0]# contrib/scripts/get_mp3_source.sh
[[email protected] asterisk-16.10.0]# make menuselect
[[email protected] asterisk-16.10.0]# make
[[email protected] asterisk-16.10.0]# make install
[[email protected] asterisk-16.10.0]# make config
[[email protected] asterisk-16.10.0]# make samples
[[email protected] asterisk-16.10.0]# ldconfig
[[email protected] asterisk-16.10.0]# chkconfig asterisk off
[[email protected] asterisk-16.10.0]# chown asterisk. /var/run/asterisk
[[email protected] asterisk-16.10.0]# chown -R asterisk. /etc/asterisk
[[email protected] asterisk-16.10.0]# chown -R asterisk. /var/{lib,log,spool}/asterisk
[[email protected] asterisk-16.10.0]# chown -R asterisk. /usr/lib64/asterisk
[[email protected] asterisk-16.10.0]# chown -R asterisk. /var/www/

Step #06: Increase PHP upload size và memory limit trên FreePBX.

[[email protected] asterisk-16.10.0]# sed -i 's/\(^upload_max_filesize = \).*/0M/' /etc/php.ini
[[email protected] asterisk-16.10.0]# sed -i 's/\(^memory_limit = \).*/56M/' /etc/php.ini
[[email protected] asterisk-16.10.0]# sed -i 's/^\(User\|Group\).*/ asterisk/' /etc/httpd/conf/httpd.conf
[[email protected] asterisk-16.10.0]# sed -i 's/AllowOverride None/AllowOverride All/' /etc/httpd/conf/httpd.conf
[[email protected] asterisk-16.10.0]# sed -i 's/\(^user = \).*/asterisk/' /etc/php-fpm.d/www.conf
[[email protected] asterisk-16.10.0]# sed -i 's/\(^group = \).*/asterisk/' /etc/php-fpm.d/www.conf
[[email protected] asterisk-16.10.0]# sed -i 's/\(^listen.acl_users = apache,nginx\).*/,asterisk/' /etc/php-fpm.d/www.conf
[[email protected] asterisk-16.10.0]# systemctl restart httpd.service
[[email protected] asterisk-16.10.0]# systemctl restart php-fpm
[[email protected] asterisk-16.10.0]# cd /usr/src

Step #07 : Download và cài đặt FreePBX v15.0.

[[email protected] src]# wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
[[email protected] src]# tar xfz freepbx-15.0-latest.tgz
[[email protected] src]# rm -f freepbx-15.0-latest.tgz
[[email protected] src]# cd freepbx
[[email protected] freepbx]# ./start_asterisk start
[[email protected] freepbx]# ./install -n

Step #08: Login

Vào browser và nhập IP server tiến hành cài đặt module cần thiết http://IP

Lời kết

Như vậy qua bài viết  này các bạn hoàn toàn có thể tự build được một tổng đài nội bộ dùng cho công ty hoặc demo để làm lab trên Centos8. Chúc các bạn thành công!

Bài viết liên quan

One thought on “[Update]Hướng dẫn cài đặt FreePBX 15 trên CentOS 8

Trả lời

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 *