Dec 02, 2025
Aris S.
10min Read
FreePBX is an open-source platform that enables phone systems over a network, typically used for internal communication within a company.
This FreePBX tutorial will explain everything about this platform, from installing it on your server to setting up the phone system in your network. You will also learn how to install modules to expand FreePBX’s functionality.
To host FreePBX, you need a virtual private server (VPS). While you can use a computer as a physical server, it can be more expensive and inconvenient since you must keep it running 24/7.
A virtual server is generally more affordable and provides features that help simplify the process of setting up FreePBX.
To choose the best VPS provider for your FreePBX project, we recommend purchasing a plan with at least a single-core CPU, 2 GB of RAM, and 20 GB of storage. Also, ensure your web host has a minimum of 100 Mb/s connection for smooth and responsive communication.
Running on a 1 Gb/s network, Hostinger’s FreePBX VPS hosting is a great fit. It starts at 0/month, and you can easily upgrade your plan anytime to accommodate your growing phone system needs.
With our Kodee AI Assistant, you can easily write code, commands, and instructions for managing your FreePBX server. Moreover, our global data centers let you host the tool in the location closest to you for minimal latency.

After purchasing a VPS plan from Hostinger, complete the onboarding process, which involves setting up a new password and choosing an operating system.
The steps to install FreePBX vary depending on its version, your server’s operating system, and your preferred configuration setup.
In this section, we will go over the two easiest methods.
Hostinger users can easily install FreePBX in a few clicks using VPS operating system templates. If you selected the Debian 12 with FreePBX template during the onboarding process, you can skip the following steps:

Wait until the process is complete.
If you’d rather install FreePBX manually, it has installation scripts that simplify the process, but they only work with Debian.
First, access your VPS as root using an SSH client like PuTTY or Terminal. Once connected, follow these instructions to install FreePBX on Debian 12:
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
Wait until the installation process is finished. Depending on your internet connection, it might take 30 minutes or longer.
Once the installation is complete, you should see the following confirmation screen.

The script automatically configures other software required for the FreePBX setup, including the Asterisk server, Apache, and the MariaDB database.
If you run another operating system or don’t want the optional dependencies, install these components individually.
Check out this FreePBX wiki guide to learn more abouthow to manually install FreePBX 17 with Asterisk 21.
Whichever method you choose, follow these steps to complete your FreePBX installation:

When you first access the main FreePBX web interface, you might see multiple activation screens. Feel free to skip them and circle back later.
To start using FreePBX, you must configure the following settings to allow telephone communication over your server.
In FreePBX, extensions are endpoints for connecting calls within the same network and to external services. Here’s how to set it up:


If you want to add more extensions, simply repeat the steps above. To change their settings, go to the All Extensions tab and click the Edit icon under the Action column.
After changing any FreePBX settings, remember to hit the Apply Config button on the top right of the screen.
Session Initiation Protocol (SIP) enables your internal phone system to dial external numbers via the internet. A trunk is a connection endpoint that includes multiple communication channels, including phones.
Before proceeding, you need an external VoIP service from SIP trunk providers like Voxtelesys to route digital data from the internet to the analog phone service.
After purchasing a VoIP service, follow these steps to configure trunks in FreePBX:

Routes define which components in your FreePBX phone system will handle calls, whether it is an extension, group, or voicemail. Inbound routing sets the rules for incoming public dials, while outbound configures the outgoing ones.
A route can direct calls to different destinations depending on your rules. For example, you can set extension B to take over a dial if A doesn’t respond. It helps distribute calls more evenly and minimize missed dials.
Here are the steps for inbound route configuration in FreePBX:

To set up an outbound route, you need a trunk since your FreePBX system uses it to reach the public phone service. Follow these steps:

That’s it! Now, phones in your local network should be able to make and receive calls from the public line.
Let’s explore several essential modules and features to enhance your FreePBX phone system.
IVR automatically responds to callers using an automated message and redirects them to a specific route based on their choice.
For example, it can ask users to press a number on their phone to access a specific customer service menu.
Before getting into the IVR setup, record a message with software like Audacity. You can save the file as any extension and convert it later, but we recommend using WAV.
Follow these steps to upload the audio message to FreePBX:

Next, proceed with the IVR configuration:

Ring groups are collections of extensions that get notified at the same time when receiving a call. Only the first operator who picks up the call will connect to the line.
This setup helps minimize the number of missed calls when you have many operators with the same function. It’s very handy for a company with multiple secretaries or receptionists.
Here’s how to set up ring groups in FreePBX:

Voicemail lets callers leave an audio note to an extension when no one answers. Here’s how to set it up in FreePBX:


Here are several advanced FreePBX configurations to improve its security and functionality.
Securing your FreePBX server is important to prevent cyber criminals from infiltrating your communication network and exposing sensitive information.
To maintain optimal security, consider the following measures:
In addition to safeguarding your FreePBX phone system, apply VPS security best practices. For example, regularly scan your system for malware. Hostinger users can do this automatically using the built-in Monarx scanner.
To streamline the security tasks, Hostinger VPS users can ask Kodee AI assistant to check their VPS action logs, manage backups, configure firewall rules, and check malware scan summary, all through chat.
FreePBX modules are add-ons that expand this tool’s functionality. Official modules are downloadable from the FreePBX module page, while many third-party options are available on GitHub.
Note that most official modules are paid. Purchasing them in a bundle is usually more cost-efficient. Meanwhile, third-party modules are usually free.
To install official FreePBX modules, follow these steps:

To install third-party modules, you must upload their archive files or enter the download URLs into FreePBX:

Always remember to click Apply config after installing or updating modules to ensure the changes are in place.
FreePBX is a platform for setting up an internal phone system for your organization.
To configure FreePBX, purchase a Debian VPS plan and install the software on the server. Hostinger users can easily configure FreePBX by running the available template.
Once installed, open the FreePBX admin dashboard by entering your VPS IP address into a web browser. Then, configure the following components:
Additionally, set up an IVR system, ring groups, and voicemails to manage calls more efficiently. Finally, don’t forget to apply security best practices like enabling a firewall and using strong SIP passwords.
FreePBX is a tool that provides a graphical user interface for setting up an internal phone system, typically in a company, organization, or school environment. It works on top of the Asterisk server, which facilitates communication via telephone over a network.
We recommend a server with at least a single-core processor, 2 GB of RAM, 20 GB of storage, and 100 Mb/s connection. Although FreePBX runs on any Linux distribution, it is easiest to set up on Debian.
Yes! You can add more features to FreePBX by installing modules. For example, install the CRM Link add-on to integrate platforms like Salesforce.