Open-source marketing automation does not have to mean giving up your data to a SaaS vendor. Mautic puts email campaigns, contact tracking, and lead nurturing under your own roof. Running it on Ubuntu 24.04 takes more effort than signing into HubSpot, but the reward is full control over your stack, your costs, and your customer data. You decide when to update, how to scale, and where your information lives.

Before you start, point a domain at your server and make sure your Ubuntu 24.04 instance has at least 2 GB of RAM. Mautic is not lightweight; PHP will consume memory when it rebuilds large segments or processes campaign logic. If you plan to send to thousands of contacts, 4 GB makes the experience far smoother.

Build the LEMP Foundation

Mautic expects a LEMP stack: Nginx, MySQL, and PHP. On Ubuntu 24.04, the default PHP version is 8.3, which works well with current Mautic releases. Start by updating your package list, then install Nginx and MySQL Server. After that, pull in PHP-FPM and the exact extensions Mautic needs:

  • php-fpm
  • php-mysql
  • php-imap
  • php-curl
  • php-gd
  • php-xml
  • php-mbstring
  • php-zip
  • php-intl
  • php-bcmath

Each extension serves a real purpose. The IMAP extension reads bounce messages and unsubscribe replies. GD handles image processing for thumbnails. Mbstring and Intl manage character sets and translations across languages. BCMath gives you precise math for lead scoring and currency calculations. Do not skip any of them, or the installer will complain halfway through.

If Apache is already installed, remove it. Both web servers want port 80 and 443. Running them side by side causes silent failures that are frustrating to debug. A clean apt remove apache2 followed by apt autoremove prevents that headache entirely.

Tune PHP and the Database

Mautic’s installer and background jobs are memory-hungry. Open your PHP-FPM configuration file, located at /etc/php/8.3/fpm/php.ini, and raise the memory limit to 512 MB. Set the upload size to 50 MB so you can import contact lists and asset bundles without hitting arbitrary walls. After saving, restart PHP-FPM to apply the changes. While you are at it, bump post_max_size to match your upload limit; otherwise PHP rejects large multipart form submissions even when upload_max_filesize looks correct.

Next, create a dedicated MySQL database and user. Call the database whatever you like, but keep the username and password in a password manager. Mautic stores every contact action, campaign decision, and email open event in these tables, so granting broad privileges to a single-purpose account limits exposure if something else on the server is compromised.

Install Mautic and Its Tooling

Download the latest stable Mautic release and extract it into /var/www/html/mautic. Set the directory owner to www-data so the web server can write cache files, logs, and local configuration updates. On Ubuntu, that means running chown -R www-data:www-data /var/www/html/mautic.

You also need Composer and npm installed on the server. Composer resolves PHP dependencies, and even if you deploy from the pre-built release archive, you will need Composer later when adding marketplace plugins or running manual updates. Npm matters if you ever customize themes or build frontend assets from source. Having both tools ready now saves you from scrambling when the project evolves.

Configure Nginx and Lock It Down

Your Nginx virtual host should point its root directory to /var/www/html/mautic and treat index.php as the default index. Route PHP requests to the Unix socket that PHP-FPM opens, typically at /run/php/php8.3-fpm.sock. A solid server block includes a try_files directive that falls back to the front controller, plus a location block that denies access to hidden files starting with a dot. Mautic ships with .htaccess files meant for Apache, but Nginx ignores them, so explicit deny rules in your virtual host keep your logs and temp directories private.

Before you run the web-based installer, get a TLS certificate. Use Certbot with the Nginx plugin to pull a free Let’s Encrypt certificate and automatically rewrite your HTTP traffic to HTTPS. Mautic handles login credentials and contact data; there is no excuse for serving it over plain text.

Cron Jobs Are the Engine

ಈ ಹಂತವು ಅನಿವಾರ್ಯವಾಗಿದೆ. ನಿಗದಿತ ಕಾರ್ಯಗಳಿಲ್ಲದೆ (scheduled tasks), Mautic ಕೇವಲ ಏನನ್ನೂ ಮಾಡದ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಆಗಿರುತ್ತದೆ. ಅಪ್ಲಿಕೇಶನ್ ಪ್ರಚಾರದ ಕ್ರಮಗಳು (campaign actions), ಇಮೇಲ್ ಕಳುಹಿಸುವಿಕೆ ಮತ್ತು ಸೆಗ್ಮೆಂಟ್ ಮರುಲೆಕ್ಕಾಚಾರಗಳನ್ನು (segment recalculations) ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ಕ್ಯೂನಲ್ಲಿ ಇರಿಸುತ್ತದೆ, ನಂತರ ಅವುಗಳನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸಲು ಕಮಾಂಡ್ ಲೈನ್ ಮೇಲೆ ಅವಲಂಬಿತವಾಗಿರುತ್ತದೆ.

ಈ ಹಿನ್ನೆಲೆ ಕರ್ತವ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು Mautic ಬಳಕೆದಾರರಿಗಾಗಿ cron jobs ಅನ್ನು ಹೊಂದಿಸಿ:

  • ಸೆಗ್ಮೆಂಟ್‌ಗಳನ್ನು ಅಪ್‌ಡೇಟ್ ಮಾಡುವುದು
  • ಕ್ಯಾಂಪೇನ್‌ಗಳನ್ನು ಚಲಾಯಿಸುವುದು
  • ಇಮೇಲ್‌ಗಳನ್ನು ಕಳುಹಿಸುವುದು
  • ಬೌನ್ಸ್ (bounces) ಮಾಹಿತಿ ಪಡೆಯುವುದು

ಪ್ರಾಯೋಗಿಕವಾಗಿ, ಇದರರ್ಥ ವಿವಿಧ ಕಾಲಾವಧಿಗಳಲ್ಲಿ Mautic ನ ಕನ್ಸೋಲ್ ಕಮಾಂಡ್‌ಗಳನ್ನು ಬಳಸುವುದು ಎಂದರ್ಥ. ಸೆಗ್ಮೆಂಟ್ ಮರುನಿರ್ಮಾಣವನ್ನು (Segment rebuilds) ಪ್ರತಿ ಗಂಟೆಗೆ ನಡೆಸಬಹುದು. ಕ್ಯಾಂಪೇನ್ ಟ್ರಿಗ್ಗರ್‌ಗಳು ಮತ್ತು ಇಮೇಲ್ ಕ್ಯೂ ಪ್ರಕ್ರಿಯೆಗೆ ಸಾಮಾನ್ಯವಾಗಿ ಹೆಚ್ಚಿನ ವೇಗ ಬೇಕಾಗುತ್ತದೆ, ಇದು ಡೇಟಾದ ಪ್ರಮಾಣಕ್ಕೆ ಅನುಗುಣವಾಗಿ ಪ್ರತಿ ಐದು ರಿಂದ ಹದಿನೈದು ನಿಮಿಷಕ್ಕೊಮ್ಮೆ ಇರಬೇಕು. IMAP ಮೂಲಕ ಬೌನ್ಸ್ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುವ ಪ್ರಕ್ರಿಯೆಯು ನಿಯಮಿತವಾಗಿ ನಡೆಯಬೇಕು, ಇದರಿಂದ ನಿಮ್ಮ ಸೆಂಡರ್ ರೆಪ್ಯುಟೇಶನ್ (sender reputation) ಅನ್‌ಚೆಕ್ ಮಾಡಲಾದ ಸ್ಪ್ಯಾಮ್ ದೂರುಗಳಿಂದ ಹಾನಿಯಾಗದಂತೆ ನೋಡಿಕೊಳ್ಳಬಹುದು. ಇವುಗಳು ಮೆಮೊರಿ ದೋಷಗಳಿಲ್ಲದೆ ಪೂರ್ಣಗೊಳ್ಳುತ್ತವೆಯೇ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ನಿಮ್ಮ syslog ಅಥವಾ cron ಔಟ್‌ಪುಟ್ ಅನ್ನು ಗಮನಿಸಿ.

ಪ್ಲಾಟ್‌ಫಾರ್ಮ್ ಅನ್ನು ಬಳಸುವುದು

ಇನ್‌ಸ್ಟಾಲರ್ ಪೂರ್ಣಗೊಂಡ ನಂತರ ಮತ್ತು cron ಸುಗಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದ್ದರೆ, ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗೆ ಲಾಗ್ ಇನ್ ಮಾಡಿ. ಇದರ ಇಂಟರ್ಫೇಸ್ ಮೂರು ಪ್ರಮುಖ ಅಂಶಗಳ ಮೇಲೆ ಕೇಂದ್ರೀಕೃತವಾಗಿದೆ: contacts, segments, ಮತ್ತು campaigns.

ಇಮೇಲ್ ವರ್ಕ್‌ಫ್ಲೋಗಳನ್ನು ವಿನ್ಯಾಸಗೊಳಿಸಲು drag-and-drop ಕ್ಯಾಂಪೇನ್ ಬಿಲ್ಡರ್ ಬಳಸಿ. ಹೊಸ ಸಬ್‌ಸ್ಕ್ರೈಬರ್ ಫ್ಲೋಗೆ ಪ್ರವೇಶಿಸುತ್ತಾರೆ, ಒಂದು ದಿನ ಕಾಯುತ್ತಾರೆ, ಸ್ವಾಗತ ಸಂದೇಶವನ್ನು ಪಡೆಯುತ್ತಾರೆ ಮತ್ತು ಅವರು ಲಿಂಕ್ ಕ್ಲಿಕ್ ಮಾಡಿದ್ದಾರೆಯೇ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ ಮುಂದಿನ ಹಂತಕ್ಕೆ ಸಾಗುತ್ತಾರೆ. ಈ ಮಧ್ಯೆ, Points ಸಿಸ್ಟಮ್ ಜನರು ಪ್ರೈಸಿಂಗ್ ಪೇಜ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಿದಾಗ ಅಥವಾ ಉತ್ಪನ್ನದ ಪ್ರಕಟಣೆಗಳನ್ನು ತೆರೆದಾಗ ಲೀಡ್‌ಗಳಿಗೆ (leads) ಅಂಕಗಳನ್ನು ನೀಡುತ್ತದೆ. ಸೇಲ್ಸ್ ಕಾಲ್‌ಗೆ ಯೋಗ್ಯವಾದ 'ಹಾಟ್ ಲೀಡ್' ಅನ್ನು ಗುರುತಿಸಲು ನೀವು ಮಿತಿಗಳನ್ನು (thresholds) ನಿರ್ಧರಿಸಬಹುದು.

ಸೆಗ್ಮೆಂಟ್‌ಗಳು ನೀವು ವ್ಯಾಖ್ಯಾನಿಸಿದ ನಿಯಮಗಳ ಮೂಲಕ ಸಂಪರ್ಕಗಳನ್ನು (contacts) ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಗುಂಪು ಮಾಡುತ್ತದೆ. ಕಳೆದ ಮೂವತ್ತು ದಿನಗಳಲ್ಲಿ ಕ್ಯಾಂಪೇನ್ ತೆರೆದ ಪ್ರತಿಯೊಬ್ಬರನ್ನೂ ನೀವು ಸೆಗ್ಮೆಂಟ್ ಮಾಡಬಹುದು ಅಥವಾ ನಿರ್ದಿಷ್ಟ ದೇಶದ ಸಂಪರ್ಕಗಳನ್ನು ಪ್ರತ್ಯೇಕಿಸಬಹುದು. ನಿಮ್ಮ ಲ್ಯಾಂಡಿಂಗ್ ಪೇಜ್‌ಗಳಲ್ಲಿರುವ ಫಾರ್ಮ್‌ಗಳು ನೇರವಾಗಿ ಈ ಸೆಗ್ಮೆಂಟ್‌ಗಳಿಗೆ ಮಾಹಿತಿಯನ್ನು ನೀಡುತ್ತವೆ. ಈ ಭಾಗಗಳನ್ನು ಒಟ್ಟಿಗೆ ಜೋಡಿಸಿದರೆ, ನಿಮ್ಮ ಸಂಪೂರ್ಣ ಪಟ್ಟಿಗೆ ಒಂದೇ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುವ ಬದಲು, ಬಳಕೆದಾರರ ವರ್ತನೆಗೆ ಅನುಗುಣವಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸುವ ಸ್ವಯಂಚಾಲಿತ ನರ್ಚರ್ ಸೀಕ್ವೆನ್ಸ್ (automated nurture sequence) ಅನ್ನು ನೀವು ಪಡೆಯಬಹುದು.

ನಿಯೋಜನೆಯ ನಂತರದ ನಿಜವಾದ ಕೆಲಸ

Ubuntu 24.04 ಮೇಲೆ Mautic ಅನ್ನು ಸ್ಥಾಪಿಸುವುದು ಕೇವಲ ಆರಂಭವಷ್ಟೇ. ಪ್ರತಿ ಅಪ್‌ಡೇಟ್‌ಗೂ ಮೊದಲು ನಿಮ್ಮ ಡೇಟಾಬೇಸ್ ಮತ್ತು /var/www/html/mautic ಡೈರೆಕ್ಟರಿಯನ್ನು ಬ್ಯಾಕಪ್ ಮಾಡಿಕೊಳ್ಳಿ. ಹೊಸ ಪ್ಲಗಿನ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವಾಗ PHP ಎರರ್ ಲಾಗ್‌ಗಳನ್ನು ಗಮನಿಸಿ. ನಿಮ್ಮ ಕಾಂಟ್ಯಾಕ್ಟ್ ಪಟ್ಟಿಯನ್ನು ವಿಸ್ತರಿಸಿದ ನಂತರ ಕ್ರೋನ್ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪರೀಕ್ಷಿಸಿ, ಏಕೆಂದರೆ ಒಂದು ಸಾವಿರ ಸಂಪರ್ಕಗಳಿದ್ದಾಗ ಸೆಕೆಂಡುಗಳಲ್ಲಿ ಪೂರ್ಣಗೊಳ್ಳುವ ಕೆಲಸವು ಐವತ್ತು ಸಾವಿರ ಸಂಪರ್ಕಗಳಿದ್ದಾಗ ಸಮಯ ಮೀರಿಹೋಗಬಹುದು (time out).

ಸೆಲ್ಫ್-ಹೋಸ್ಟಿಂಗ್ (Self-hosting) ಮಾಡಿಕೊಳ್ಳುವುದು ಮ್ಯಾನೇಜ್ಡ್ SaaS ನ ಅನುಕೂಲಗಳ ಬದಲಿಗೆ ನಿಮ್ಮ ಮಾರ್ಕೆಟಿಂಗ್ ಡೇಟಾದ ಮೇಲೆ ಸಂಪೂರ್ಣ ಹಕ್ಕನ್ನು ನೀಡುತ್ತದೆ. ಇಲ್ಲಿ ಯಾವುದೇ ವೆಂಡರ್ ಲಾಕ್-ಇನ್ (vendor lock-in), ಪ್ರತಿ ಕಾಂಟ್ಯಾಕ್ಟ್‌ಗೆ ಅನಿರೀಕ್ಷಿತ ಬೆಲೆಗಳು ಅಥವಾ ನಿಮ್ಮ ಅನಾಲಿಟಿಕ್ಸ್ ಅನ್ನು ಒತ್ತಿಹಿಡಿಯುವ ಮೂರನೇ ವ್ಯಕ್ತಿಗಳ ಭಯವಿರುವುದಿಲ್ಲ. ಸರ್ವರ್, ಡೇಟಾಬೇಸ್ ಮತ್ತು ನಿಮ್ಮ ಪ್ರೇಕ್ಷಕರೊಂದಿಗಿನ ಸಂಬಂಧವು ನಿಮ್ಮದಾಗಿರುತ್ತದೆ. ಒಂದು Linux ಬಾಕ್ಸ್ ಮತ್ತು ಕೆಲವು cron ಎಕ್ಸ್‌ಪ್ರೆಶನ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಲು ಸಿದ್ಧರಿರುವ ತಂಡಗಳಿಗೆ, ಈ ಬದಲಾವಣೆ ಖಂಡಿತವಾಗಿಯೂ ಲಾಭದಾಯಕವಾಗಿದೆ.