[How-to] Host PBXact or PBXact SaaS on DigitalOcean

This step-by-step guide aims to help anyone install and start using PBXact or PBXact SaaS on the DigitalOcean hosting platform.


While no incompatibilities between the FreePBX ISO and DigitalOcean's hosting platform have been detected at the time of writing this guide, Sangoma does not officially Support hosting FreePBX/PBXact on platforms other than Sangoma Cloud. This means that, while Sangoma Support Services may still be accessed, any platform-related issue will not be covered.


  • Download FreePBX ISO file from https://www.freepbx.org/downloads/freepbx-distro

  • Download and install the preferred Virtual Machine engine of your choice. For this guide we will use VirtualBox

  • Download and install a file archiver capable of compressing files to .bz2 format (example: 7-Zip)

  • Have the SSH Key pair (private and public) properly generated and in place for the SSH client application of your choice (guide for Putty -- guide for MobaXterm)


Create a Virtual Machine and Install the FreePBX ISO on it

Create the VM

Example using VirtualBox:

  1. Click on New

    1. Name: give your VM any name (example: PBXact)

    2. Type: Linux

    3. Version: Other Linux (64-bit)

  2. Set Memory size -- depends on your PBX processing needs (number of users, concurrent calls, etc.). As examples of general approximates: 2GB could prove to be enough for up to 25 users, while 4GB could prove to be enough for up to 100 users

  3. Create a virtual hard disk now

    1. VDI (note: DigitalOcean also supports the VMDK format)

    2. Dynamically allocated

    3. Take note of the location where the virtual Hard disk file will get created and stored as will be needed later
      (by default in Windows: C:\Users\UserName\VirtualBox VMs\VMName\VMName.vdi)

    4. Set the size -- depends on your PBX storage needs (10GB minimum are recommended for basic PBXact operation. If calls are to be recorded, the disk size would need to be accordingly bigger, considering that each minute of recorded SIP audio consumes ~1MB of disk space). The size here must be in accordance with DigitalOcean's plan which we'll select later.

  4. On VirtualBox Manager's main window, under the Details panel on the right, click on "[Optical Drive] Empty" (under the Storage category) > Choose disk image... > select the FreePBX .iso file and click Open


Install FreePBX onto the VM

  1. Start the VM

  2. Enter the (default) installation method (that is: Enter, Enter, Enter)

  3. The installation will begin. Make sure to set the root password while the installation is running; a strong password should be used, take note of it

  4. Once the installation is complete, click on Reboot on the lower right corner of the VM's screen

  5. The Installation menu will be displayed again (due to the iso file still being attached), just Close (Power off) the VM


Upload the VM's virtual Hard Disk file to DigitalOcean and create the Droplet off of it

Upload the VM's hard disk drive file

  1. Prior to uploading the VM's hard disk file, compress it to .bz2 format using the file archiver application of your choice (example: 7-Zip). The location of the virtual hard disk file depends on the host OS used to install the VM, see step 3.c. above

  2. Upload the .bz2 file to DigitalOcean (under: MANAGE > Images > Custom Images > Upload Image)


  3. Select CentOS as the DISTRIBUTION

  4. Chose the datacenter region closest to where most of the PBXact/PBXact SaaS users (phone extensions) will be connecting from, and click on: Upload Image


Create DigitalOcean's Droplet using the uploaded virtual disk file

  1. After uploading is complete, and the Status is no longer "Pending", create DigitalOcean's "Droplet" off of it (click on More > Start a droplet)



  2. Choose a plan according to your PBX processing needs (number of users, concurrent calls, if the calls will use demanding features such as recording, queueing, transcoding, encryption, etc.).
    As examples of general approximates: 2GB-1CPU could prove to be enough for up to 25 users doing up to 15 concurrent simple calls, while 4GB-2CPUs could prove to be enough for up to 100 users doing up to 60 concurrent simple calls. It all depends on the specific needs of each particular scenario. DigitalOcean does offer a possibility for changing plans (growing) at a later time: https://www.digitalocean.com/docs/droplets/how-to/resize/  

  3. Click on New SSH Key and paste the text contained in your SSH Public Key (check the PRE-REQUISITES section at the beginning of this guide for examples of where to get the required Key ; by default, MobaXterm, for example, stores the generated Public SSH Key in Windows at C:\Users\UserName\Documents\MobaXterm\home\.ssh\id_rsa.pub)



  4. Enter a descriptive enough hostname of your choice



  5. Click on the Create Droplet button at the end of the page

  6. Go to MANAGE > Droplets , after some moments, the Droplet will be ready and its IP address presented on the screen



Transform FreePBX to PBXact or PBXact SaaS

The final step is just to transform the FreePBX brand new installation into PBXact or PBXact SaaS. For this, just use your previously acquired PBXact/PBXact SaaS Deployment ID when activating this FreePBX instance: open an SSH session and execute the following command as root user:


fwconsole sysadmin activate depID_of_pbxact



If, after the complete execution of the command above, the webUI would not yet reflect PBXact's style, execute the following additional commands:



fwconsole ma downloadinstall sysadmin

fwconsole ma install oembranding


Return to Documentation Home I Return to Sangoma Support