Installing Elastix 2.3 on CentOS 5

  • Elastix is possibly the most powerful packaging of the Asterisk server. Elastix comes as its own distribution built on top of CentOS and for most users going with the Elastix-provided install media is the best process. However, if you wish to install the Elastix packages onto your own install of CentOS, like for times when you need to install to a Xen-based virtual server, then you need to use a different process.

    Elastix provides its packages through a standard YUM repository system making it very easy to work with. Using these repos is barely documented, if at all, and not all dependencies are addressed through these repos. Additionally, with the introduction of Elastix 2.x, some of the necessary packages are handled by the Elastix 1.x branch while others are handled by the 2.x branch making the process a little more confusing.

    To begin, we need a base installation of the CentOS 5 series. Start with any CentOS 5 minimal install and updated it to the latest patches.

    yum -y update

    Then we will need to install the EPEL extensions from the Fedora Project.

    rpm -ivh

    Now let’s add some useful packages that we are sure to want.

    yum -y install sysstat fail2ban bwm-ng system-config-securitylevel-tui

    To install Elastix itself we need to upload the CD ISO image that we have downloaded from the Elastix website. To make things simple, simply upload it to the /tmp directory of our new server. Once we have the file there, we need to mount it so that we can use it like a local filesystem.

    mkdir /mnt/iso
    mount -o loop /tmp/Elastix-2.3.0-x86_64-bin-02abr2012.iso /mnt/iso
    cd /mnt/iso

    In order to utilize the new Elastix repo that we have just mounted we need to create a YUM repo entry for this.

    vi /etc/yum.repos.d/elastix-cd.repo
    name=Elastix RPM Repo CD

    And at this point we should be ready to actually install Elastix which is about 266 packages.

    yum -y install elastix

    Once that completes we will want to reboot. You will want to be connected to the server via the console, not via SSH, as Elastic’s First Boot system will come up and step you through the basic setup of the system which just requires you to set two key passwords. If you are not at the console you will never see this dialog and you will be unaware that the application needs your attention.

    Once the system comes back up, we should remove some unneeded services. No need to have extra stuff running. It is unlikely that we will be using iSCSI or NFS on our PBX so we will turn those services off.

    chkconfig iscsi off
    chkconfig iscsid off
    chkconfig netfs off

    This how to is quite outdated at this point. This process should work identically for Elastix 2.4, which is the last stable version of the Elastix 2 family. Currently Elastix 4 on CentOS 7 is current.

    From my Linux blog in 2012: