Manual installations of FreePBX is considered an EXPERTS ONLY exercise. This method of installation is enough to get CORE functionality of FreePBX. Non-commercial modules may not function as expected or detailed in the Wiki's. Certain modules and features may require additional software to be installed and configured on the server.
**** COMMERCIAL MODULES CANNOT BE INSTALLED ON THIS OS ****
Install Centos 7
Initial System Setup
You MUST run all of these commands as the root user!
You MUST disable selinux. selinux can cause strange behavior during the install
In /etc/sysconfig/selinux , change the following lines:
reboot, and verify the selinux status by running 'sestatus'. It should say:
Update Your System
Install Additional Required Dependencies
Install Legacy Pear requirements
Firewalld Basic Configuration
You must open port 80 so that you can access the administration interface
Enable and Start MariaDB
You must have MariaDB running for freepbx to operate normally. It must start automatically, and be running continuously.
Now that our MariaDB database is running, we want to run a simple security script that will remove some dangerous defaults and lock down access to our database system a little bit
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.
Enable and Start Apache
FreePBX uses the Apache web server, so this must be started and running.
Install Dependencies for Google Voice (if required)
Add the Asterisk User
Install and Configure Asterisk
Download Asterisk source files.
Compile and install DAHDI
If you don't have any physical PSTN hardware attached to this machine, you don't need to install DAHDI (For example, a T1 or E1 card, or a USB device). Most smaller setups will not have DAHDI hardware, and this step can be safely skipped.
Compile and install pjproject
Compile and Install jansson
Compile and install Asterisk
Some versions of Asterisk will crash with a missing ari.conf https://issues.asterisk.org/jira/browse/ASTERISK-27026
You may wish to "mkdir -p /etc/asterisk && touch /etc/asterisk/ari.conf" after compiling Asterisk
You will be prompted at the point to pick which modules to build. Most of them will already be enabled, but if you want to have MP3 support (eg, for Music on Hold), you need to manually turn on 'format_mp3' on the first page.
After selecting 'Save & Exit' you can then continue
Install Asterisk Soundfiles.
The 'make install' above installs a standard low-quality base sound file by default. This is suitable if you are on a small, underpowered system (such as a Rasberry Pi), but on a larger system you should install higher quality soundfiles. Note that this installs the (8khz) 'wav' soundfiles and G722 (High Definition 'Wideband') audio.
Set Asterisk ownership permissions.
Install and Configure FreePBX
A few small modifications to Apache.
Download and install FreePBX.
You can now start using FreePBX. Open up your web browser and connect to the IP address or hostname of your new FreePBX server. You will see the Admin setup page, which is where you set your 'admin' account password, and configure an email address to receive update notifications.
We hope you enjoy using FreePBX 13!
Please note you need to set up FreePBX to start asterisk (and it's associated services) on bootup. You can view an example systemd startup script here.