[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.
NOTICE
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.
PRE-REQUISITES
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:
Click on New
Name: give your VM any name (example: PBXact)
Type: Linux
Version: Other Linux (64-bit)
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
Create a virtual hard disk now
VDI (note: DigitalOcean also supports the VMDK format)
Dynamically allocated
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)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.
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
Start the VM
Enter the (default) installation method (that is: Enter, Enter, Enter)
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
Once the installation is complete, click on Reboot on the lower right corner of the VM's screen
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
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
Upload the .bz2 file to DigitalOcean (under: MANAGE > Images > Custom Images > Upload Image)
Â
Select CentOS as the DISTRIBUTION
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
After uploading is complete, and the Status is no longer "Pending", create DigitalOcean's "Droplet" off of it (click on More > Start a droplet)
Â
Â
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: How to Resize Droplets for Vertical Scaling | DigitalOcean Documentation Â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)
Â
Â
Enter a descriptive enough hostname of your choice
Â
Â
Click on the Create Droplet button at the end of the page
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:
Â
reboot
fwconsole ma downloadinstall sysadmin
fwconsole ma install oembranding
Â