Automatyzacja marketingu open-source nie musi oznaczać oddawania swoich danych dostawcy SaaS. Mautic pozwala trzymać kampanie e-mailowe, śledzenie kontaktów i pielęgnowanie leadów (lead nurturing) pod własną kontrolą. Uruchomienie go na Ubuntu 24.04 wymaga więcej wysiłku niż zalogowanie się do HubSpot, ale nagrodą jest pełna kontrola nad stosem technologicznym, kosztami i danymi klientów. To Ty decydujesz, kiedy aktualizować, jak skalować i gdzie przechowywane są Twoje informacje.
Zanim zaczniesz, skieruj domenę na swój serwer i upewnij się, że Twoja instancja Ubuntu 24.04 ma co najmniej 2 GB pamięci RAM. Mautic nie jest lekkim rozwiązaniem; PHP zużywa pamięć podczas przebudowywania dużych segmentów lub przetwarzania logiki kampanii. Jeśli planujesz wysyłkę do tysięcy kontaktów, 4 GB zapewni znacznie płynniejsze działanie.
Zbuduj fundament LEMP
Mautic wymaga stosu LEMP: Nginx, MySQL i PHP. Na Ubuntu 24.04 domyślna wersja PHP to 8.3, która dobrze współpracuje z aktualnymi wydaniami Mautic. Zacznij od zaktualizowania listy pakietów, a następnie zainstaluj Nginx oraz MySQL Server. Następnie zainstaluj PHP-FPM oraz dokładne rozszerzenia, których potrzebuje Mautic:
- php-fpm
- php-mysql
- php-imap
- php-curl
- php-gd
- php-xml
- php-mbstring
- php-zip
- php-intl
- php-bcmath
Każde rozszerzenie pełni konkretną funkcję. Rozszerzenie IMAP odczytuje wiadomości o błędach dostarczenia (bounce) oraz odpowiedzi z wypisaniem się z subskrypcji. GD odpowiada za przetwarzanie obrazów dla miniatur. Mbstring i Intl zarządzają zestawami znaków i tłumaczeniami między językami. BCMath zapewnia precyzyjne obliczenia matematyczne potrzebne do lead scoringu i przeliczania walut. Nie pomijaj żadnego z nich, w przeciwnym razie instalator zgłosi błąd w połowie procesu.
Jeśli Apache jest już zainstalowany, usuń go. Oba serwery WWW chcą korzystać z portów 80 i 443. Uruchamianie ich obok siebie powoduje ciche błędy, których debugowanie jest frustrujące. Czyste apt remove apache2, a następnie apt autoremove całkowicie eliminuje ten problem.
Dostrój PHP i bazę danych
Instalator Mautic oraz zadania działające w tle są bardzo zasobożerne. Otwórz plik konfiguracyjny PHP-FPM znajdujący się w /etc/php/8.3/fpm/php.ini i zwiększ limit pamięci do 512 MB. Ustaw rozmiar przesyłania plików na 50 MB, aby móc importować listy kontaktów i pakiety zasobów bez napotkania sztucznych ograniczeń. Po zapisaniu zmian zrestartuj PHP-FPM. Przy okazji zwiększ post_max_size, aby odpowiadało limitowi przesyłania; w przeciwnym razie PHP odrzuci duże wieloczęściowe formularze (multipart form submissions), nawet jeśli upload_max_filesize wydaje się poprawne.
Następnie utwórz dedykowaną bazę danych MySQL i użytkownika. Nazwij bazę danych dowolnie, ale zapisz nazwę użytkownika i hasło w menedżerze haseł. Mautic przechowuje w tych tabelach każdą akcję kontaktu, decyzję kampanii i zdarzenie otwarcia e-maila, dlatego nadanie szerokich uprawnień jednorazowemu kontu ogranicza ryzyko w przypadku przejęcia czegoś innego na serwerze.
Zainstaluj Mautic i niezbędne narzędzia
Pobierz najnowszą stabilną wersję Mautic i wypakuj ją do /var/www/html/mautic. Ustaw właściciela katalogu na www-data, aby serwer WWW mógł zapisywać pliki cache, logi i lokalne aktualizacje konfiguracji. Na Ubuntu oznacza to wykonanie polecenia chown -R www-data:www-data /var/www/html/mautic.
Na serwerze musisz mieć również zainstalowane Composer i npm. Composer rozwiązuje zależności PHP, a nawet jeśli wdrażasz system z gotowego archiwum, będziesz potrzebować Composera później, aby dodać wtyczki z marketplace lub przeprowadzić ręczne aktualizacje. Npm jest istotny, jeśli kiedykolwiek będziesz personalizować motywy lub budować zasoby frontendowe ze źródeł. Posiadanie obu tych narzędzi gotowych już teraz uchroni Cię przed chaosem, gdy projekt będzie się rozwijał.
Skonfiguruj Nginx i zabezpiecz go
Twój host wirtualny Nginx powinien wskazywać katalog główny na /var/www/html/mautic i traktować index.php jako domyślny indeks. Przekieruj żądania PHP do gniazda Unix (Unix socket), które otwiera PHP-FPM, zazwyczaj pod adresem /run/php/php8.3-fpm.sock. Solidny blok serwera zawiera dyrektywę try_files, która przekierowuje żądania do kontrolera głównego (front controller), oraz blok location, który odmawia dostępu do ukrytych plików zaczynających się od kropki. Mautic dostarczany jest z plikami .htaccess przeznaczonymi dla Apache, ale Nginx je ignoruje, dlatego jawne reguły deny w Twoim hoście wirtualnym pozwolą zachować prywatność logów i katalogów tymczasowych.
Zanim uruchomisz instalator w przeglądarce, zdobądź certyfikat TLS. Użyj Certbot z wtyczką Nginx, aby pobrać darmowy certyfikat Let’s Encrypt i automatycznie przekierować ruch HTTP na HTTPS. Mautic obsługuje dane logowania i dane kontaktowe; nie ma żadnego usprawiedliwienia dla przesyłania ich otwartym tekstem.
Zadania Cron to silnik systemu
Ten krok jest bezdyskusyjny. Bez zaplanowanych zadań Mautic to tylko pulpit nawigacyjny, który nic nie robi. Aplikacja kolejkuje działania kampanii, wysyłkę e-maili oraz przeliczanie segmentów w bazie danych, a następnie polega na linii komend, aby je przetworzyć.
Skonfiguruj zadania cron dla użytkownika Mautic, aby obsługiwały te procesy w tle:
- Aktualizacja segmentów
- Uruchamianie kampanii
- Wysyłka e-maili
- Pobieranie odrzuceń (bounces)
W praktyce oznacza to wywoływanie komend konsoli Mautic w różnych odstępach czasu. Przebudowa segmentów może odbywać się co godzinę. Wyzwalacze kampanii i przetwarzanie kolejki e-maili zazwyczaj wymagają krótszych interwałów, co pięć do piętnastu minut, w zależności od wolumenu. Pobieranie odrzuceń przez IMAP powinno odbywać się na tyle regularnie, aby Twoja reputacja nadawcy nie ucierpiała z powodu nieobsłużonych skarg na spam. Monitoruj syslog lub wyjście cron, aby upewnić się, że zadania kończą się bez błędów pamięci.
Korzystanie z platformy
Gdy instalator zakończy pracę, a cron zacznie działać, zaloguj się do panelu. Interfejs opiera się na trzech filarach: kontaktach, segmentach i kampaniach.
Użyj kreatora kampanii typu drag-and-drop, aby zaprojektować przepływy pracy (workflows) e-mailowych. Nowy subskrybent wchodzi do przepływu, czeka jeden dzień, otrzymuje wiadomość powitalną i następuje rozwidlenie ścieżki w zależności od tego, czy kliknął w link. W międzyczasie system punktowy (Points system) dyskretnie ocenia leady, gdy odwiedzają strony z cennikiem lub otwierają ogłoszenia o produktach. To Ty decydujesz o progach, które sygnalizują „gorący” lead wart kontaktu sprzedażowego.
Segmenty automatycznie grupują kontakty według zdefiniowanych przez Ciebie reguł. Możesz segmentować wszystkich, którzy otworzyli kampanię w ciągu ostatnich trzydziestu dni, lub wyodrębnić kontakty z konkretnego kraju. Formularze umieszczone na Twoich landing page'ach zasilają te segmenty bezpośrednio. Połącz te elementy, a otrzymasz zautomatyzowaną sekwencję pielęgnacji (nurturing), która reaguje na zachowania, zamiast wysyłać tę samą wiadomość do całej listy.
Prawdziwa praca po wdrożeniu
Postawienie Mautic na Ubuntu 24.04 to dopiero początek. Przed każdą aktualizacją wykonuj kopię zapasową bazy danych oraz katalogu /var/www/html/mautic. Monitoruj logi błędów PHP podczas instalowania nowych wtyczek. Testuj wyjście cron po zwiększeniu listy kontaktów, ponieważ zadanie, które przy tysiącu kontaktów kończy się w kilka sekund, przy pięćdziesięciu tysiącach może przekroczyć limit czasu (timeout).
Self-hosting zamienia wygodę zarządzanego SaaS-a na suwerenność nad własnymi danymi marketingowymi. Nie ma ryzyka uzależnienia od dostawcy (vendor lock-in), niespodzianek w cennikach za liczbę kontaktów ani sytuacji, w której podmiot trzeci trzyma Twoją analitykę jako zakładnika. Ty posiadasz serwer, bazę danych i relację ze swoją grupą odbiorców. Dla zespołów gotowych do utrzymania maszyny z Linuxem i kilku wyrażeń cron, ta wymiana zazwyczaj jest tego warta.
