MAUTIC installation

MAUTIC is a great solution if you would like to learn online acquisition from A to Z, it is an all in one platform offering most of all you need in order to leverage your website. The main issue with MAUTIC so as in all server software based on Free software is that you need to install it all.

The video above is covering the installation process if you already have an Apache server running, PHP + a MySQL server, to make it simple all you need in order to run a WordPress or a Matomo.

Pay attention, in order to deploy it you will need the version available at : not the one available on Github.  Strangely the owners of MAUTIC decided that you have to give your email address in order to be able to download the production release of MAUTIC, you can enter a fake one if you don't want to give yours away. The full MAUTIC manual is available at it is well written and self explanatory as far as you agree to read.

To sum it up, what you need to do is the following:

  1. You download the .zip file.
  2. You create a folder on your local server, you go within it and you unzip the zip file.
  3. You go on your browser and you access to your local server url where the folder is, then you realize that there is an error.
  4. So you perform this line of code within your terminal to give MAUTIC the rights to generate files on your server "sudo chown -R www-data:www-data /your-folder"
  5. You go back on your browser and you refresh your page or clear cache if necessary. You move forward.
  6. Ok, now you need to create a database, so you create one on your MySQL server and you give privileges to your user who will access the database.
  7. You go back on your browser and you enter the credentials of your MySQL database.
  8. Then you add the credentials you want to use for your MAUTIC installation.
  9. Welcome to MAUTIC.

Installation on an online server

If you want to use MAUTIC on a professional context, so ready to invest money in a server in order to run MAUTIC on it, here is what you need to do.

Once you have it downloaded, transfer it to your server.

In order to do so, perform:

scp username@ip-of-your-server:destination-folder

The scp command allows you to securely transfer files from one server to another one.

Ok so now you need to move it to the folder (this folder will be the url to access to your website so need to be the same as the one you will use in your config file) where you wish to install it with the mv command. For example:

sudo mv my-file /var/www/

When you have done so, unzip it with:

sudo unzip my-file

If you reached this step it is fine. Then you need probably need to set your website in https (typically the kind of thing we don't mind on a local server)

Create a SSL certificate

In order to create one perform (it will work if you are using Apache):

sudo certbot --apache

and then indicate the website you would like to have https applied to. In my case it will be

If this command does not work. Then perform:

sudo certbot certonly -d

and if you are lucky, you should now have your ssl certificate.

Set your website in https

Ok so you have a ssl certificate, but now you need to tell it to your server. First, you need to create your configuration file. In order to do so you need to access to your server configuration at /etc/apache2/sites-available/. /etc is the folder where GNU/Linux put all the configuration files. Why is it named /etc? Well it stands for "et cetera", so like a place where you store all the files which does not fit any other categories in GNU/Linux. Go there with:

cd /etc/apache2/sites-available/

Once you do so, you need to enter within this new configuration file you created and modify the different values:

sudo nano your-new-file.conf

and have something similar to this:

<IfModule mod_ssl.c>
<VirtualHost *:443>
        ServerAdmin webmaster@localhost
        DocumentRoot /var/www/marketing/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLCertificateFile /etc/letsencrypt/live/
SSLCertificateKeyFile /etc/letsencrypt/live/
Include /etc/letsencrypt/options-ssl-apache.conf

Once done activate it with:

sudo a2ensite your-new-file.conf

As we made some changes, we need to restart the Apache web server, so we perform a:

sudo systemctl reload apache2

Ok so right now, you should have something like this when you are going on your website:

the reason why you are having this is because the permission for MAUTIC to write on your server have not been set yet. So you need to give those authorization by performing:

sudo chown -R www-data:www-data /path/to/the/data

so in my case:

sudo chown -R www-data:www-data marketing/

once done you will get something like this:

Installation steps

As most of software running on servers, MAUTIC will ask you to create a database and tell what are the credentials of this database, so you need to go on your mysql server:

sudo mysql


Create database mautic;

then assigne a user with the right authorizations:

GRANT ALL PRIVILEGES ON nameofyourdatabase.* TO 'identifiername'@'localhost';

Once done, it will connect to the database and ask you for your credentials to connect to the MAUTIC backend.

And that's it you made it like a pro. Congratulations.

Last modified: Monday, 3 February 2020, 4:18 PM