Mautic Hosting: Mautic Self Hosted Best Practices
Mautic will run on any server that supports PHP and a MySQL compatible database, which is little short of saying it will run anywhere, you could run it on Linux, Windows, you could run it on your phone, what the heck! you could probably run it on your smart coffee maker!
But should you? Of course not, your coffee maker runs java! hehehe.
Now seriously, which is the best platform to run Mautic? As always, it depends, so I will try to give you enough pointers for you to choose the best option for your own situation.
Installing Mautic is easy, maintaining it is much harder.
Installing Mautic is (relatively) simple and straight forward, it’s after you have it running that maintaining it might become quite a daunting task.
You should choose your platform and method of installation taking into consideration many factors, not just how easy the installation process is.
You want to use a platform which is widely supported by other Mautic users, so you can get help when you need it, and you will need help, all of us do at some point!
You want to use a hosting that can grow with you without adding complexity.
You want to have a great deal of control of your environment to be able to optimize and troubleshoot your Mautic instance.
Hosting vs VPS vs X?
The documentation says Mautic should run on any hosting (with PHP enabled). Using a shared hosting service, where you can just “drop” the Mautic files and start running it is the shortest path to a “working” Mautic installation, and if what you’re looking to do is just test Mautic’s capabilities, then a hosting company, with Cpanel and/or Softaculous or some installer might be a good option, however I strongly discourage you from doing this for a production install of Mautic.
It is strongly recommended, around the Mautic community, to use a VPS because it gives you full control. Why? The problem with shared hosting is that every hosting company sets it’s hosting environment in their own way, hence it becomes harder to troubleshoot any problems that might arise.
Because each hosting company has its own way of doing things, “hosting” is never a good baseline when you need to ask for help, for two reasons:
– Most of the expert guys in the community do not use any “hosting provider” but rather a VPS (Virtual Private Server) or a VM (Virtual Machine), a Cloud VPS being the preferred option because of its flexibility. Hence when you have to ask for help, chances are that you will get help easily and of better quality if you use the same environment that the experts do.
– Mautic is designed to work on its own dedicated OS, not on a shared hosting environment, hence it is developed with the assumption that you will be able to tweak your environment accordingly, Shared hosting will always fall short in this category.
VPS on the other side is as near as a common baseline as you can get (other than containers, which add more complexity), while “Hosting” is the minimum requirement on Mautic’s documentation, VPS it is the de-facto standard. By using a VPS you get many benefits, the most important are maybe:
– Full control of your environment.
– Better performance and capabilities for the same money.
– Instant scalability (when using a Cloud VPS).
But VPS can add its own extra level of complexity, if you are not already familiar with the command line, it might look like it’s a dark and complex place, it is not! however, it requires some dedication, like all the good things in life, hehehe…
Which type of Installer?
Many installers offer Mautic nowadays, Softaculous, Cpanel, Bitnami images, options are plentiful and growing. All these methods give you a one-click (or two) Mautic Installation, however, all those installers add their own configuration parameters and all of them have its own perks, corks and surprises.
So which one to use? None! Installers offer you a quick solution right now at the cost of problems later, you can’t always choose the version you want to run and new versions and patches come when they come (Mautic releases very fluently and installers do not keep up).
When (not if) you have to troubleshoot an issue, there are much fewer people that can help you with your problems. It’s a support nightmare, stay away unless you know well how the installer works very well and you know what the installer ads on its own. You’ve been warned.
The only exception to this rule would be the official docker image, maintained by Mautic itself. Probably the best way to go if you really don’t want to install manually, provided that you already know how to use Docker containers. You will still face the problem that containers are much less popular than VPSs, when looking for help it will be slightly harder to find, but nowhere close to the difficulty for the rest of automated methods.
Which Cloud VPS provider?
There are so many VPS offerings out there that it’s just impossible to know them all, so I’m going to mention just 3 very good options. Technically, any VPS has exactly the same features, what varies is the reliability of the provider and the extra services offered to complement the VPSs.
– AWS is the most used, most trusted, the one with most features and it can scale at Infinitum, however it’s also the most expensive, the interface is kind of old school and there are so many possibilities that getting a simple VPS running properly can get confusing.
– Google Cloud is newer, gives you more bang for the buck than AWS with the same reliability and scalability, features are growing fast and the web interface is more modern (however some people find it to be odd).
– Digital Ocean has only a reduced set of features compared to the previous 2, but the important ones are there. Prices are incredibly good for such a reliable provider and the interface is a breathe, it won’t scale as much as the other 2 but, if you plan on having less than 5 Million contacts, you’ll have plenty of room 😉
The most important feature that they all have is that you can scale up and down as you need and they all provide snapshots and block storage.
If you are on the geeky side and are not afraid to battle the AWS interface, they offer a “free layer” with a very basic server for free for 1 year, yes it’s really small, but good enough for testing Mautic and learning how AWS works, plus you can also launch a minimal RDS server for free too.
Which size of VPS?
Mautic needs a lot of RAM and does not need a lot of CPU power, so from all the offerings available at Digital Ocean, I recommend to start with any one of these:
– 2 GB RAM – 1 vCPU – $10/mo
– 3 GB RAM – 1 vCPU – $15/mo
– 4 GB RAM – 2 vCPUs – $20/mo
If you use my referral link you will get a US $100 voucher https://m.do.co/c/7a85b33e64cf Enough to get an 8Gb RAM and 4vCPU server for two months for free!
If you are going with AWS, the Memory-Optimized instances are a fantastic option I use r5.large a lot for Mautic and if you really need the IOPS for your database, r5d.large has some local NVMe Storage, very powerful, especially when combined with ZFS.
Which OS to use?
As mentioned earlier, you can run Mautic pretty much anywhere, however you will want to run it on a platform that’s efficient, so it runs fast and so the costs are as reasonable as possible.
Mautic is coded in PHP, needs an HTTP server like Apache or NginX and uses MySQL, guess what, all of these requirements are either Linux native or best supported in Linux.
Got it, but what “kind” of Linux? Truth is any distribution will do exactly as good as any other from a technical perspective. Use whichever one you are more familiar with. If you are new to Linux, go with Ubuntu. From the hundreds of Linux distributions out there, Ubuntu is the most welcoming because of the abundance of resources and how easy is to get help for free, making Ubuntu the most newbie friendly, despite being newer than most, you will find an endless stream of resources, tutorials, guides and what not for Ubuntu.
My recommendation is to use Ubuntu 16.04 LTS, also called Ubuntu Xenial, there’s a newer LTS version, however, it’s too new and includes many changes to what the “well-known standard” is that it makes it harder to deal with some issues you might find in your journey.
Which Version of Mautic?
Mautic uses what’s called CD/CI releases, it means that new code from the developers is integrated into the Mautic code as fast as possible, this is very good for development and testing, however for the users, it makes our life a little harder.
As a rule of thumb, never use Mautic versions ending in zero, for example, 2.14.0, as these versions usually add new features that might not be totally stable yet.
Here is a post I made to try to help you choose the best version of Mautic for your own needs.
Wrapping it all up:
– The simplest entry point to Mautic is a shared hosting company with Softaculous or some similar installer. However, this is good only for testing because it’s hard to troubleshoot and in some cases, it’s just not possible because of the restrictions the hosting provider has in place. Getting support is also harder as the expert guys on the Slack channel usually do not use these tools.
– Bitnami and other image providers and installers usually are more trouble than advantages in the long run, stay away unless you already are an expert.
– The official Docker image is a fantastic entry point, but only if you are already a good Linux admin and know the ins and outs of containers, otherwise stay away.
– The smartest entry point is a VPS and learning some basic Linux sysadmin skills. Yes, it’s old school. Yes, you will need to type weird commands on a black screen with white letters, however it’s very powerful, it’s very satisfying after you’ve learned a bit, but most of all, it’s the language experts speak when dealing with Mautic issues, when you need to ask for help, you will want to be able to ask properly and most of all, you will want to understand what the heck are they telling you, so because you will have to learn it anyway, the sooner the better!
Besides, there are a ton of good introductory tutorials out there that will show you how to install Mautic in a gifi, like it’s 1994, lol. For example this one:
This one is also nice, but please ignore the video at the top, the video is not helpful at all…
And my own tutorial, the simplest and more updated:
Mautic installation in 7 min. with PHP 7.2 on Ubuntu 18.04
And of course, remember to use my referral link to get a US $100 voucher https://m.do.co/c/7a85b33e64cf if you decide to use Digital Ocean as your Cloud VPS!
Not happy with those tutos? In the following page, you will find a collection of “Install Mautic Tutorials” Curated by Chris Calabro: https://innotiom.com/mautic-tutorials/
What do you think? What is your own experience?
– Is VPS really the best option?
– Did you find any Shared Hosting with solid Mautic capabilities?
– Any other VPS providers worth mentioning?
Comment here below… Cheers!
If you want to read more about Hosting or installing Mautic, check these other articles too: