DebianDebian Based

How To Install Mautic on Debian 13

Install Mautic on Debian 13

Mautic has revolutionized marketing automation by offering an open-source solution that rivals expensive proprietary platforms. Installing this powerful marketing software on Debian 13 “Trixie” provides exceptional stability, security, and performance for businesses seeking complete control over their marketing infrastructure. This comprehensive guide walks through every step of installing Mautic on Debian 13, from initial server preparation to advanced configuration and optimization.

Debian 13 represents a significant milestone in server operating systems, featuring the Linux Kernel 6.12 LTS, enhanced security protocols, and the Y2K38 time fix that ensures long-term reliability. Paired with Mautic 5, which delivers 44% fewer requests, 21% less memory usage, and 42% faster load times compared to previous versions, this combination creates an incredibly efficient marketing automation platform. The entire installation process typically takes 45-60 minutes, even for those with intermediate Linux experience.

What is Mautic?

Mautic stands as the world’s leading open-source marketing automation platform, empowering organizations to manage complex marketing campaigns without subscription fees or data restrictions. Built on the robust Symfony framework, Mautic delivers enterprise-grade features including email marketing, lead nurturing, campaign automation, customer segmentation, form builders, and landing page creation.

The platform excels at tracking visitor behavior, scoring leads based on custom criteria, and triggering personalized communications across multiple channels. Version 5 introduces significant architectural improvements with predictive sending algorithms that optimize email delivery times, advanced heat map analysis for understanding user engagement, and a completely redesigned email builder that simplifies campaign creation. Self-hosting Mautic eliminates monthly costs associated with SaaS alternatives while maintaining complete ownership of customer data—a critical consideration for GDPR and privacy compliance.

Small businesses leverage Mautic to compete with larger competitors through sophisticated automation, while enterprises appreciate the scalability and customization options. Marketing agencies particularly benefit from Mautic’s multi-tenant capabilities, managing numerous client accounts from a single installation.

What’s New in Debian 13 Trixie

Debian 13 “Trixie” officially released in August 2025, bringing transformative improvements that make it ideal for hosting web applications like Mautic. The distribution features Linux Kernel 6.12 LTS, providing enhanced hardware support, improved power efficiency, and better security mechanisms. APT 3.0 introduces faster package management with improved dependency resolution and parallel downloads.

Security enhancements include protection against Return-Oriented Programming (ROP), Call-Oriented Programming (COP), and Jump-Oriented Programming (JOP) attacks through advanced hardening techniques. The Y2K38 fix ensures 64-bit time handling across the entire system, eliminating concerns about the 2038 timestamp overflow issue. Debian 13 also implements tmpfs for /tmp by default, significantly improving temporary file performance for web applications.

Performance optimizations throughout the system stack translate to faster PHP execution, reduced memory overhead, and improved database query performance. These architectural improvements complement Mautic’s resource requirements perfectly, ensuring smooth operation even under heavy load. The distribution maintains Debian’s legendary stability while incorporating modern features that professional hosting environments demand.

Prerequisites

Before beginning the Mautic installation process, ensure access to a fresh Debian 13 server with minimum hardware specifications of 2GB RAM, 2 CPU cores, and 20GB SSD storage. Production environments handling larger contact databases benefit significantly from 4GB RAM or more, as Mautic’s performance scales with available system resources. Root or sudo privileges are essential for installing packages and configuring system services.

A registered domain name or subdomain must point to the server’s IP address through properly configured DNS A records. This domain serves as the access point for the Mautic web interface and email tracking links. Basic Linux command-line proficiency helps navigate the installation process, though this guide provides explicit commands for each step. Access the server through SSH using tools like PuTTY on Windows or the built-in Terminal application on macOS and Linux systems.

Understanding basic firewall concepts proves helpful when configuring security rules. The installation requires opening HTTP (port 80) and HTTPS (port 443) for web traffic. Familiarity with DNS record management ensures proper domain configuration, as email deliverability depends heavily on correct DNS settings including SPF, DKIM, and DMARC records.

Step 1: Update and Upgrade Debian 13 System

Connect to the Debian 13 server via SSH using the command ssh root@your_server_ip or ssh username@your_server_ip if using a non-root account. First actions involve updating the package repository cache and upgrading existing system packages to their latest versions, ensuring all security patches and bug fixes are applied.

Execute the following command to update repository information and upgrade installed packages:

apt update && apt upgrade -y

The update process downloads package information from Debian repositories, while the upgrade command installs newer versions of currently installed packages. The -y flag automatically confirms installation prompts, streamlining the process. This operation typically completes within 5-10 minutes depending on internet connection speed and the number of packages requiring updates.

Verify the system is running Debian 13 Trixie by checking the release information with cat /etc/os-release. The output should display version 13 with the codename “Trixie.” Maintaining current system packages prevents compatibility issues and ensures access to the latest features and security improvements that support stable Mautic operation.

Step 2: Install Required Dependencies

Several essential packages provide foundational functionality for downloading files, managing SSL certificates, and handling compressed archives. Install these dependencies with a single comprehensive command:

apt install apt-transport-https ca-certificates curl wget unzip nano lsb-release software-properties-common -y

Each package serves specific purposes: apt-transport-https enables secure package downloads over HTTPS, ca-certificates provides trusted SSL certificate authorities for verifying secure connections, curl and wget facilitate file downloads from web servers, unzip extracts compressed ZIP archives, nano offers a user-friendly text editor, lsb-release provides distribution information for scripts, and software-properties-common simplifies repository management.

These utilities form the backbone of subsequent installation steps. The installation completes quickly, typically within 2-3 minutes. Verify successful installation by checking versions with commands like wget --version or curl --version. Missing dependencies cause installation failures later, so confirming their presence prevents troubleshooting delays.

Step 3: Add PHP Repository (Sury)

Debian’s default repositories may not include the latest PHP versions required for optimal Mautic performance. The Sury PHP repository provides updated PHP releases for Debian systems, maintained by Ondřej Surý, a respected Debian developer. Add this repository to access PHP 8.3, which Mautic 5.2 fully supports.

Download and install the repository GPG key:

curl -sSL https://packages.sury.org/php/apt.gpg -o /usr/share/keyrings/php-archive-keyring.gpg

Add the Sury PHP repository to the system sources:

echo "deb [signed-by=/usr/share/keyrings/php-archive-keyring.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list

Update the package cache to include packages from the newly added repository:

apt update

The signed-by directive ensures package authenticity by verifying signatures against the imported GPG key. This security measure prevents package tampering. While Debian’s native PHP packages provide stability, the Sury repository offers newer versions with performance improvements and security enhancements that benefit modern web applications like Mautic.

Step 4: Install Apache Web Server

Apache remains the most widely deployed web server globally, offering excellent PHP integration, comprehensive documentation, and mature .htaccess support that Mautic utilizes for URL rewriting. Install Apache2 and configure it for automatic startup:

apt install apache2 -y
systemctl start apache2
systemctl enable apache2

The systemctl start command initiates the Apache service immediately, while systemctl enable configures Apache to launch automatically during system boot. Verify Apache is running correctly with systemctl status apache2, which should display “active (running)” in green text.

Test Apache functionality by navigating to the server’s IP address in a web browser. The default Apache welcome page confirms successful installation. Enable essential Apache modules for Mautic:

a2enmod rewrite ssl headers
systemctl restart apache2

The rewrite module enables URL rewriting for clean URLs, ssl provides HTTPS support, and headers allows custom HTTP header manipulation. Configure firewall rules to allow web traffic:

ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

These commands open HTTP and HTTPS ports while activating the Uncomplicated Firewall (UFW) for enhanced security.

Step 5: Install PHP 8.3 and Required Extensions

Mautic requires PHP with numerous extensions for handling emails, image processing, database connections, and internationalization. Install PHP 8.3 along with all necessary extensions:

apt install php8.3 php8.3-cli php8.3-common php8.3-curl php8.3-gd php8.3-imap php8.3-intl php8.3-mbstring php8.3-mysql php8.3-xml php8.3-zip php8.3-bcmath php8.3-opcache libapache2-mod-php8.3 -y

Each extension serves critical functions: php8.3-curl enables HTTP requests to external APIs, php8.3-gd processes images for asset management, php8.3-imap handles monitored mailbox functionality, php8.3-intl provides internationalization for multi-language campaigns, php8.3-mbstring manages multibyte character encoding, php8.3-mysql connects to database servers, php8.3-xml parses XML data, php8.3-zip handles compressed files, php8.3-bcmath performs arbitrary precision mathematics, and php8.3-opcache dramatically improves PHP performance through bytecode caching.

Verify PHP installation with php -v, which displays version information. Check installed modules with php -m to confirm all required extensions are active. Mautic 5.2 supports PHP versions 8.1 through 8.4, providing flexibility for different hosting environments while PHP 8.3 offers the optimal balance of stability and performance.

Step 6: Configure PHP Settings for Mautic

Default PHP configuration values are too restrictive for marketing automation platforms processing large email campaigns and contact imports. Modify PHP settings to accommodate Mautic’s resource requirements. Open the PHP configuration file:

nano /etc/php/8.3/apache2/php.ini

Locate and update these essential settings:

memory_limit = 512M
upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 300
date.timezone = Asia/Jakarta

The memory_limit of 512M allows PHP scripts to consume sufficient RAM for processing large datasets. Setting 256M works for smaller installations, but 512M provides comfortable headroom. The upload_max_filesize and post_max_size directives permit uploading large files like contact CSV imports and email attachments. Setting max_execution_time to 300 seconds prevents script timeouts during lengthy operations like database migrations or report generation.

Configure date.timezone to match server location, ensuring accurate timestamp handling for scheduled campaigns and analytics. Use the appropriate timezone identifier from PHP’s timezone list. Additional recommended settings include:

max_input_vars = 3000
max_input_time = 300

These values prevent issues with forms containing numerous fields. Save changes and exit nano by pressing CTRL+X, then Y, then ENTER. Restart Apache to apply new PHP settings:

systemctl restart apache2

Create a PHP info test file to verify settings:echo "" > /var/www/html/info.php. Access http://your_server_ip/info.php in a browser to confirm configuration changes. Delete this file after verification for security reasons with rm /var/www/html/info.php.

Step 7: Install and Configure MariaDB Database

MariaDB serves as Mautic’s data repository, storing contacts, campaigns, emails, and analytics. This high-performance MySQL fork offers enhanced scalability and compatibility. Install MariaDB server:

apt install mariadb-server -y
systemctl start mariadb
systemctl enable mariadb

Secure the MariaDB installation using the included security script:

mysql_secure_installation

The wizard prompts several security questions. Press Enter when asked for the current root password (none exists initially). Set a strong root password when prompted, then answer “Y” to remove anonymous users, disallow remote root login, remove the test database, and reload privilege tables. These measures harden database security against unauthorized access.

Log into MariaDB to create the Mautic database and user:

mysql -u root -p

Enter the root password set during secure installation. Execute these SQL commands:

CREATE DATABASE mautic CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'mauticuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON mautic.* TO 'mauticuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Replace StrongPassword123! with a complex password containing uppercase, lowercase, numbers, and special characters. The utf8mb4_unicode_ci character set and collation provide full Unicode support, essential for storing international characters in contact names and email content. Store database credentials securely—they’re required during Mautic’s web-based installation.

Optional performance optimization for MariaDB involves editing /etc/mysql/mariadb.conf.d/50-server.cnf and adding:

[mysqld]
innodb_buffer_pool_size = 1G
innodb_log_file_size = 256M
query_cache_size = 64M

Adjust values based on available system RAM. Restart MariaDB after configuration changes with systemctl restart mariadb.

Step 8: Download and Extract Mautic

Navigate to the web server document root and download the latest Mautic release. The official Mautic download page provides stable releases as ZIP archives:

cd /var/www/html/
wget https://github.com/mautic/mautic/releases/download/6.0.6/6.0.6.zip

Replace 5.2.1 with the current latest version number from the Mautic releases page. Extract the archive into a dedicated directory:

unzip 6.0.6.zip -d mautic
rm 6.0.6.zip

Set appropriate file ownership and permissions. Apache runs as the www-data user on Debian systems, requiring this user to own Mautic files:

chown -R www-data:www-data /var/www/html/mautic/
chmod -R 755 /var/www/html/mautic/

Proper permissions prevent “Permission Denied” errors during installation and operation. The 755 permission allows read and execute access for all users while restricting write access to the owner. Specific Mautic directories require write permissions for cache, logs, and media uploads—the installation wizard automatically sets these.

Verify directory structure by listing contents with ls -la /var/www/html/mautic/. The directory should contain folders like app, bin, config, and files including index.php and composer.json.

Step 9: Create Apache Virtual Host for Mautic

Virtual hosts enable Apache to serve multiple websites from a single server. Create a dedicated virtual host configuration for Mautic:

nano /etc/apache2/sites-available/mautic.conf

Insert this comprehensive configuration, replacing yourdomain.com with the actual domain:

<VirtualHost *:80>
    ServerAdmin admin@yourdomain.com
    ServerName yourdomain.com
    ServerAlias www.yourdomain.com
    DocumentRoot /var/www/html/mautic

    <Directory /var/www/html/mautic>
        Options FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/mautic_error.log
    CustomLog ${APACHE_LOG_DIR}/mautic_access.log combined
</VirtualHost>

The DocumentRoot directive specifies where Mautic files reside. AllowOverride All enables .htaccess files for URL rewriting, critical for Mautic’s routing mechanism. The Require all granted directive permits public access to the application. Custom log files segregate Mautic access logs from other virtual hosts, simplifying troubleshooting.

Save the file and enable the virtual host:

a2ensite mautic.conf
a2dissite 000-default.conf

Disabling the default site prevents conflicts. Test Apache configuration for syntax errors:

apache2ctl configtest

A “Syntax OK” message indicates proper configuration. Reload Apache to apply changes:

systemctl reload apache2

Ensure DNS records properly point to the server. Use dig yourdomain.com or nslookup yourdomain.com to verify DNS resolution. Propagation may take several hours depending on TTL settings and DNS provider.

Step 10: Run Mautic Web-Based Installer

Access the Mautic installation wizard through a web browser by navigating to http://yourdomain.com. The installer automatically launches, guiding through five configuration steps.

Step 1 – Environment Check performs comprehensive system validation. Green checkmarks confirm requirements are met, including PHP version, required extensions, and file permissions. Red errors block installation progress—resolve these by installing missing PHP extensions or adjusting permissions. Orange warnings indicate recommendations rather than requirements, though addressing them improves performance and reliability.

Common environment check issues include insufficient memory_limit settings, missing PHP extensions, or incorrect file permissions. Return to previous steps to correct any deficiencies before proceeding.

Step 2 – Database Configuration requires entering credentials created earlier. Set Database Driver to “MySQL PDO,” Database Host to “localhost,” Database Port to “3306,” Database Name to “mautic,” Database Username to “mauticuser,” and Database Password to the password assigned earlier. Click “Test Connection” to verify database accessibility. Successful connection displays a green confirmation message.

The installer creates necessary database tables automatically. Optional backup settings configure automated database backups, though many administrators prefer external backup solutions for greater control.

Step 3 – Administrative User Setup creates the primary administrator account. Choose a secure username (avoid “admin” for security), set a strong password meeting complexity requirements, and provide first name, last name, and valid email address. This account gains full system access, so safeguard credentials carefully. Consider using a password manager to generate and store complex passwords.

Step 4 – Email Configuration offers various email transport methods. PHP Mail uses the server’s mail function, suitable for testing but unreliable for production due to deliverability issues. SMTP configuration requires mail server details including hostname, port, authentication credentials, and encryption method. Many administrators skip this step initially, configuring email settings later through Mautic’s administration interface after installation completes.

Third-party email services like SendGrid, Amazon SES, Mailgun, or SparkPost significantly improve deliverability compared to sending from server IP addresses. These services provide dedicated IP addresses, ISP reputation management, and bounce handling.

Step 5 – Installation Complete initiates database population and file generation. The process typically completes within 2-3 minutes, creating database schema and default configuration. Upon completion, the installer redirects to the Mautic login screen. Enter administrator credentials created in Step 3 to access the dashboard.

The initial dashboard displays onboarding widgets explaining core concepts. Explore the interface to familiarize yourself with navigation, including Contacts, Components, Channels, and Settings sections.

Step 11: Configure Mautic Cron Jobs

Cron jobs execute scheduled tasks that power Mautic’s automation capabilities. Without properly configured cron jobs, campaigns won’t trigger, emails won’t send, and segments won’t update. Access the server terminal and edit the crontab for the web server user:

crontab -e -u www-data

Add these essential cron jobs, adjusting paths if Mautic is installed in a different location:

0,15,30,45 * * * * php /var/www/html/mautic/bin/console mautic:segments:update
5,20,35,50 * * * * php /var/www/html/mautic/bin/console mautic:campaigns:update
10,25,40,55 * * * * php /var/www/html/mautic/bin/console mautic:campaigns:trigger
*/5 * * * * php /var/www/html/mautic/bin/console mautic:emails:send
*/15 * * * * php /var/www/html/mautic/bin/console mautic:email:fetch
0 2 * * * php /var/www/html/mautic/bin/console mautic:maintenance:cleanup --days-old=365
0 3 * * * php /var/www/html/mautic/bin/console doctrine:schema:update --dump-sql

The mautic:segments:update command refreshes contact segments based on defined filters, running every 15 minutes. Campaign updates through mautic:campaigns:update check if contacts qualify for new campaigns. The mautic:campaigns:trigger command executes campaign actions for qualified contacts. Email queue processing via mautic:emails:send dispatches pending emails every 5 minutes. The mautic:email:fetch command retrieves responses from monitored mailboxes every 15 minutes.

Staggering cron job timing prevents simultaneous execution that could overload the server. Larger contact databases may require adjusted frequencies—reduce to every 30 or 60 minutes if server resources are constrained. Maintenance cleanup removes old data according to retention policies.

Verify cron jobs are executing by checking Mautic’s system information. Navigate to Settings > Configuration > System Settings and review the Cron Jobs section, which displays last execution times. Green indicators confirm successful runs, while red warnings indicate failures requiring investigation.

Alternative deployment methods use queue workers for high-volume installations. Queue workers continuously process pending tasks rather than waiting for scheduled cron execution, significantly improving responsiveness for large-scale operations.

Step 12: Install SSL Certificate with Let’s Encrypt

HTTPS encryption protects user data and significantly improves email deliverability, as many ISPs flag non-HTTPS domains as potential spam sources. Let’s Encrypt provides free SSL certificates with automated renewal. Install Certbot, the official Let’s Encrypt client:

apt install python3-certbot-apache -y

Obtain and install an SSL certificate for the domain:

certbot --apache -d yourdomain.com -d www.yourdomain.com

Replace yourdomain.com with the actual domain name. Certbot prompts for an email address for renewal notifications and terms of service agreement. Enter a valid email and accept terms by typing “Y.” When asked about HTTPS redirection, choose option 2 to automatically redirect HTTP traffic to HTTPS, ensuring all connections use encryption.

Certbot automatically configures Apache virtual hosts, adds SSL directives, and reloads the web server. The process completes within seconds. Verify SSL installation by accessing https://yourdomain.com in a browser—the padlock icon in the address bar confirms secure connection.

Let’s Encrypt certificates expire after 90 days, but Certbot installs a systemd timer that automatically renews certificates when they approach expiration. Test automatic renewal with:

certbot renew --dry-run

Successful test output confirms the renewal process works correctly. Check renewal timer status with systemctl status certbot.timer.

Update Mautic’s site URL to use HTTPS. Navigate to Settings > Configuration > System Settings and change the Site URL field from http:// to https://. Save configuration changes. This ensures tracking codes, unsubscribe links, and redirects use secure connections.

Step 13: Post-Installation Configuration

Access Mautic’s configuration area by clicking the gear icon in the upper-right corner. The System Settings tab contains critical configuration options affecting overall operation.

System Settings Configuration:

  • Site URL: Ensure this reflects the HTTPS domain
  • Cache settings: Enable production mode for optimal performance
  • IP Lookup Service: Configure MaxMind GeoIP for location tracking
  • Anonymize IP: Enable for GDPR compliance, storing only partial IP addresses

Email Settings Configuration:

Configure SMTP server details if skipped during installation. Navigate to Email Settings and select SMTP as the transport method. Enter mail server hostname, port (typically 587 for TLS or 465 for SSL), authentication credentials, and encryption type. Send a test email to verify configuration.

Set default “From” address and name appearing in outgoing emails. Configure bounce and unsubscribe handling by setting up monitored mailboxes. Mautic processes bounces automatically when configured with IMAP access to a dedicated mailbox.

Queue Settings:

Enable queue processing for improved performance, especially for large email campaigns. Queue mode prevents timeout errors by processing emails asynchronously rather than during web requests.

API Settings:

Enable API access if integrating Mautic with external applications. Generate API credentials with appropriate permission levels based on integration requirements.

Tracking Settings:

Configure JavaScript tracking parameters, UTM tag handling, and contact identification methods. Adjust tracking cookie lifetime based on privacy policies and business requirements.

Create initial contact segments based on criteria like location, engagement level, or lead source. Define custom fields for storing additional contact information specific to business needs. Build a test campaign to verify all components function correctly, including forms, emails, and automation workflows.

Step 14: Optimize Mautic Performance

PHP OPcache dramatically improves performance by storing compiled bytecode in memory, eliminating repeated script compilation. Enable OPcache in PHP configuration:

nano /etc/php/8.3/apache2/php.ini

Verify these OPcache settings are enabled:

opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60

Apache MPM (Multi-Processing Module) settings affect concurrent request handling. Edit MPM prefork configuration:

nano /etc/apache2/mods-available/mpm_prefork.conf

Adjust values based on available RAM:

<IfModule mpm_prefork_module>
    StartServers 5
    MinSpareServers 5
    MaxSpareServers 10
    MaxRequestWorkers 150
    MaxConnectionsPerChild 3000
</IfModule>

Enable MariaDB query cache for frequently accessed data. Edit MariaDB configuration and add query cache settings as described in Step 7. Restart services after configuration changes:

systemctl restart apache2
systemctl restart mariadb

Implement Redis or Memcached for session storage and object caching in high-traffic environments. These in-memory data stores significantly reduce database queries. Configure Mautic to use Redis by modifying app/config/local.php and adding cache configuration directives.

Regular database optimization maintains query performance. Schedule monthly execution of:

mysqlcheck -o mautic -u root -p

Implement comprehensive backup strategies covering both database and Mautic files. Automated daily database backups with weekly full file backups ensure disaster recovery capabilities. Store backups off-site using services like Amazon S3, Backblaze B2, or remote servers.

Monitor resource usage with tools like htop, netdata, or Prometheus to identify performance bottlenecks. Set up monitoring alerts for high CPU usage, memory exhaustion, or disk space depletion.

Troubleshooting Common Installation Issues

504 Gateway Timeout Errors occur when PHP scripts exceed maximum execution time limits. Increase timeout values in both PHP and Apache configurations. Edit php.ini and raise max_execution_time to 600 seconds. Modify Apache configuration by adding Timeout 600 to /etc/apache2/apache2.conf. Restart Apache after changes.

File Permission Errors prevent Mautic from writing cache files, logs, or uploaded media. Reset permissions to grant the web server user full access:

chown -R www-data:www-data /var/www/html/mautic/
find /var/www/html/mautic -type d -exec chmod 755 {} \;
find /var/www/html/mautic -type f -exec chmod 644 {} \;

Specific directories require write permissions: var/cache, var/logs, var/spool, and media. Set these to 775 permissions.

PHP Version Mismatches arise when Apache uses a different PHP version than the command line. Verify Apache’s PHP module with apachectl -M | grep php. Ensure the correct libapache2-mod-php package is installed. Disable conflicting PHP modules and enable only PHP 8.3.

Database Connection Failures indicate incorrect credentials, firewall blocking, or MariaDB service issues. Test database connectivity manually with mysql -u mauticuser -p. Verify MariaDB is running with systemctl status mariadb. Check firewall rules aren’t blocking local database connections.

Cron Jobs Not Executing results from incorrect file paths, permission issues, or cron service problems. Verify cron service runs with systemctl status cron. Check crontab entries for the www-data user with crontab -l -u www-data. Test commands manually by executing them directly in the terminal. Review system logs at /var/log/syslog for cron-related error messages.

White Screen or 500 Internal Server Errors typically stem from PHP errors, insufficient memory, or corrupted cache files. Clear Mautic’s cache:

cd /var/www/html/mautic
php bin/console cache:clear

Check Apache error logs for detailed error messages:

tail -f /var/log/apache2/mautic_error.log

Enable debug mode temporarily by editing app/config/local.php and setting debug to true. Remember to disable debug mode after troubleshooting, as it exposes sensitive information.

Email Delivery Problems arise from misconfigured SMTP settings, missing SPF/DKIM records, or ISP reputation issues. Test SMTP connectivity using telnet or dedicated SMTP testing tools. Verify DNS records include SPF entries authorizing the mail server. Implement DKIM signing to prove email authenticity. Monitor bounce rates and adjust sending practices if deliverability declines.

The Mautic community provides extensive support resources. Visit the official forums at forum.mautic.org for assistance, join the Mautic Slack workspace for real-time discussions, and consult documentation at docs.mautic.org for detailed feature explanations.

Security Best Practices

Change the default admin username immediately after installation. Using “admin” as a username makes brute-force attacks significantly easier. Create a new administrator account with a unique username, then delete the original admin account.

Implement strong password policies requiring minimum lengths of 12 characters with mixed case, numbers, and special characters. Consider enforcing password changes every 90 days for administrator accounts. Enable two-factor authentication through plugins or external authentication systems like LDAP or OAuth.

Keep Mautic updated regularly by checking for new releases in the dashboard’s notification area. Updates include security patches, bug fixes, and new features. Always backup before updating to enable rollback if issues arise. Test updates on staging environments before applying to production systems.

Maintain current Debian system packages through regular updates:

apt update && apt upgrade -y

Schedule monthly security audits reviewing user accounts, permission levels, and access logs. Remove unused accounts and revoke unnecessary privileges following the principle of least privilege.

Configure UFW firewall rules to restrict access to essential ports only:

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

Implement Fail2Ban to automatically block IP addresses exhibiting suspicious behavior like repeated login failures. Install and configure Fail2Ban:

apt install fail2ban -y

Create a custom jail for Mautic login protection by adding rules to /etc/fail2ban/jail.local. Fail2Ban monitors logs and temporarily bans IP addresses exceeding failed authentication thresholds.

Establish regular backup schedules using automated tools like cron jobs with mysqldump for databases and rsync for files. Store backups securely off-site with encryption. Test restore procedures quarterly to verify backup integrity.

Monitor access logs for anomalous patterns indicating potential security breaches. Log analysis tools like GoAccess or Matomo provide insights into traffic patterns. Configure alerts for suspicious activities like unusual access times, geographic anomalies, or elevated error rates.

Secure API credentials by restricting access to specific IP addresses and using OAuth2 authentication when possible. Rotate API keys periodically and immediately revoke compromised credentials.

Congratulations! You have successfully installed Mautic. Thanks for using this tutorial for installing Mautic digital marketing tool on Debian 13 “Trixie” system. For additional help or useful information, we recommend you check the official Mautic website.

VPS Manage Service Offer
If you don’t have time to do all of this stuff, or if this is not your area of expertise, we offer a service to do “VPS Manage Service Offer”, starting from $10 (Paypal payment). Please contact us to get the best deal!

r00t

r00t is an experienced Linux enthusiast and technical writer with a passion for open-source software. With years of hands-on experience in various Linux distributions, r00t has developed a deep understanding of the Linux ecosystem and its powerful tools. He holds certifications in SCE and has contributed to several open-source projects. r00t is dedicated to sharing her knowledge and expertise through well-researched and informative articles, helping others navigate the world of Linux with confidence.
Back to top button