How to Setup Elastix 5 PBX Unified Communication Server on Linux

Elastix pbx serverElastix is ​an open source PBX-Asterisk-based application that can be used to configure unified communications. It includes telephony functionality, instant messaging, email server, fax server, VoIP communication (VoIP) and video conferencing. The Elastix O / S platform is created and maintained by IT professionals who plan to update new features, repair bugs and regularly update all updated features of all Elastix users. When choosing Elastix as an UC platform, you do not have to pay for additional users. You are limited only by the capabilities of your hardware, so it is very cheap to operate. 5 Elastix is ​​a high-performance handheld PBXA and the functionality is provided by 3CX, a private branch exchange (PBX) based on SIP (Session Initiation Protocol) software. You will get a platform of full unified communications software included with Android, iOS, Windows and Mac. 3CX Installing is easy to install and configure, supported IP phones, as it automatically configures its tribes and gateways. It also extends calls over the public telephone network or via Voice over Internet Protocol (VoIP) services. It is essentially an IP telephony system that supports soft and hard phones SIP standard, VoIP services and traditional PSTN phone lines.

In this article, we will cover Elastix 5 installation steps using its ISO image on VMware Virtualization environment. So, let's start from its prerequisites.


In order to install and setup Elastix 5, we need to create a new VM box, whether you are using Virtualbox or VMware Workstation. After that, we will be required to download the latest Elastix 5 ISO image available from their official Webpage. In this way, Elastix 5 will install Debian 8 Jessie for you with the correct options and subsequently install Elastix 5 as well.

Make sure to assign the sufficient amount of RAM, CPU and Disk storage to your VM box depending upon your infrastructural requirements. While installing on a test VM, we will be using 4GB RAM with 2 CPUs and 40 GB of disk as per its minimal recommendations.

How to create a New VM in VMware Workstation

Let's open your VMware Workstation and select the Home Tab, where you will choose the option to 'Create a new Virtual Machine' as shown below.

new VM in Workstation

Next, you will see its configuration wizard, where you will be asked to choose its type, storage, and network types. Then give your new VM a good name like 'Elastix' and choose the system hardware resources including CPU, RAM and Disk storage. After selecting all settings click finish to build your new virtual machine.

build new vm

Your new virtual machine has been setup, now move to the next step to Download the ISO image of Elastix 5.

How to Download Elastix 5 ISO Image

The ISO image of Elastix 5 can be downloaded from this Elastix Official Web Page.
Once you have downloaded the ISO image, you can directly use this with your new virtual machine or burn the image to your disk. Let's attach this ISO image to your new virtual machine by selected the CD-ROM option from the settings bar as shown.

attach iso

How to Install Elastix 5 PBX

Let's start your Elastix5 virtual machine, you will see the Elastix 5 Debian Installation Boot Menu, choose the Install from the main boot screen and hit Enter key as shown below to continue.

install elastix5

The installation process will start from scanning CD-ROM to setting up additional components required for the smooth installation setup. After running the initial setup, you will get into the Network Configurations, Select Configure Network Manually to set a static IP address on the system.

configure network

Configure the static IP address for your server and click to continue to the next option to configure the netmask and gateway. After that, you need to set the DNS IP and hostname for your server. Then choose your domain name and click on the 'Continue' button to move to the next option. Select your preferred language to be used for during the installation process.

select language

Next, choose your location considering your country where you are residing, that will be used for the time zone and other locale settings.

choose location

After that, you will be asked to setup the root password for your server, which is necessary to be used for the system administrative tasks.

setup user password

That's it for the initial server's setup. In the next session, you will be asked to partition your disk, let's Select “Guided – use entire disk”.

disk partitioning

Then select your attached disks to be used for partitioning, make sure that all the data will be removed from the drives. Next, choose the partitioning scheme to be used for your disks, like we are going to select "All files in one partition".

partitioning scheme

Confirm the disk partitioning, after reviewing your selected settings and then click on "Finish Partitioning and Write changes to Disk" and then to 'Yes' for writing changes to disk as shown.

partition disks

The system will format your partitions and start installing the base Operating System. This will take some time to configure 'apt' and to install the software packages.

install software

At the end of the installation, it will install the grub boot loader and reboot your system to complete the installation process.

Once your system is back after reboot, Elastix 5 will be installed automatically – you don’t need to log in. After the installation is complete you will be asked if you want to run the PBX configurator tool from a web browser or from the command line. Let's select option "1" to use a web browser.

3cx configuration

Now point your browser to the following URL and go through the 3 CX, web configuration wizard.


How to Run and Configure 3CX PBX Tool

After 3CX has been installed, it will need to be configured for your network. The PBX configuration tool obtains some important network and security settings and configures 3CX accordingly. To run it, enter the IP followed by port 5015 (eg. in a browser on another machine. Alternatively, you can run the configuration tool from the command line.

After opening the mentioned URL in your web browser, you will be asked whether you are creating a new installation of 3CX or whether you wish to restore an existing configuration. If it’s a new install, select 1, if you have a backup of a previous version or other installation to restore, select 2. Option.

3cx installation type

If you already own a 3CX license, copy and paste the key here, unless you are restoring a backup, in which case the key will be restored automatically. If you don’t own a license, copy and paste the free PBX edition license key that was sent to you by e-mail. Enter your license key and click on the 'Next' button to continue.

Next, specify the username and password to access the 3CX Management Console. Make sure to use a strong password to prevent unauthorized access to your PBX.

3cx management credentials

Confirm your Public IP Address by entering "1" to confirm, or 2 to specify another one.

3cx public ip

Specify whether your public IP is static or dynamic. For professional use, a static IP is required. For residential use or evaluation purposes, you can use a dynamic IP. A dynamic IP will change at certain intervals. Although 3CX will detect the IP change and update the FQDN accordingly, your calls will not route until it does so.

public ip

3CX requires a fully resolvable FQDN and a matching SSL certificate for security. This allows 3CX to work seamlessly in and out of the office. To ease setup, you can choose a 3CX supplied FQDN and Let's encrypt certificate.

configure fqdn

If you wish, you can configure your own FQDN and upload your own SSL certificate. IMPORTANT: the FQDN/Subdomain you choose will be linked to your license key. If using a trial key be sure to leave your eventual subdomain of choice free.

3cx subdomain

Select the network interface which is connected to the internet / public IP you specified. If you have multiple interfaces ensure this interface is the one with the default gateway configured.

network adaptor

The PBX configuration tool will now detect whether you are using NAT or not based on your IP. If it’s Local IP, and thus you are behind a NAT, you will have to configure your firewall/router accordingly.

Select which web ports you wish to use for the management console. Use alternative ports only if 80 or 443 are already in use.

3cx ports

The configuration tool will now configure 3CX and start the services. This may take some time. Once done, a confirmation page will be shown with important information. Make a screenshot and/or print this information - it can not be retrieved afterward!

3cx done

Once you have installed 3CX, or else obtained a hosted instance of 3CX, you will need to go through a number of steps to prepare 3CX for your company to Run the 3CX Setup Wizard, Create Extensions, Configure a SIP Trunk or VoIP Gateway and Deploy IP Phones.


At the end of this article, you are now able to install and configure Elastic 5 PBX using its latest available ISO image for Debian Linux. It is integrated with 3CX and free of cost for the smartphone, desktop clients and WebRTC-based video conferencing as well. Elastix 5 is be bundled in a special free version of 3CX which includes 8 sim calls which are approximately 25 extensions. 3CX has also committed to invest in the Elastix community with free certification, training and forum support while they are planning to announce a reward program for active Elastix community members. That's it for today, thanks for your comments and suggestions.

About Kashif Siddique

Linux Systems and Security Engineer in Information and Communication Technology. Results-driven ICT Professional and Open Source Geek with technical specialties in the area of Open Source Operating systems and Applications.

Author Archive Page

Have anything to say?

Your email address will not be published. Required fields are marked *

All comments are subject to moderation.

1 Comment

  1. Better not to set root password, as it then will install sudo(8) and let the user run sudo (by adding that user to the group sudo).