How to Setup FreePBX Server on Azure/AWS/GCP (FreePBX Hosting)

FreePBX is a web-based open source GUI (graphical user interface) that controls and manages Asterisk (PBX), an open source communication IP PBX server. FreePBX hosting is licensed under the GNU General Public License (GPL), an open source license. This solution is a pre-configured self hosted FreePBX Distro that includes the system OS (Ubuntu), Asterisk, FreePBX GUI and assorted dependencies.  Deploy and install FreePBX the VOIP server straight into your cloud environment from the links below.

Cloud FreePBX Hosting

Setup FreePBX on Azure

Setup FreePBX on AWS

Setup FreePBX on Google

FreePBX Features

IP PBX using FreePBX VoIP Solution on Ubuntu Server with the following features:

  • Add or change extension and voicemail accounts 
  • Native support of SIP, IAX, and ZAP clients (other endpoints are supported through custom extensions)
  • Supports all Asterisk supported trunk technologies
  • Reduce long distance costs with LCR
  • Route incoming calls based on time-of-day
  • Create interactive Digital Receptionist (IVR) menus
  • Design sophisticated call groups
  • Manage callers with Queues
  • Upload custom on-hold music (MOH)
  • Search company directory, based on name
  • Detect and receive incoming faxes
  • Share administrative duties
  • Backup and Restore your system
  • Save audio recordings of calls
  • View call detail reporting with asterisk-stat
  • View ext and trunk status with Flash Operator Panel
  • View conversation recordings with Asterisk Recording Interface (ARI)
  • Unlimited number of Voicemail boxes
  • “Follow Me” functionality
  • Ring Groups with calls confirmation (so if, eg, a cellphone is out of range and diverts to voicemail, all the other phones keep ringing)
  • Unlimited number of Conferences
  • Paging and Intercom functionality for man SIP phones that support it
  • Music on Hold (via MP3s, or streamed off the internet)
  • Call Queues
  • And many other features

FreePBX Installation Video Tutorials

Choose Cloud FreePBX Platorm

3 Videos

Table of Contents

Getting Started with FreePBX Hosting

Once your FreePBX server has been deployed, the following links explain how to connect to a Linux VM:

 

 

Once connected and logged in, the following section explains how to configure FreePBX to get you up and running.

Setup FreePBX

To get started we need to make the following configuration changes. All commands need to be run as root. Run the following command to switch to the root user:

				
					sudo -i
				
			

Step 1.) Setup FreePBX MySQL Database Connection

Copy and paste the following into your terminal and hit enter:

				
					cat <<EOF > /etc/odbcinst.ini
[MySQL]
Description = ODBC for MySQL (MariaDB)
Driver = /usr/local/lib/libmaodbc.so
FileUsage = 1
EOF
				
			

Then copy and paste the following into your terminal and hit enter:

				
					cat <<EOF > /etc/odbc.ini
[MySQL-asteriskcdrdb]
Description = MySQL connection to 'asteriskcdrdb' database
Driver = MySQL
Server = localhost
Database = asteriskcdrdb
Port = 3306
Socket = /var/run/mysqld/mysqld.sock
EOF
				
			

Step 2.) Start FreePBX Server

Then run the following commands to start the setup:

				
					cd /usr/src
				
			
				
					wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
				
			
				
					tar vxfz freepbx-15.0-latest.tgz
				
			
				
					rm -f freepbx-15.0-latest.tgz
				
			
				
					touch /etc/asterisk/{modules,cdr}.conf
				
			
				
					cd freepbx
				
			
				
					./start_asterisk start
				
			
				
					./install -n
				
			

You should see the following message, if it has been successful:

Step 3.) Setup FreePBX SMTP Alerts (Postfix)

Next we need to install Postfix, so we can configure your email alerts. First we need to remove any apt locks, before we can install any packages. Run the following commands under the root account.

				
					rm /var/lib/dpkg/lock*
				
			
				
					rm /var/cache/apt/archives/lock
				
			
				
					rm /var/lib/apt/lists/lock
				
			

This command to be run under the root (sudo) to install Postfix

				
					sudo apt-get update 
sudo apt-get install postfix -y
				
			

Instructions on configuring SMTP alerts take a look at the following guide:

 

https://wiki.freepbx.org/display/PPS/Setup+Postfix+Manually

Step 4.) Access the FreePBX Admin GUI (Graphical User Interface)

Once the above has been configured, you are now ready to login.  Get the IP address of your VM (use http instead of https if it fails to load the login page) and paste into your browser and you should see the following. Setup a new admin account to login:

Step 5.) Update FreePBX / Asterisk Modules

Once you have logged in, perform the following steps:

 

  • Click Apply Config on the top right corner when completed loading.
  • Goto Admin manu click Module Admin.
  • Click Check online.
  • Click Download all.
  • Click Process.
  • Goto bottom click Confirm. Now you see all package start download and install.
  • Click Return.
  • Finally click Apply Config on the top right corner.

 

Now enjoy your FreePBX server. 

FreePBX Firewall Ports

You will need to make sure that if you have any firewalls in your environment (security groups) that the required ports are open. For a full list check the following link:

 

https://wiki.freepbx.org/display/PPS/Ports+used+on+your+PBX

 

To setup AWS firewall rules refer to – AWS Security Groups

To setup Azure firewall rules refer to – Azure Network Security Groups

To setup Google GCP firewall rules refer to – Creating GCP Firewalls

FreePBX Documentation / Support

For documentation on how to start using FreePBX hosting, take a look at their official documentation:

 

https://wiki.freepbx.org/display/FPG/Configuring+Your+PBX

 

For any support or issues you are experiencing have a look at FreePBX support forum:

https://community.freepbx.org/

FAQ

Q) I’m trying to get your Azure Freepbx VM to work. It seems fine until you stop the vm and restart and then Freepbx reports it can’t connect to asterisk

 

A) Sounds like you just need to start asterisk. If you login via your ssh terminal and run the following commands:

 

cd /usr/src

 

cd freepbx

 

./start_asterisk start

Disclaimer: This solution is built using FreePBX. FreePBX is a registered trademark of Sangoma Technologies Inc and is licensed under the GPL. No warrantee of any kind, express or implied, is included with this software Use at your risk, responsibility for damages (if any) to anyone resulting from the use of this software rest entirely with the user. The author is not responsible for any damage that its use could cause.

Avatar for Andrew Fitzgerald
Andrew Fitzgerald

Cloud Solution Architect. Helping customers transform their business to the cloud. 20 years experience working in complex infrastructure environments and a Microsoft Certified Solutions Expert on everything Cloud.

0 0 votes
Article Rating
Subscribe
Notify of
1 Comment
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
1
0
Would love your thoughts, please comment.x
()
x