I’ve been using FreePBX for my own small office for about 6 months or so and got it working just the way I want it for my needs. Problem is, it seems I’m not the only one that loves it. A few of my clients had been enquiring about it and if I could do the same and host it for them.
So my question is, can you host multiple FreePBX accounts or clients on the same server so they can administer their setup without accessing or changing other companies setups?
It would not be a clean solution at all. As @chasemixon I would build a server with VMs and create a separate FreePBX install for each company. If I remember correctly VMware is very expensive. I use Proxmox, it’s open source, just like FreePBX.
Historically , making FreePBX multi-tenanted has proven to be at least a PITA to the point most just give up on it after losing all their hair and many hours.
Virtualization of your PBI is a first step, and you can get a surprising number of FreePBI instances on as minimal hardware as a NUC with 16G of memory (maybe at least 12)
That sorts out the compartmentalization of your clients, what it doesn’t do is well handle your trunking and billing, I suggest you add a true SIP proxy as another VM to handle that, ( perhaps kamailio, I personnaly use it), all your PBI register against said proxy, said proxy handles all your various trunks and then proxies in and out calls appropriately, be amazed!!
I also use ProxMox, the GUI makes it almost brain-dead to backup/clone/HA (best to use KVM instances, the container thingy will always be a pain for VOIP) (For HA you need two,( add a third machine as to provide quorum), add a modern glusterfs/iscsii file system for network replication and fail-over, it then takes only a couple of seconds with nothing lost, DRBD in master/slave is prone to “split-brain” and that will spoil your whole day)
Another burgeoning technology is XIVO which is also a PBX front-end to Asterisk, it seems to handle multi-tenancy/compartmentalization well, at least in my minimal testing.