Elastix, the most popular choice at VOIP telephony server as well as free IP PBX.
From the version 5, Elastix is not free actually. A license key is needed to activate your server. But, don’t worry !
Elastix old version (up to 4 version) was completely free for unlimited extensions/phones. So, I’m going to setup an old version in this tutorial.
Old version of Elastix setup in these days is really tough. Because you can not download Elastix old version software from the official Elastix site (www.elastix.org) and also you might get the system update problem. But, I will guide you to install an old version with system update setup, step by step in this tutorial.
1) To get started, click here to download an Elastix old version ISO image to burn on CD/DVD, and burn it to DVD
2) Insert the Elastix image DVD disk to your cd/dvd drive
3) Start the Server/PC to begin installation
4) Press Enter to start installation
5) Choose English as your Elastix server language, and press Enter to go next
6) Select your keyboard layout and hit Enter
7) Press Enter/Yes to initialize disk partition
8) Press your keyboard’s Up arrow key to select “Remove all partitions on selected drives and create default layout.” then press your keyboard’s Right arrow key to select Yes and press Enter
9) Press your keyboard’s right arrow to select Yes to remove all old partitions and press Enter
10) Press your keyboard’s right arrow to select No to keep default partition layout
11) Press Yes/Enter to configure network
12) Enable IPV4 network support and press OK
13) Provide your real IP address details (provided by your ISP) to access Elastix server. You can also select DHCP if you are in a local network
Note: Please do not use the same IP address which is listed in the above image, this is for example only. You must use “your” Internet provider’s (ISP’s) given IP address details.
14) Give a hostname to your Elastix server
15) Press down arrow, select your timezone, then press right arrow and press OK
16) Provide a root password to access your CentOS Linux system server
17) Provide MySQL database password and press Enter
again provide the same MySQL password and press Enter
18) Provide a login password
19) Installation done. Now you can login to your Elastix from another computer by visiting your real IP address
20) Open a browser (eg. Firefox) and visit your Elastix IP address
Click “Add Exception”
Click “Confirm Security Exception”, and you are done.
21) As the Elastix 2.4.0 version is based on Linux CentOS 5.9 version, the CentOS 5 was officially unsupported from March 31, 2017.
So, we need to configure the system update server/mirror list, so that we can use Elastix old version for life. To do this, login to your Elastix base (CentOS Linux System) as root by using PuTTy. If you are unfamiliar about basic Linux command please click here to learn the startup command of Linux and PuTTy uses.
22) Backup the old repo file and create new one, then open repo file to add base/mirror URL: (Enter the below commands on PuTTy to do this)
cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
cat /dev/null > /etc/yum.repos.d/CentOS-Base.repo
Now, copy the below script and paste it to the repo file:
# CentOS-Base.repo # # This file uses a new mirrorlist system developed by Lance Davis for CentOS. # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base baseurl=http://vault.centos.org/5.9/os/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 exclude=redhat-logos #released updates enabled=1 [updates] name=CentOS-$releasever - Updates baseurl=http://vault.centos.org/5.9/updates/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 exclude=redhat-logos #packages used/produced in the build but not released enabled=1 [addons] name=CentOS-$releasever - Addons baseurl=http://vault.centos.org/5.9/addons/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 exclude=redhat-logos #additional packages that may be useful enabled=1 [extras] name=CentOS-$releasever - Extras baseurl=http://vault.centos.org/5.9/extras/$basearch/ gpgcheck=1 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 exclude=redhat-logos #additional packages that extend functionality of existing packages enabled=1 [centosplus] name=CentOS-$releasever - Plus baseurl=http://vault.centos.org/5.9/centosplus/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib baseurl=http://vault.centos.org/5.9/contrib/$basearch/ gpgcheck=1 enabled=0 gpgkey=http://vault.centos.org/RPM-GPG-KEY-CentOS-5
Save and quit the file.
yum -y clean all
yum -y update
If you get any error in yum update, just ignore it, and proceed to next steps…
23) Back to web access, login to Elastix admin panel on Firefox browser, and click Updates
24) Disable deprecated mirror-list and save settings
Back to PuTTy command window.
25) Clean the mirror-list cache
yum -y clean all
26) Update the CentOS system
yum -y update
27) Now, we will install Call Center and Distributed Dial Plan extension on Elastix
rpm -Uvh callcenter.noarch.rpm
rpm -Uvh dialplan.noarch.rpm
28) Restart the server
Close the PuTTy SSH client, and wait about 5 minutes to complete the reboot process.
29) Back to web access, login to admin panel on Firefox, and activate Firewall
30) Disable online update of PBX
Additional to do: Run the commands in PuTTy
service elastix-portknock stop chkconfig elastix-portknock off
service elastix-updaterd stop chkconfig elastix-updaterd off
* We can always restart or shutdown the Elastix from admin panel.
Congrats ! we have completed the Elastix free PBX installation done. Configure your extensions and Enjoy !
Click here to learn how to forward conditional call from Elastix.
Follow our site to learn about Elastix features, extensions, and more.