🔥 500+ people already subscribed. Why not you? Get our newsletter with handy code snippets, tips, and marketing automation insights.

background shape
background shape

How to Install Mautic Step by Step

Installing Mautic step by step comes down to 6 practical jobs: verify the server requirements, prepare the web stack, create the database, run the installer, fix permissions, and configure scheduled tasks. That matters because Mautic is an open-source, self-hosted automation stack for email, forms, landing pages, and contact management, so a weak install usually turns into broken writes, stalled jobs, or an admin area that looks healthy but does not actually process anything.

1. Check the server requirements before you upload anything

The cleanest starting point is to confirm the supported PHP, database, web server, Composer, and writable-path requirements for Mautic 7 before you touch the installer. In practice, this is the step that saves the most time, because Mautic will surface missing PHP extensions, incompatible versions, or write-permission problems very early.

What to verify first

Before downloading Mautic, make sure your environment covers these basics:

  • A supported PHP version with the required extensions enabled
  • A supported database engine and version
  • A compatible web server
  • Composer, if you plan to install that way
  • Write access for the directories Mautic uses for configuration, cache, logs, and uploaded files

A common issue is starting with a server that can run ordinary PHP pages but not the full dependency set Mautic expects. What typically happens is the browser installer opens, passes a few checks, and then stops at the first missing extension or permission error.

Why this step matters in real deployments

Mautic is more sensitive to environment mismatches than a simple brochure site. It needs the filesystem, database, and scheduled background tasks to work together. If one layer is off, the install may complete but normal platform behavior will still be unreliable.

2. Prepare the server stack and database

On Ubuntu, a practical reference setup uses the Apache, MariaDB, PHP, Composer, HTTPS, and cron-based deployment pattern shown for Ubuntu 20.04. Even if your exact hosting stack is different, the order is the same: build the web stack, create the database, configure the site, secure it, and only then open the installer.

A practical order that avoids rework

Use this sequence:

  • Install the web server, database server, PHP, and Composer.
  • Create a dedicated database and database user for Mautic.
  • Configure the site or virtual host so requests go to the correct Mautic location.
  • Add HTTPS if the instance is reachable from the internet using certbot
  • DKIM, DMARX, SPF, postfix, dovecot
  • Mautic admin configuration

Platform behavior differences to expect

The installation work changes depending on how much of the stack you control.

  • On a VPS or cloud server, you usually manage the web server, PHP configuration, database access, and cron yourself.
  • On more abstracted hosting, those layers may already exist, so the job becomes matching Mautic’s requirements to whatever the platform exposes.

What typically happens on restricted hosting is that the install stalls on something small but essential – scheduler access, file ownership, or unavailable PHP extensions.

3. Put Mautic on the server

Once the environment is ready, follow the standard installation flow for downloading Mautic and completing setup through the installer. The two practical paths are installing from packaged files or using Composer, and both end at the same point: a browser-based setup that checks the environment and collects the core configuration.

Package install vs Composer install

Both methods work, but they behave a little differently in practice.

Package install

This is usually the simpler path when you just need to place the application files on the server and get the instance running. It fits manual deployments and environments where you are working directly in the web root or application directory.

Composer install

This is usually the cleaner option when you prefer dependency management from the command line. In practice, Composer-based installs tend to fit teams that already manage PHP applications that way and want a more controlled deployment workflow.

What to do once the files are in place

After the files are uploaded or installed:

  • Confirm the application files are in the location your web server is actually serving.
  • Make sure the web server user can read the files and write where Mautic needs write access.
  • Open the Mautic URL in a browser.
  • Let the installer run its environment checks before moving to the next screen.

A common issue is assuming the file copy itself equals a completed installation. It does not. Until the installer finishes and the environment checks pass, Mautic is only partially in place.

4. Run the browser installer carefully

The browser installer is straightforward, but this is the stage where small setup mistakes become visible.

The usual installer flow

What typically happens is:

  • The installer checks your environment first.
  • You enter the database connection details.
  • You create the first administrator account.
  • Mautic writes the configuration and finishes the setup.

If the environment check fails, stop there and fix the underlying issue first. Trying to work around it usually creates a second problem later, especially with permissions or missing PHP modules.

Database details that commonly trip people up

A common issue is entering database credentials that look correct but do not match the actual privileges granted to the database user. When that happens, the installer may fail immediately or appear to move forward and then stop when it tries to write or validate the connection.

In practice, using a dedicated database and user makes this easier to troubleshoot because you know exactly which credentials Mautic should be using.

5. Fix ownership and permissions before first real use

This is the part many installs skip because the login screen already works. One limitation is that a successful login tells you very little about whether the full application can write what it needs to write.

Why a Mautic install can look healthy and still be broken

What typically happens on Linux servers is that the file copy is done by one user, while the web server runs as another. The result is predictable:

  • Cache rebuilds fail
  • Configuration changes do not persist cleanly
  • Logs do not update as expected
  • Uploaded files or generated assets do not write properly

In practice, ownership problems often show up only after the first settings change, asset upload, or background task. That is why it is worth checking file access immediately after installation instead of waiting for the first campaign build.

What to verify after login

Right after you can access the admin area, test a few write actions:

  • Save a configuration change
  • Check whether logs and cache are updating
  • Confirm the application can write uploaded content where expected

If one of those fails, treat it as a filesystem issue first, not an application issue.

6. Configure cron jobs immediately after installation

Mautic is not just a web interface. It depends on scheduled background processing. In practice, this is where many first-time installs fall apart: the admin area loads, but the automation layer never actually runs.

What typically happens when cron is missing

Without scheduled tasks, Mautic may appear installed but not operational. Background work does not happen on its own, which means time-based or recurring processes will not execute when expected.

A common issue is thinking the install is complete because the dashboard opens. For Mautic, a usable installation includes the scheduler layer, not just the browser layer.

A safer post-install sequence

After the installer finishes:

  • Add the scheduled tasks your deployment plan requires.
  • Confirm they run under the correct system user.
  • Watch the timestamps and logs after the first run.
  • Only then start building production workflows or importing real data.

This is especially important on servers where the shell user and web server user are different, because the task may run successfully from one context and fail silently from the other.

7. Test the installation like an operator, not just an admin

A Mautic installation is only really usable once the database, filesystem, web server, and scheduler are all working together.

Minimum checks worth doing right away

Run a small post-install test set:

  • Log in with the administrator account
  • Save a setting that writes to the database
  • Perform an action that touches the filesystem
  • Confirm a scheduled task executes
  • Reopen the admin area and make sure changes persist

In practice, this catches most installation problems while the setup is still fresh and easy to roll back.

8. Common issues during a Mautic installation

The installer stops at the environment check

This usually points to a missing PHP extension, an unsupported software version, or a permission problem. Start with the requirements, not with the Mautic files.

The database connection does not validate

What typically happens is one of three things: the database name is wrong, the user does not have the right privileges, or the host value is not the one the database service expects.

The admin area loads, but settings or uploads fail

This is usually a filesystem ownership or write-permission problem. A common issue is assigning the files correctly for deployment but not for runtime.

Automations do not run after installation

This is almost always a scheduler problem. If cron is missing, misconfigured, or running under the wrong user, the platform behaves like a static application instead of a marketing automation system.

Step by step Mautic installation on Ubuntu

Below you can find my personal installation notes to get your M

🔒 This content is for Premium Subsribers only.

Please log in to preview content. Log in or Register

You must log in and have a Premium Subscriber account to preview the content.

When upgrading, please use the same email address as your WordPress account so we can correctly link your Premium membership.

Please allow us a little time to process and upgrade your account after the purchase. If you need faster access or encounter any issues, feel free to contact us at info@martechnotes.com or through any other available channel.

To join the Discord community, please also provide your Discord username after subscribing, or reach out to us directly for access.

You can subscribe even before creating a WordPress account — your subscription will be linked to the email address used during checkout.

Premium Subscriber

19,99 € / Year

  • Free e-book with all revisions - 101 Adobe Campaign Classic (SFMC 101 in progress)
  • All Premium Subscriber Benefits - Exclusive blog content, weekly insights, and Discord community access
  • Lock in Your Price for a Full Year - Avoid future price increases
  • Limited Seats at This Price - Lock in early before it goes up

Oh hi there 👋
I have a SSJS skill for you.

Sign up now to get an SSJS skill that can be used with your AI companion

We don’t spam! Read our privacy policy for more info.

Share With Others

The Author
Marcel Szimonisz

Marcel Szimonisz

MarTech consultant

I specialize in solving problems, automating processes, and driving innovation through major marketing automation platforms, particularly Salesforce Marketing Cloud and Adobe Campaign.

Your email address will not be published. Required fields are marked *

Buy me a coffee
Subscribe

Get exclusive tips, scripts and news

Choose your topics

We don’t spam! Read our privacy policy for more info.

Similar posts