FreePBX is an open-source graphical user interface (GUI) that manages Asterisk, a voice over IP (VoIP) server. This guide will walk you through the steps to deploy FreePBX 17 on a Debian system.
Prerequisites
- A fresh Debian installation
- Root or sudo access
- Internet connection
Step 1: Update the System
First, ensure your system is up to date:
sudo apt update && sudo apt upgrade -y
Step 2: Install Dependencies
Install necessary packages and dependencies:
sudo apt install -y wget curl git gnupg2 ca-certificates lsb-release apt-transport-https
Step 3: Install MariaDB
FreePBX requires a database. Install MariaDB:
sudo apt install -y mariadb-server mariadb-client
Secure the MariaDB installation:
sudo mysql_secure_installation
Follow the prompts to set the root password and secure the installation.
Step 4: Install Apache and PHP
Install Apache web server and PHP along with required modules:
sudo apt install -y apache2 libapache2-mod-php php php-cli php-mysql php-xml php-mbstring php-json php-curl php-pear
Step 5: Install Asterisk
Download and install Asterisk:
cd /usr/src sudo wget http://downloads.asterisk.org/pub/telephony/asterisk/asterisk-17-current.tar.gz sudo tar zxvf asterisk-17-current.tar.gz cd asterisk-17.*/ sudo contrib/scripts/install_prereq install sudo ./configure sudo make menuselect sudo make sudo make install sudo make samples sudo make config sudo ldconfig
Step 6: Install FreePBX
Download and install FreePBX:
cd /usr/src sudo wget http://mirror.freepbx.org/modules/packages/freepbx/freepbx-17.0-latest.tgz sudo tar zxvf freepbx-17.0-latest.tgz cd freepbx sudo ./start_asterisk start sudo ./install -n
Step 7: Configure Apache
Set up Apache for FreePBX:
sudo a2enmod rewrite sudo systemctl restart apache2
Create a new Apache configuration for FreePBX:
sudo nano /etc/apache2/sites-available/freepbx.conf
Add the following content to freepbx.conf
:
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www/html <Directory /var/www/html/> Options FollowSymLinks AllowOverride All </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Enable the new site and reload Apache:
sudo a2ensite freepbx.conf sudo systemctl reload apache2
Step 8: Finalize Installation
Set ownership permissions and finalize the installation:
sudo chown -R asterisk:asterisk /var/www/html sudo fwconsole chown sudo fwconsole restart
Accessing FreePBX
Open a web browser and navigate to your server’s IP address. You should see the FreePBX administration interface.
Congratulations! You have successfully installed FreePBX 17 on Debian.