I’ve had a lot of time to play around with FusionPBX over the last year or so and I can say without reservation that is it one hell of a powerful IP phone system. This post and following posts will illustrate the basics of getting a FusionPBX system installed.
FusionPBX is essentially a “pre-packaged” bundle of tools , including the FusionPBX GUI, that make installing and operating a FreeSwitch IP telephony server “easy”. FreeSwitch provides the backend while the FusionPBX GUI and tools provide the frontend and management pieces.
Both FusionPBX and FreeSwitch have traditionally been supported on various flavours of Linux and even Windows but the latest and greatest versions really want to be installed on top of a Debian 8 system due to dependencies within the software. Therefore, the build I’ll document in this post will be on top of Debian 8.
The phone server software itself can run on very minimal hardware, in fact there are customised instructions out on the ‘Net to build on a Raspberry Pi! You can build a very competent phone server for a small business on top of something like an Intel NUC (Atom, Celeron) or a Zotac ZBOX (AMD, Intel) as you don’t need a great deal of horsepower. You do need CPU cores, reasonable RAM and, if possible, an SSD for storage to really make things shine. As an example, I built a server for the Stan Hagen Centre for Families that serves 20 users on a Zotac ZBOX MA320 (AMD A4-5000) with 4GB of RAM and a 240GB SSD; total cost was about $250 Canadian.
You can build a system in a virtualized environment if you want although it is generally recommended that you do this only for test or lab purposes. I have read about production installs run on top of large VMware ESXi servers but you wouldn’t want to run your office out of a VM in Hyper-V or VirtualBox running from somebody’s Core i3 desktop in the accounting office!
For the purposes of this post I’m building on a Hyper-V VM on my Win10 desktop machine.
OK, let’s get started!
First off, you have to obtain the Debian 8 install ISO from here. I suggest the 64-bit PC netinst iso (small image) as that provides the minimum needed to boot and install Debian. You will need to have your server device connected to the the ‘Net if you use this to install as the installation process will pull the required packages to complete the installation from repositories on the ‘Net. Here’s the process of installation:
Boot the ISO on your machine.
I pick the Graphical Install as I find it “cleaner” and easier to follow the screens. This does NOT imply that you will be installing a GUI frontend, BTW.
NOTE: Debian may or may not load a driver for your network interface. If it does NOT load a driver it will definitely point you at a probable required driver which you can then download and copy to USB on another machine and then install into the Debian image.
The above needs a bit of explanation. Debian can use your entire disk in a couple of ways. Setting up with the Logical Volume Manager (LVM) gives you the ability down the road to perform easy backups and recoveries of your system (somewhat analogous to VSS services in Windows). I use LVM as a matter of course in all my Linux builds.
Debian is showing the disk it will use.
You can shuffle your partitions about as you please, for a small disk such as I’m using it is best to just use one partition.
This screen is important as it will end up directing you to the appropriate ‘Net repositories for your geographical area.
The above is a list of repositories appropriate for my region, I picked one that I know is physically close to me.
System will now pull all required packages for installation.
This process can take time so be patient.
The above selections are the minimum you need to build your server. You can include the “Debian desktop environment” if you want a graphical frontend to Debian but I suggest you don’t go that route as it will consume resources unnecessarily on a day-to-day basis.
Again, this process can take some time to complete.
You have to select the device.
And the system will shutdown and reboot. After reboot you will be here:
Congratulations! Your server is built and now we can move on to the next step which is install FusionPBX. The next post in this series will describe those steps.