How to Install FreePBX on Elementary OS

FreePBX is a popular open-source PBX (private branch exchange) based on Asterisk. Elementary OS is a Linux distribution that is gaining popularity due to its user-friendly interface and lightweight nature. This tutorial will guide you on how to install FreePBX on the latest version of Elementary OS.

Prerequisites

There are a few things you will need before proceeding with the installation:

Step 1: Update the System

Before proceeding with the installation of FreePBX, it is crucial to update the system to ensure all packages and dependencies are up-to-date. Run the following command to update:

sudo apt update && sudo apt upgrade

Step 2: Install Dependencies

FreePBX requires several dependencies to work correctly. Run the following command to install these dependencies:

sudo apt install curl git socat libsqlite3-dev libxml2-dev libidn11-dev libcurl4-openssl-dev libssl-dev libncurses5-dev libnewt-dev libpam0g-dev libasteriskssl-dev libiksemel-dev uuid uuid-dev libjansson-dev

Step 3: Install MariaDB

FreePBX requires a database management system to store configuration data. We will be using MariaDB for this purpose. Run the following command to install MariaDB:

sudo apt install mariadb-server mariadb-client

After installation, run the following commands to secure the MariaDB installation:

sudo mysql_secure_installation

Step 4: Install Apache Web Server

FreePBX is a web-based user interface for configuring and managing the PBX system. Therefore, we need to install a web server to host the FreePBX web pages. We will be using the Apache web server for this purpose. Run the following command to install Apache:

sudo apt install apache2

You will also need to enable the necessary Apache modules by running the following commands:

sudo a2enmod rewrite
sudo a2enmod headers
sudo a2enmod ssl
sudo a2ensite default-ssl.conf

Step 5: Install FreePBX

You can download the latest version of FreePBX from the official website. Run the following commands to download and install FreePBX:

cd /usr/src/
sudo wget -nv https://mirror.freepbx.org/modules/packages/freepbx/freepbx-15.0-latest.tgz
sudo tar zxvf freepbx-15.0-latest.tgz
cd freepbx
sudo ./start_asterisk start
sudo ./install -n

The installation process may take some time, and you will be prompted with several configurations. Leave the default options intact unless you have a specific requirement.

Step 6: Access FreePBX Web Interface

Once the installation is complete, you can access the FreePBX web interface by entering your server's IP address in your web browser. The installation process will have created a self-signed SSL certificate, causing a security warning from your browser. Ignore the warning and proceed to the login page.

The username is "admin", and the password is the one you entered during the FreePBX installation.

Congratulations! You have successfully installed FreePBX on Elementary OS. You can now use the web interface to configure and manage your PBX system.

If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!

Alternatively, for the best virtual desktop, try Shells!