The easiest and fastest way to get M3 set up and installed is to lease a specific M3 Server from our FreePBX hosting partner FreePBXHosting.com starting at $24.99 a month. This will include everything outlined below and will allow you to skip right to the Setup M3 wiki here.
If you chose to install it yourself, please be aware that some hosting companies are not compatible with M3. Currently, this list includes (but may not be limited to):
Microsoft Azure (Blocks ICMP, also uses a non-standard CentOS Image)
OpenVZ Containers with 'venet' network interfaces ('veth' works)
M3 has been designed to work on any CentOS based linux 6.X or 7.X and will require you to do a minimal install of CentOS first. Make sure to leave the default SSH port of 22 in place or the install will not complete. You can download and install CentOS from the CentOS website. Once installed you will need to follow the steps below. CentOS is a registered trade mark of Red Hat Inc.
Verify Selinux is disabled
Check to see if selinux is enabled
[root@m3 ~]# cat /etc/selinux/config # This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=enforcing # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted [root@m3 ~]# |
As we can see SELINUX is set to enforcing. We will need to disable this.
nano /etc/selinux/config |
Edit the file and set SELINUX to be disabled. The file should look like this
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted |
Reboot your machine now.
Installing M3 RPM
Pick which core Operating System you will install M3 on from below.
CentOS 6
Copy and paste the following: (Note that the \ is removed when you copy and paste it)
# Setup M3 repos cat > /etc/yum.repos.d/m3.repo << EOF [m3] name=m3 mirrorlist=http://mirrorlist.schmoozecom.net/?release=6&arch=\$basearch&repo=m3 gpgcheck=0 enabled=1 EOF # Install RPMs yum clean all yum -y install m3 |
CentOS 7
BETA ONLY AT THIS TIME
# Setup M3 repos cat > /etc/yum.repos.d/m3.repo << EOF [m3] name=m3 mirrorlist=http://mirrorlist.schmoozecom.net/?release=7&arch=\$basearch&repo=m3 gpgcheck=0 enabled=1 EOF # Install RPMs yum clean all yum -y install m3 |
Once M3 has been installed you should see a terminal screen like this.
Dependencies Resolved ========================================================================================================== Package Arch Version Repository Size ========================================================================================================== Installing: m3 noarch 5.3.1.0-16 m3 878 k Transaction Summary ========================================================================================================== Install 1 Package(s) Total download size: 878 k Installed size: 2.3 M Is this ok [y/N]: y Downloading Packages: m3-5.3.1.0-16.noarch.rpm | 878 kB 00:01 Running rpm_check_debug Running Transaction Test Transaction Test Succeeded Running Transaction Installing : m3-5.3.1.0-16.noarch 1/1 Starting mysqld: [ OK ] Starting httpd: Done Verifying : m3-5.3.1.0-16.noarch 1/1 Installed: m3.noarch 0:5.3.1.0-16 Complete! [root@m3 ~]# |
Make sure iptables is stopped
[root@m3 ~]# mv /etc/sysconfig/iptables /etc/sysconfig/iptables.prem3 [root@m3 ~]# /etc/init.d/iptables restart iptables: Setting chains to policy ACCEPT: filter [ OK ] iptables: Flushing firewall rules: [ OK ] iptables: Unloading modules: [ OK ] |
Proceed to the Setup M3 wiki now here.