There's much more to making backups than just copying files, as you probably know, you need a backup strategy. In this post I'm not going to enter in detail on the strategic part. Anyway I'm going to abide to the most basic and indispensable elements of a backup strategy, that is so, if you ever need your data, you have a certain guarantee that your data will remain available to you when most needed.
I'm going to start with a little bit of theory, I know it's boring, but it will let you understand what you're doing in the second part when we start using the console and giving instructions to the server.
Please stop using Bitnami images and Cpanel / Softaculous as a quick shortcut to install Mautic.
Mautic is still a young and rapidly evolving software with frequent releases that contain new features, with new features come new bugs.
As user of Mautic self=hosted, you will need to deal with bugs, you will have to apply patches, you will have to run updates manually and you will encounters problems related to the environment in which Mautic is installed, In order to solve those issues, you will need a basic understanding of Apache or NginX, MariaDB or a compatible MySQL database, PHP configuration, and how Linux operates.
Here are some basic guidelines for GDPR compliance in general. This information is not exclusive to Mautic but to applies to any company that wants to be GDPR compliant.
The basic data privacy rights of an EU citizen that we have to respect:
- The company is responsible for any data breach - We have to obtain explicit consent to store and use data. - Consent to store and use my personal data within or outside the EU. - Inform users of where the data is stored
Installing Mautic plugins or Mautic Mixins (as only God knows why, they are officially named now) is really simple... most of the time... But there's always some obscure unofficial plugin that you really need so badly, and those always have little or no instructions and hence they refuse to install.
Don't worry, it really is very simple, if you know a couple tricks... Let's start with the basics:
Learn how to complete the Mautic Installation with PHP 7.2 on top of Ubuntu 18.04 LTS. Quick & Dirty Mautic Installations are just for learning or testing purposes.
If you are a total newbie to the linux command line, this tutorial was made specifically for you, it's the best way to get started as I carefully designed it to have the fewer amount of commands possible, so it's easier to understand and the probability of anything going sideways is minimal. It's designed to give you a quick success using the command line so you can have an easy victory and gain confidence to later advance
There are 3 steps:
Install the required services / components Mautic needs to run.
Install cron jobs on the server.
Run the Mautic configuration Wizard.
A seasoned SysAdmin can complete this tutorial in less than 5 minutes, but if you are a complete linux dummy, expect it to take you between 10 and 15 min.
Every so often I get requests to deploy multi-tenant Mautic setups, those requests are usually from a Marketing agency that needs to run multiple Mautic instances for their customers or their internal usage, However multi-tenancy is very often a misunderstood and misused concept.
Multi-tenancy is an architectural approach enabling a single instance of an application to be used by multiple organizations or users, the tenants. In multi-tenant apps there is just one code base for everyone and the separation between clients is done in that single codebase and sustained by the database.
On the other hand, Multi-instance, what I call "Replication" provides each organization with it's own codebase.
Let's analyze in detail these 2 options and find out which is the best way to run Mautic for an Agency.
Yeah I know, this is pretty trivial, but I had made some snapshots of the process and thought, why not? Maybe someone gets stuck in one of the steps, like the database (I did the first time I installed Mautic) So here it is...
OK so after you complete the mautic installation, you have to navigate to your server or VPS, either by using the server's IP or, if you have set up your DNS, using the domain name. After you do, and if everything went fine you will be presented with the following screens:
You know what NTFS is, that's your windows file system, right? You probably also know that Linux uses several different file systems, the most extended one being ext4...
Here's the thing.... there's an old file system called ZFS, originally designed by SUN Microsystems in 2001 and delivered for the first time as a Solaris product on 2005. At the time, it was a very specific tool designed to serve the needs of a reduced number of companies running large pools of disks sitting in a server room.
What happen between then and now we all know, the Internet became mainstream, allowed cloud computing, then DevOps emerged and then containers exploded; as a consequence of those changes, the needs of system administrators and users alike have completely changed. What used to be a strange and relatively complex file system, tailored for very specific needs and used exclusively by just a few people, might be the best option nowadays and because it was so well architected, 15 years after it's now shining more then ever, rapidly growing in adoption and menacing to become mainstream.
There are many Mautic cron jobs you can use in your Mautic installation, but Mautic can get resource hungry over time, so you don't really want to run them all, in fact that would be a great mistake, you only have to add the cron jobs that you actually need in your own setup, based on your own Mautic installation and the Mautic features you're currently using.
This is a guide to help you both, first discover and then choose the right Mautic cron jobs you want to deploy in order to have a perfectly smooth Mautic installation on your server.
Cron jobs are supposed to be the smartest and simplest way to automate things on a Linux server, and they are to some extent. However, its design, deeply rooted on the darkest corners of the Linux kernel, designed by the deep minds that created Linux itself, doesn't always present itself as obvious to us, marketers (or to any other kind of Linux Dummies), that's probably why soooo many people have issues with cron jobs. Yes, maybe this is something that should be solved within the Mautic interface, maybe someday... in the meantime, let's try to tackle this problem down, in a way even a marketer can do it :-)
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.
Mautic 3 is going to be wonderful, I have no doubt about it. The core team and the developers both from Mautic Inc and the community are simply awesome, the new paradigm proposed for Mautic 3 is wonderful and the technical possibilities are on par with the latest developments from Google. The conversation about how we are supposed to build Mautic 3 is happening right now in the #core channel of Mautic’s Slack. If you haven't paid a visit yet, this is a great moment to do so.
But there is a hidden danger lurking behind the creation of Mautic 3 and how it’s being designed at Mautic Inc, the current vission could have it’s dangers... to the community.