Vultr is a great hosting platform that is very similar to Digital Ocean, except they allow for easy uploading of ISO files for installing distributions such as FreePBX. You can install FreePBX from scratch on any hosted platform, however using the official FreePBX ISO also provides access to Sangoma’s commercial modules which can greatly improve the featureset and administration of FreePBX. Vultr even goes a step further because they already have the official FreePBX ISO in their ISO library making it absolutely the easiest and most cost effective way I have seen of getting up and running with FreePBX.
The first thing to do is sign up for Vultr. If you don’t already have an account, I would appreciate signing up using my referral link: https://www.vultr.com/?ref=7598600
Before we dig into creating FreePBX, let’s take a quick detour to ensure that Two Factor Authentication (2FA) is set up on your Vultr account. If you don’t have it already, you should go to the Apple App store or the Google Play Store to download the Google Authenticator app.
In the Vultr interface, click on ‘Account’ from the left-hand menu, followed by the ‘Authentication.’ tab. Next, click on ‘Manage Two Factor Authentication.’
Select ‘Google Auth’ from the dropdown box and then click the ‘+’ symbol to add Google Authentication as your 2FA method. This will bring up a QR code that needs to be scanned with the Google Authenticator app. Once you’ve scanned the QR code, click ‘Continue’ to continue.
When you click continue, you will be asked to enter in the 6 digit code from Google Authenticator for your Vultr account. Enter that code and click ‘Enable Google Authentication’ to finish the 2FA setup. Done! You will now be prompted for this 6 digit code when logging into Vultr.
Onto the FreePBX server setup! Click on ‘Servers’ from the left hand menu followed by the blue circled ‘+’ symbol in the upper right. This will bring you to the new server setup page.
The first step of the server creation is to select your location. Pick whichever data center you want – I however, tend to choose the data center closest to my (or my client’s) geographic location. In this case, I’m going to pick Seattle.
The next step is where we select our server type. Here, we want to first click on the ISO Library tab and then select FreePBX from the list of ISO Library options.
Next, select your server size. FreePBX will run on anything in the $3.50/month size or higher. For testing purposes, the $3.50/month tier is fine. For a production system with 10-15 users, the $5.00/month tier would be the best option, and then scale up from there.
Finally, you can select any options (Auto Backups are highly recommended for a production server), and then give your server a hostname. Hostname should be something like pbx.company.com. You will then want to follow up and create a DNS A-record that points the FQDN hostname you create to the IP address of the Vultr server. You can technically connect phones and SIP trunks to the IP address of your Vultr server directly, however for easier migration down the road, or for recovering from potential failures, an FQDN is best practice.
Click ‘Deploy Now’ and you’re off to the races! You are taken back to the server summary screen. It will take 1-2 minutes for the server to spin up, so be patient. Once the ‘Status’ changes from ‘Installing’ to ‘Running,’ you should wait about another 30 seconds, and then you’re good to go. Click on the name of your server to see its detail screen.
Since this is a FreePBX ISO, that is essentially the same thing as inserting an installation DVD or USB thumb drive into a physical server. The FreePBX installation has already started on the console of the server. You will NOT be able to ping or browse to the IP address of the server at this point – we have to go to the console. Click the ‘Console’ icon in the upper right hand corner of your server information screen.
When you click the ‘Console’ button, your FreePBX installation will pop up in a new window. Press ‘Enter’ to take the first option, which is FreePBX 14 Installation (Asterisk 13).
Take the default option again by pressing ‘Enter’ on Graphical Installation – Output to VGA.
Finally, press ‘Enter’ again to choose FreePBX Standard (it’s the only option here).
At this point, the FreePBX installation starts, and you will be brought to an overview/status screen that shows what looks like a bunch of options and system checks. You DO NOT have to click anything on this screen:
It will automatically switch to a new screen that has the installation progress at the bottom. On this new screen, you should set your root password by clicking the ‘Root Password’ button.
At the ROOT PASSWORD screen enter in a STRONG root password twice (make sure you keep track of this password – you will need it to SSH into your FreePBX), and then click ‘Done.
At this point, we’re on autopilot. Sit back, relax, and wait for the installation to complete which should take 20-30 minutes.
Once you get to the screen below, we’re almost done…don’t click REBOOT just yet! Remember how I said using the ISO is basically like having an installation DVD or USB thumb drive in a physical server? Well, at this point, we need to remove that installation media from the server.
Go back to your Vultr control panel and click on your server’s details. Click on the ‘Settings’ tab and then choose ‘Custom ISO’ from the left hand menu. Finally, click ‘Remove ISO’ to virtually eject your installation media.
Click ‘OK’ to confirm the removal of media, and the server will reboot. You will be disconnected from the console. At this point, just wait about 2 minutes and enter in the IP address of your Vultr FreePBX into a browser. You should be presented with the setup wizard for FreePBX.
If you have already created a DNS A Record for your Vultr IP address, you should be able to access the server on your FQDN now as well.
From here, you can configure FreePBX normally! Use my FreePBX 101 v14 tutorial video series if you need help!