Installing FusionPBX on Arch Linux

FusionPBX is a well-known open-source communication platform that allows users to manage multiple communication technologies. In this tutorial, we will show you how to install FusionPBX on your Arch Linux machine using PostgreSQL as the database backend.

Prerequisites

Before beginning this tutorial, you should have the following prerequisites:

Step 1: Install FusionPBX Dependencies

The first step in installing FusionPBX is to install its dependencies. Here is the command to install them:

sudo pacman -S git freeswitch postgresql apache php php-apache php-pgsql libvorbis libmp4v2 x264 ffmpeg sox libmad lame

Step 2: Clone the FusionPBX Repository

Next, you need to clone the FusionPBX repository using the following command:

sudo git clone https://github.com/fusionpbx/fusionpbx.git /var/www/fusionpbx

Step 3: Set Permissions

Now, we need to set permission for apache user to write to the folder. Here’s the command to complete that:

sudo chown -R http:http /var/www/fusionpbx

Step 4: Create the FusionPBX Database

Next, we need to create a database, user, and password for FusionPBX. Here are the commands to do this:

sudo -u postgres psql
CREATE USER fusionpbx WITH ENCRYPTED PASSWORD 'password';
CREATE DATABASE fusionpbx WITH OWNER fusionpbx;
GRANT ALL PRIVILEGES ON DATABASE fusionpbx TO fusionpbx;

Step 5: Configure the Firewall

FusionPBX requires that several ports be open on your firewall. Here are the commands to open those ports:

sudo ufw allow 5060,5061,5080,5081,16384:32768/udp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable

Step 6: Configure Apache

We need to configure Apache to serve FusionPBX. Create a new Apache virtual host configuration file with the following command:

sudo nano /etc/httpd/conf/extra/httpd-fusionpbx.conf

Add the following information to the file:

<VirtualHost *:80>
  ServerName fusionpbx.example.com
  DocumentRoot /var/www/fusionpbx
  <Directory /var/www/fusionpbx>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    Require all granted
  </Directory>
  ErrorLog /var/log/httpd/fusionpbx-error_log
  CustomLog /var/log/httpd/fusionpbx-access_log common
</VirtualHost>

Save and close the file.

Next, we need to enable the new virtual host and restart Apache:

sudo ln -s /etc/httpd/conf/extra/httpd-fusionpbx.conf /etc/httpd/conf/sites-enabled/
sudo systemctl restart httpd

Step 7: Finish installation

Now we need to complete the installation using the web installer. You can access it by opening http://fusionpbx.example.com/install/ in your web browser. Follow the prompts to complete the installation.

When you are finished, delete the install folder:

sudo rm -rf /var/www/fusionpbx/install

Conclusion

Congratulations! You have now installed FusionPBX on your Arch Linux machine. You can now log in to your new FusionPBX installation and start managing your communication technologies.

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!