FreePBX Distro
FreePBX Distro is an open-source Linux distribution designed to provide a complete, pre-configured platform for deploying and managing IP private branch exchange (PBX) systems using the Asterisk telephony engine and the FreePBX graphical user interface (GUI).[1][2] Originally launched as AsteriskNOW in 2007 by Digium (the creators of Asterisk), the distribution evolved under subsequent maintainers, including Schmooze (now part of Sangoma Technologies since 2015), to become the FreePBX Distro, offering a streamlined installation via ISO image that includes the operating system, Asterisk, FreePBX, and necessary dependencies.[3][4] Historically based on CentOS (with Sangoma Linux 7 as a derivative of CentOS 7 for versions up to FreePBX 16), the Distro transitioned to Debian 12 as its base for FreePBX 17, released in general availability in 2024, to support modern updates and security features.[2][5][6] Key features of FreePBX Distro include a web-based administration interface for configuring extensions, trunks, call routing, and voicemail; support for VoIP protocols like SIP and PJSIP; and integration with commercial modules from Sangoma for advanced functionalities such as call recording and high availability.[7][5] It is licensed under the GNU General Public License (GPL), allowing free use, modification, and distribution, and is targeted at businesses, organizations, and service providers seeking cost-effective, scalable telephony solutions without deep Linux expertise.[1] As of 2025, the Distro remains actively maintained, with ISO images available for legacy versions (e.g., FreePBX 15 and 16 on SNG7), a beta ISO and script-based installations primarily on Debian 12 for FreePBX 17, alongside options for cloud or on-premises environments.[2][8]Introduction
Overview
FreePBX Distro is a freeware unified communications software system that integrates the FreePBX graphical user interface (GUI) with the Asterisk PBX engine to enable voice over IP (VoIP) telephony, private branch exchange (PBX) functionality, fax services, interactive voice response (IVR) systems, voicemail, and email integration.[9][10] Developed by Sangoma Technologies Corporation, which took over primary sponsorship from the original FreePBX project, the Distro serves as a pre-configured Linux distribution. Earlier versions were derived from CentOS (Sangoma Linux 7, a derivative of CentOS 7), but FreePBX 17 transitioned to Debian 12 as its base, released in general availability in 2025, to support modern updates and security features.[7][5][4] The system supports web interface translations in 22 languages, facilitating global adoption by allowing users to configure and manage the platform in their preferred language.[11] As of 2025, FreePBX has over 4 million active installations worldwide, with approximately 20,000 new PBXs added monthly, underscoring its role as a turnkey solution that simplifies Asterisk deployment for users without deep technical expertise in open-source telephony.[9]Key Components
The FreePBX Distro was built on a base operating system derived from CentOS 7 (with final CentOS-based versions utilizing CentOS 7.8 to ensure stability and compatibility with Red Hat Enterprise Linux 7), but FreePBX 17 uses Debian 12.[2][5] This foundation includes a Linux kernel configured for reliable performance, along with networking stacks and firewall settings tailored to support VoIP telephony operations, such as secure SIP traffic handling through integrated modules.[12][13] At its core, the distribution bundles the FreePBX graphical user interface, a web-based tool that serves as the central means for configuring and managing Asterisk PBX features.[9] It also includes the Asterisk PBX software in versions such as 16, 18, or 19 for earlier builds, and 21 or 22 for FreePBX 17, accompanied by essential dependencies such as the Apache web server, MariaDB (compatible with MySQL), and PHP to support the GUI and database operations.[2][5][14][15] Additional tools integrated into the Distro enhance security and administration, including Fail2Ban for real-time intrusion prevention by monitoring and blocking suspicious login attempts, and the Sysadmin module for comprehensive system management tasks like updates and monitoring.[12] The framework also supports commercial add-on modules, allowing seamless integration of proprietary extensions for advanced functionality. The final CentOS-based release of the FreePBX Distro, designated SNG7-PBX16-64bit-2302-1 and issued in February 2023, is exclusively available in a 64-bit architecture to align with modern hardware requirements; FreePBX 17 continues the Distro on Debian with a beta ISO available as of early 2025.[2][5] Architecturally, it employs a netinstaller ISO design, starting as a compact image of approximately 18 MB that downloads and expands to the complete system during installation, facilitating efficient deployment on physical or virtual machines.[16]History
Origins and Early Development
The origins of the FreePBX Distro can be traced back to the Asterisk Management Portal (AMP), an open-source project launched in 2004 by Coalescent Systems to provide a graphical user interface for managing Asterisk, an open-source PBX software. AMP emerged as an early solution to the challenges of configuring Asterisk, which at the time required manual editing of text-based configuration files on generic Linux distributions like Red Hat or Debian. This initial development focused on streamlining telephony setup for non-expert users, particularly small businesses and enthusiasts seeking affordable alternatives to proprietary PBX systems.[3][17] By 2006, the project underwent a significant evolution when AMP was renamed FreePBX to reflect its growing emphasis on modular, open-source PBX management tools and to avoid trademark conflicts with Digium, the company behind Asterisk. This rebranding introduced a more flexible architecture, allowing the GUI to support not only Asterisk but potentially other telephony engines, while maintaining a commitment to accessibility for small-scale deployments. The motivations remained centered on reducing the technical barriers of manual Asterisk installations, enabling users to create robust communication systems without extensive Linux or programming knowledge.[18][19] The FreePBX Distro made its formal debut in April 2011 as a pre-configured, bootable ISO image built on CentOS Linux, integrating FreePBX, Asterisk, and essential dependencies into a turnkey distribution for rapid PBX deployment. This release directly addressed the ongoing pain points of ad-hoc setups by automating installation, applying security hardening such as randomized passwords, and providing a unified environment that minimized configuration errors. Originally developed by Digium as AsteriskNOW—a similar appliance-like distribution—the project was rebranded and incorporated into the FreePBX ecosystem to leverage the latter's active community and development momentum.[16][20]Major Releases
The FreePBX Distro was first released in April 2011 as a netinstaller ISO image approximately 18 MB in size, based on CentOS Linux and integrating FreePBX version 2.9 with Asterisk 1.8.[16][21] Over the subsequent years, the Distro evolved alongside major FreePBX versions, with releases tying directly to FreePBX 13 through 16 and expanding Asterisk compatibility from version 13 to 19, while incorporating optimizations such as smaller netinstaller footprints in early iterations transitioning to more streamlined full ISO builds around 2.3 GB by later cycles.[22] Commercial modules were integrated from the initial release via a dedicated repository and store, enabling add-ons for enhanced functionality like advanced call routing and reporting.[21][23] The Distro's support policy aligned each major FreePBX version with corresponding releases, providing maintenance for typically 3-5 years per cycle while officially backing the current stable version and the prior one, with new majors emerging every 1.5-2 years on average.[24][25][26] In February 2023, the final stable Distro release for CentOS-based systems, SNG7-PBX16-64bit-2302-1, was issued based on CentOS 7.8 with FreePBX 16 and support for Asterisk 16, 18, or 19, receiving security patches through the end of CentOS 7 support on June 30, 2024.[2][27] This release coincided with 2023 announcements of a migration to Debian-based installations starting with FreePBX 17, which reached general availability in August 2024.[6][28]Discontinuation
In December 2023, Sangoma announced the discontinuation of stable pre-configured ISO distributions for the FreePBX Distro, driven primarily by the end-of-life of CentOS 7 on June 30, 2024, the underlying base for the Distro's customized SNG7 Linux variant, which would no longer receive security updates or support from upstream sources.[28] The shift also reflected a strategic move to Debian 12 for FreePBX 17, enabling faster integration of modern services like PHP 8.2 and Apache 2.4.57 without the constraints of maintaining a proprietary OS layer.[29][30] The timeline for this transition included the release of the final stable CentOS-based Distro ISO, SNG7-PBX16-64bit-2302-1, in February 2023, supporting FreePBX 16 on Linux 7.8 with Asterisk versions 16, 18, or 19.[2] Following the announcement, Sangoma encouraged users to perform in-place upgrades to Debian where feasible, though such migrations were not officially guaranteed and often required manual intervention.[29] Officially, the company transitioned to providing manual installation scripts for deploying FreePBX on fresh Debian installations.[28] However, in February 2025, a beta ISO (SNGDEB) based on Debian was released for FreePBX 17 to facilitate smoother installations, built using stock Debian with added shell scripts and Ansible roles while retaining upstream licenses.[31][5] This development provided a semi-turnkey option despite the earlier discontinuation of stable ISOs, streamlining efforts by focusing on Debian ecosystems for enhanced security and update efficiency. Existing Distro-based installations remain operational for PBX functionality but lack support for OS-level patches beyond June 2024, posing risks for long-term security.[29] This change impacts over 1 million legacy FreePBX systems worldwide, many of which continue to run on the now-unsupported SNG7 base.[32]Installation and Setup
System Requirements
For legacy versions based on CentOS 7.8 (FreePBX 16 and earlier), the FreePBX Distro requires a 64-bit x86 architecture for installation and operation.[33] Current versions (FreePBX 17 and later) are based on Debian 12 and share similar hardware needs: a 64-bit x86 architecture, minimum 2 GHz dual-core CPU, 4 GB of RAM (with 8 GB recommended for optimal performance), and at least 40 GB of hard disk space, preferably on an SSD to enhance system responsiveness and reduce latency in call processing.[34][35][5] For networking, a Gigabit Ethernet interface is advised to support high-throughput VoIP traffic, along with a static IP address to ensure reliable connectivity; essential firewall ports include TCP 80 and 443 for HTTP/HTTPS access to the GUI, UDP/TCP 5060 for SIP signaling, and UDP 10000-20000 for RTP media streams.[34][36][37] The Distro is compatible with virtualization platforms such as VMware and KVM, allowing deployment in virtual machines, though legacy versions do not support containerization environments like Docker.[38][39][40] Environmental prerequisites emphasize a stable power supply for the server hardware, with an uninterruptible power supply (UPS) strongly recommended to maintain telephony uptime during outages and prevent disruptions in ongoing calls.[41] In terms of scalability, mid-range hardware meeting the minimum specifications can handle up to approximately 500 extensions effectively, depending on concurrent call volume and features like recording; larger deployments exceeding this scale typically require additional hardware resources or third-party clustering solutions, as native high-availability clustering is not built into the Distro.[42][43][44]Installation Process
The FreePBX Distro historically utilized an ISO image for installation, providing an automated process to deploy a complete PBX system based on CentOS Linux versions 6 or 7.[2] The full ISO, typically around 700 MB, contained all necessary packages for a standalone installation, while a smaller netinstaller variant of approximately 18 MB downloaded components over the network during setup.[45] To begin, users downloaded the ISO from the official FreePBX website at freepbx.org/downloads, then burned it to a DVD or wrote it to a USB drive using tools like Rufus or dd for bootable media creation.[2] Upon booting from the media on compatible hardware, the installer launched in graphical or text mode, prompting selection of the installation type, such as automated partitioning of the target disk (e.g., ext4 filesystem on /dev/sda) and package installation including Asterisk, FreePBX, and dependencies.[46] The process configured basic system settings like hostname, network interface (e.g., DHCP or static IP), and timezone during the initial setup phase, completing the core OS and FreePBX framework installation without manual intervention.[45] After rebooting into the new system, users accessed the web-based graphical user interface (GUI) at https://[IP-address]/admin using a web browser to finalize configuration, including creating an admin account and applying initial modules.[11] Post-installation tasks involved running command-line utilities from the shell, such asfwconsole ma upgradeall to update FreePBX modules and fwconsole reload to apply changes, followed by setting a strong admin password via the GUI and enabling the built-in firewall with fwconsole firewall enable.[46] Common troubleshooting during ISO-based installs included resolving network detection failures by manually configuring interfaces in the installer or addressing outdated CentOS repository mirrors by selecting alternative mirrors if downloads stalled.[47]
Following the end-of-life of CentOS 7 in 2024 and the shift away from proprietary ISOs, FreePBX installation transitioned to Debian 12 as the base OS, with official support for FreePBX 17 (general availability August 2024) and later versions emphasizing script-based deployment over full ISOs. FreePBX 17 remains supported only on Debian 12, not on Debian 13 (released June 2025).[29][6] For these alternatives, users first install a minimal Debian 12 system via its standard ISO or netinstall, ensuring it meets hardware requirements like a 64-bit CPU and at least 2 GB RAM.[11] Then, as root, they execute the official installation script: cd /tmp && wget https://github.com/FreePBX/sng_freepbx_debian_install/raw/master/sng_freepbx_debian_install.sh -O /tmp/sng_freepbx_debian_install.sh && bash /tmp/sng_freepbx_debian_install.sh, which automates the addition of Asterisk 21, FreePBX framework, Apache, MariaDB, and PHP 8.2, prompting for confirmations during the process.[48][8] This method handles dependency resolution and initial setup, culminating in GUI access at https://[IP-address]/admin for completion, similar to the ISO workflow.[46] For manual setups without the script, users compile and install Asterisk from source tarballs, configure ODBC for database connectivity, and deploy FreePBX via its tarball extraction and ./install command, though this is less recommended for production due to complexity.[46]
In 2025, a beta ISO for FreePBX 17 based on Debian 12 was released (February 2025) to simplify physical installations, following the same boot-and-automate steps as prior versions but without ongoing full ISO support.[49] Troubleshooting for Debian-based installs often involves resolving package conflicts post-Debian 13 release by pinning repositories or rerunning apt update, and ensuring firewall rules allow HTTP/HTTPS traffic if GUI access fails.[50]