FreePBX could be installed with pre-built distribution from Sangoma corp., which could be downloaded and installed pretty easy and quickly.
But what if you already have installed server or you can’t use 3d-party distribution to install the server.
FreePBX site has nice instructions on how to install Asterisk and FreePBX on existing server based on CentOS 7.
I just took commands from instruction, added few installation options and saved it to the script.
This script let you install FreePBX on CentOS 7 system with minimal participation in installation process.
You can just copy the script fpbx_install.sh on your server from GitHub, make it executable(chmod +x fpbx_install.sh) and run it.
Here is one of the ways to do it:
# cd /tmp
# wget -O simptelfpbx.zip https://github.com/stanislavefremov/simpleFPBX/archive/master.zip
# unzip simptelfpbx.zip
# cd simpleFPBX-master
# chmod +x fpbx_install.sh
Then script will install all needed dependencies and ask you few times about installation options, first you’ll need to make MySQL/MariaDB post-installation configuration(As per FreePBX:
The prompt will ask you for your current root password. Since you just installed MySQL, you most likely won’t have one, so leave it blank by pressing enter. Then the prompt will ask you if you want to set a root password. Do not set a root password. We secure the database automatically, as part of the install script. Apart from that you can chose yes for the rest. This will remove some sample users and databases, disable remote root logins, and load these new rules so that MySQL immediately respects the changes we have made.).
At second and third times you’ll need to choose Yes or No and on the 4th time you’ll need specify asterisk installation extra options and plugins or left by default.
At the end you’ll see the next output:
Generating default configurations…
Finished generating default configurations
You have successfully installed FreePBX
[[email protected] freepbx]#
And after that you can access your FreePBX installation via servers IP-address or DNS name.
You may want to make FreePBX start automatically via Systemd startup script. For that just create text file /etc/systemd/system/freepbx.service and put below contents to it:
Description=FreePBX VoIP Server
ExecStart=/usr/sbin/fwconsole start -q
ExecStop=/usr/sbin/fwconsole stop -q
Then run following commands: