20.7 C
Muhammad Nabeel
Network and System Administrator

How to Install FreePBX on RHEL 8 / CentOS 8

FreePBX is a web-based open-source graphical user interface (GUI) that manages Asterisk, a voice over IP and telephony server. FreePBX is licensed under the GNU General Public License version 3. It is a component of the FreePBX Distro, which is an independently maintained Linux system derived from the source code of the CentOS distribution, having Asterisk pre-installed. It is also included in various third-party distributions such as The FreePBX Distro and AsteriskNow. So get ready, in this guide you will learn how to install FreePBX on RHEL 8 / CentOS 8.

This guide assumes that you have already installed Asterisk on your RHEL / CentOS 8 Server.

Click here if you want to install Asterisk on your RHEL / CentOS 8 server.

Step 1: Disable SELinux

Open file /etc/selinux/config using below command and modify a line from

- Advertisement -


vi /etc/selinux/config

save changes and exit

Now reboot your machine


Step 2: Install Dependencies

dnf install git wget crontabs cronie tftp-server ncurses-devel sendmail sendmail-cf newt-devel libxml2-devel libtiff-devel gtk2-devel subversion kernel-devel @php cronie-anacron vim php-xml sqlite-devel net-tools gnutls-devel unixODBC -y

Install and configure Apache, PHP and MYSQL database

Install Apache webserver

dnf install httpd -y

Now start and enable Apache service on boot.

systemctl start httpd

systemctl enable httpd

Adding apache ports in the firewall.

firewall-cmd --add-port={80/tcp,443/tcp} --permanent
firewall-cmd --reload

Install PHP and FreePBX required extensions

dnf install php php-common php-gettext php-bcmath php-process php-snmp php-pecl-apcu php-curl php-pear php-gd php-xml php-json php-pcntl php-zip php-cli php-pear php-pdo php-mysqlnd php-pgsql php-gd php-mbstring php-opcache php-xml -y

Set php maximum file upload size

 vi /etc/php.ini

and set upload_max_filesize = 20M

After that, restart apache and php-fpm service and enable php-fpm on boot

systemctl restart httpd php-fpm 
systemctl enable php-fpm

Install MariaDB

dnf install mariadb-server -y

Start and enable MariaDB service on boot.

systemctl start mariadb
systemctl enable mariadb

Then you have to complete MariaDB installation

Note: Do not set MariaDB password as it will secure by FreePBX installation Script automatically

Set root password? [Y/n] n
New password: password
Re-enter new password: password
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Step 2: Install and configure FreePBX on RHEL 8 / CentOS 8

So, switch into /var/www/html/ directory

cd /var/www/html/

After that, download FreePBX

wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-14.0-latest.tgz

Then, uncompress Downloaded archive and run the installation script

tar xf freepbx-14.0-latest.tgz
cd freepbx
./start_asterisk start

./install -n

Upon successful installation, you will see below screen.

Restart Apache service

systemctl restart httpd

Step 3: Access FreePBX Web Interface

Then, open your browser and browse http://YOUR-SERVER-IP/. You will see the Admin setup page, set you admin user and its password and click on “Setup System”

So, you will be redirected to below screen.

After that, click on “FreePBX Administrator” and you will get below screen, type your login details to access Asterisk FreePBX Admin Panel.

After successful login you will see the following screen, now make your desired configuration and use FreePBX

So, that’s it! You know how to install FreePBX on RHEL 8 and CentOS 8.

- Advertisement -
Everything Linux, A.I, IT News, DataOps, Open Source and more delivered right to you.
"The best Linux newsletter on the web"


  1. Hi,
    I tried installing two times on different machine.
    But when I trie to go to the webinterface I get an error 500.
    What to do?


Please enter your comment!
Please enter your name here

Latest article