PBX or private branch exchange is a virtual telephone system that can connect to both to landline and cellular networks. It provides instant messaging, video and audio through TCP/IP protocol.

Many business are using PBX for VoIP, mainly for international calls and also as an intercom within the company. In this tutorial, we will be using Asterisk as the backend system, and show you how to set up a free GUI for Asterisk: FreePBX.

Today, we will learn how to install and use FreePBX on CentOS

Steps to install FreePBX on CentOS 7

1. Login as root. You need to have root access.

2. Next, we will have to disable selinux. Open the folder /etc/sysconfig/selinux and alter the following lines:

Then reboot the system. Check selinux status by typing sestatus and it should show disabled status.

3. Next, we have to update the server. To do that type following:

4. Then you will have to install other dependencies

5. Next, install PHP 5.6 repos

6. Then install, php5.6w

7. Then install node.js

8. You need to have MariaDB to run FreePBX, To do that, type the following:

MariaDB will start. You will be asked for credentials.

9. Next, enable & run Apache.

10. Next, Legacy Pear needs to be installed.

11. Google voice dependencies also need to be installed. Install iksemel:

12. Now, we can download Asterisk:

13. Next, install jansson

14. Next, compile & install Asterisk

15. Now we will have to set ownership permissions in Asterisk

16. Make a minor change to your Apache configuration so the system can run properly:

17. Finally, download & install FreePBX.

Now you can use FreePBX.  Open any browser and type in the IP or hostname of the FreePBX server. You will see an admin page to set up your account.

Enjoy your newly installed FreePBX!

Note: if you don’t currently have a server to run your PBX on, your most cost-effective solution is to get a VPSCheap plan of at least 512 MB of RAM.