How to Install FusionPBX on Clear Linux Latest

FusionPBX is a powerful open-source communication platform that allows you to manage voice, video, and chat communications through a web-based interface. In this tutorial, we will guide you through the process of installing FusionPBX on Clear Linux latest version.

Prerequisites

Before starting the installation process, ensure you have the following:

Step 1: Install PostgreSQL

FusionPBX requires a PostgreSQL database, and therefore it's a crucial installation step. The following command will install PostgreSQL on Clear Linux:

sudo swupd bundle-add postgresql

Once the installation completes, start and enable PostgreSQL service:

sudo systemctl start postgresql.service
sudo systemctl enable postgresql.service

Step 2: Install FusionPBX

Before downloading and installing FusionPBX, ensure the Clear Linux server has curl and git applications installed. If not, you can run the following command:

sudo swupd bundle-add curl git 

After that, navigate to FusionPBX's official website and copy the installation command based on your scenario. Replace your-domain.example.com with your domain name.

sudo git clone https://github.com/fusionpbx/fusionpbx-install.sh.git /usr/src/fusionpbx-install.sh
sudo bash /usr/src/fusionpbx-install.sh/install.sh -d your-domain.example.com

The installation process might take a few minutes, depending on the server's internet speed.

Step 3: Configure Firewall

Once you have installed the FusionPBX successfully, it's time to configure the firewall that allows the system to communicate with other devices. Run the following commands:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
sudo firewall-cmd --zone=public --add-port=443/tcp --permanent
sudo firewall-cmd --reload

Step 4: Set up SSL certificate

It's essential to have an SSL certificate installed on your FusionPBX instance to encrypt communication to and from the server. Many certificate providers offer free SSL certificates, such as Letsencrypt.

First, install the Let's Encrypt Certbot package:

sudo swupd bundle-add letsencrypt-certbot

Then, run the following command to create a new SSL certificate:

sudo certbot certonly --standalone --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx" -d your-domain.example.com

You will be prompted to provide an email address and accept the license agreement. You will also need to enable port 80 to allow the certificate to be issued.

Step 5: Configure Nginx Server

Finally, configure Nginx as a reverse proxy for FusionPBX using the following command:

sudo vim /etc/nginx/conf.d/fusionpbx.conf

Then, add the following configurations to the file:

server {
 listen 80;
 server_name your-domain.example.com;

 return 301 https://$server_name$request_uri;
}

server {
 listen 443 ssl;
 server_name your-domain.example.com;

 ssl_certificate /etc/letsencrypt/live/your-domain.example.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/your-domain.example.com/privkey.pem;
 
 location / {
  proxy_pass http://127.0.0.1:5000;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 }
}

After that, save and exit the configuration file by typing :wq.

Step 6: Access FusionPBX

At this stage, you have installed, configured and secured FusionPBX on Clear Linux Latest. You can now access it through your web browser by entering your domain name https://your-domain.example.com/admin and log in with the default login credentials which are admin, and the password is fusionpbx.

You can then proceed to set up your extensions, IVRs, voice mails, conferences, and other communication options using the FusionPBX web interface.

Congratulations! You have successfully installed FusionPBX on Clear Linux Latest.

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!