FreePBX Open Source - Install v17 with ISO Distro
Table of Contents
Released in February 2025 and currently in BETA, the v17 ISO is based on Debian 12 ISO and should help automate the process for installing a complete FreePBX or PBXact 17 system with the underlying OS configured appropriately as outlined in this freepbx.org blog post.
Also released as open source is the Ansible role to generate your own FreePBX installation ISOs - see the sngfd12 repo in the FreePBX GitHub!
Video of the big reveal of the 17 ISO
AstriCon 2025 featured a session that covered the new FreePBX v17 ISO and discussed some of the options you will encounter during installation (starting at 19m28s below):
Step by Step instructions
On-Prem
Write the ISO to a USB stick.
Use a USB smaller than 100G. LARGER STICKS WILL BE TREATED AS RAID MEMBERS AND GET WIPED.
Careful with the
ddtool on GNU/Linux and BSDs so that you don’t write to the wrong disk!
Confirm DHCP is working on your network.
(Ideally) Assign an IPv4 reservation for the MAC address of your PBX’s connected Ethernet interface. If using multiple interfaces, use the interface with the lowest number / earliest alphabetical MAC.
Try to get local DNS working on your network so your target machine will get a friendly host name.
Prepare your target machine.
Only connect the primary Ethernet interface.
Multiple hard disks will turn into a RAID. NVMe DISKS MAY HAVE ISSUES (Update March 2026 - single NVMe should be fine, issue is now only with multiple NVMe disk and mixed NVMe/SATA disk environments.)
Make sure there’s nothing on the disks that you care about saving.
Insert the USB stick into the target.
Boot your target and immediately enter the BIOS. Usually this is by pressing a key eg. Delete, F1, F9, Escape, etc.
Switch your system to UEFI boot from the USB. This will vary by motherboard.
Save and exit the BIOS.
THE MOST PROPER RAID SETUPS WITH SYNCHRONIZED BOOT LOADERS REQUIRE UEFI not legacy GRUB/ISOLINUX.
The GRUB/ISOLINUX installation screens should look something like Figure I below.
Say “Howdy!” to Tango the FreePBX frog mascot and Kit the Asterisk robot mascot.
Use the arrow keys on your keyboard to navigate the menu. Or, use the single-key shortcuts in bold e.g. press h for Help tips, or b to Begin installation.
Figure I: Initial GRUB Legacy BIOS/ISOLINUX bootloader installation screen.
As you begin installation, refer to the FreePBX.org blog post for details about what “spice level” options to choose, or if you are in a hurry, consider these suggestions:
If you have custom hardware with physical DAHDI interfaces such as Sangoma T1/E1/FXO/FXS cards, choose PUB.
If you do not have any physical telephony hardware and never plan to, you might try FOG instead.
If you want only open source software installed on your final product, check out OSO but heads up it can be a bear on cutting edge hardware without non-free firmware.
If you have Sangoma appliances larger than the UC40, consider UPG.
If you are mimicking a warehouse factory Sangoma install or working with Sangoma support, probably you should select INT.
Figure II: Some of the various spice levels of the bootloader installation (older ISOLINUX version).
Next pick your Asterisk version to start with (you can change it later post-install). Asterisk 22 is the best choice for long-running modern installs at this time (March 2026).
Figure III: Choose initial Asterisk version. Note the EOL dates at the bottom might not be in sync with upstream Asterisk by the time you read this.
Then pick your final options, such as SERIAL port based installation, disk partition guidance like SLAB, etc. The default partitioning scheme (option 1) is to automatically separate things out a bit into multiple different disk partitions, so that you don’t fill up your hard drive accidentally with a bunch of chatty logs or call recordings. But the SLAB option (new in March 2026) lets you keep things the more traditional FreePBX way in one large root partition and smaller boot and swap partitions.
Figure IV: The new SLAB option for crude disk partitioning is highlighted.
That concludes the GRUB steps. Next, moving on to the DEBIAN steps, depending on your spice level, you may need to choose your language, locale and keymap.
Figure V: Language selection. Locale and keymap selections will look similar.
Installation of Debian packages will continue. Lots of things will flash on your screen.
After about 5-10 minutes, a prompt may appear (depending on your “spice level” selection in Step #7) showing the automatically generated password for the sangoma user (as shown in Figure VI.)
Copy your generated password to a safe location.
You can change the password if you like - follow the instructions shown on screen.
Press CTRL+ALT+F2 to enter a terminal window.
Type:
chroot /targetpasswd sangomaEnter a new password.
Press CTRL+ALT+F1 to return to this dialog.
Press Enter to continue and the system should reboot in a minute or two.
Figure VI: Generated password for the sangoma user as shown for some of the installation spice levels.
Installation should automatically reboot a couple of times and continue downloading and installing packages over the next appx. 10-30 minutes.
When complete, access the FreePBX web GUI in your browser at the IP address you reserved previously in Step #3.
Setup secure usernames and passwords for web access (similar to FreePBX versions before 17.)
Please note that for security purposes, the root user login via local/remote command line terminal is disabled by default on the v17 ISO. This means that when you login as the sangoma user, at the keyboard or via SSH, then in order to run commands that require elevated privileges, such as fwconsole, you will need to use the sudo command. For example:
$ sudo fwconsole ma upgradeall ; # elevated to the root user $ sudo -u asterisk fwconsole firewall restart ; # elevated to the asterisk user (sufficient for some fwconsole usage)
Cloud
Generally, the same as above for On-Prem, except the method to get the ISO attached to your cloud will differ e.g. probably not USB in the cloud.
Also, choose the FOG spice level at the GRUB/ISOLINUX installation prompt in Step #7.
Hybrid
Follow both the On-Prem and Cloud instructions, on two separate systems, one local and one remote. Then, use the FreePBX Advanced Recovery module to link the systems together.