ओपन-सोर्स मार्केटिंग ऑटोमेशन का मतलब यह नहीं है कि आपको अपना डेटा किसी SaaS वेंडर को सौंपना होगा। Mautic ईमेल कैंपेन, कॉन्टैक्ट ट्रैकिंग और लीड नर्चरिंग को आपके अपने नियंत्रण में रखता है। इसे Ubuntu 24.04 पर चलाना HubSpot में साइन इन करने की तुलना में अधिक प्रयास मांगता है, लेकिन इसका इनाम आपके स्टैक, आपकी लागत और आपके कस्टमर डेटा पर पूर्ण नियंत्रण है। आप तय करते हैं कि कब अपडेट करना है, कैसे स्केल करना है और आपकी जानकारी कहाँ रहती है।
शुरू करने से पहले, अपने सर्वर पर एक डोमेन पॉइंट करें और सुनिश्चित करें कि आपके Ubuntu 24.04 इंस्टेंस में कम से कम 2 GB RAM हो। Mautic कोई हल्का (lightweight) सॉफ्टवेयर नहीं है; जब PHP बड़े सेगमेंट्स को फिर से बनाता है या कैंपेन लॉजिक को प्रोसेस करता है, तो यह मेमोरी का उपयोग करता है। यदि आप हजारों कॉन्टैक्ट्स को भेजने की योजना बना रहे हैं, तो 4 GB रैम अनुभव को कहीं अधिक सुगम बना देगी।
LEMP फाउंडेशन बनाएं
Mautic को एक LEMP स्टैक की आवश्यकता होती है: Nginx, MySQL, और PHP। Ubuntu 24.04 पर, डिफॉल्ट PHP वर्जन 8.3 है, जो वर्तमान Mautic रिलीज़ के साथ अच्छी तरह काम करता है। अपनी पैकेज लिस्ट को अपडेट करने से शुरुआत करें, फिर Nginx और MySQL Server इंस्टॉल करें। उसके बाद, PHP-FPM और उन सटीक एक्सटेंशन को इंस्टॉल करें जिनकी Mautic को आवश्यकता है:
- php-fpm
- php-mysql
- php-imap
- php-curl
- php-gd
- php-xml
- php-mbstring
- php-zip
- php-intl
- php-bcmath
प्रत्येक एक्सटेंशन का एक वास्तविक उद्देश्य है। IMAP एक्सटेंशन बाउंस मैसेज और अनसब्सक्राइब रिप्लाई को पढ़ता है। GD थंबनेल के लिए इमेज प्रोसेसिंग को संभालता है। Mbstring और Intl विभिन्न भाषाओं में कैरेक्टर सेट और अनुवाद को मैनेज करते हैं। BCMath आपको लीड स्कोरिंग और करेंसी कैलकुलेशन के लिए सटीक गणित प्रदान करता है। इनमें से किसी को भी न छोड़ें, अन्यथा इंस्टॉलर बीच में ही एरर देने लगेगा।
यदि Apache पहले से इंस्टॉल है, तो उसे हटा दें। दोनों वेब सर्वर पोर्ट 80 और 443 का उपयोग करना चाहते हैं। उन्हें एक साथ चलाने से साइलेंट फेलियर (silent failures) हो सकते हैं जिन्हें डीबग करना निराशाजनक होता है। apt remove apache2 के बाद apt autoremove चलाने से यह समस्या पूरी तरह से टल जाती है।
PHP और डेटाबेस को ट्यून करें
Mautic का इंस्टॉलर और बैकग्राउंड जॉब्स काफी मेमोरी का उपयोग करते हैं। अपनी PHP-FPM कॉन्फ़िगरेशन फ़ाइल खोलें, जो /etc/php/8.3/fpm/php.ini पर स्थित है, और मेमोरी लिमिट को बढ़ाकर 512 MB कर दें। अपलोड साइज को 50 MB पर सेट करें ताकि आप बिना किसी बाधा के कॉन्टैक्ट लिस्ट और एसेट बंडल्स को इम्पोर्ट कर सकें। सेव करने के बाद, बदलावों को लागू करने के लिए PHP-FPM को रीस्टार्ट करें। इसके साथ ही, post_max_size को अपने अपलोड लिमिट के बराबर बढ़ा दें; अन्यथा, upload_max_filesize सही दिखने के बावजूद PHP बड़े मल्टीपार्ट फॉर्म सबमिशन को रिजेक्ट कर देगा।
इसके बाद, एक समर्पित MySQL डेटाबेस और यूजर बनाएं। डेटाबेस का नाम आप कुछ भी रख सकते हैं, लेकिन यूजरनेम और पासवर्ड को पासवर्ड मैनेजर में सुरक्षित रखें। Mautic हर कॉन्टैक्ट एक्शन, कैंपेन निर्णय और ईमेल ओपन इवेंट को इन टेबल्स में स्टोर करता है, इसलिए एक सिंगल-पर्पस अकाउंट को व्यापक विशेषाधिकार (privileges) देना जोखिम कम करता है यदि सर्वर पर कुछ और समझौता (compromised) हो जाता है।
Mautic और इसके टूल्स इंस्टॉल करें
नवीनतम स्टेबल Mautic रिलीज़ डाउनलोड करें और इसे /var/www/html/mautic में एक्सट्रैक्ट करें। डायरेक्टरी के ओनर को www-data पर सेट करें ताकि वेब सर्वर कैश फ़ाइलें, लॉग्स और लोकल कॉन्फ़िगरेशन अपडेट लिख सके। Ubuntu पर, इसका मतलब है chown -R www-data:www-data /var/www/html/mautic चलाना।
आपको सर्वर पर Composer और npm भी इंस्टॉल करने की आवश्यकता होगी। Composer PHP डिपेंडेंसी को हल करता है, और भले ही आप प्री-बिल्ट रिलीज़ आर्काइव से डिप्लॉय करें, मार्केटप्लेस प्लगइन्स जोड़ने या मैन्युअल अपडेट चलाने के लिए आपको बाद में Composer की आवश्यकता होगी। यदि आप कभी थीम को कस्टमाइज़ करते हैं या सोर्स से फ्रंटएंड एसेट्स बनाते हैं, तो Npm महत्वपूर्ण है। अभी दोनों टूल्स तैयार रखने से प्रोजेक्ट के बढ़ने पर आपको भागदौड़ नहीं करनी पड़ेगी।
Nginx कॉन्फ़िगर करें और इसे सुरक्षित करें
आपके Nginx वर्चुअल होस्ट का रूट डायरेक्टरी /var/www/html/mautic की ओर होना चाहिए और index.php को डिफॉल्ट इंडेक्स के रूप में मानना चाहिए। PHP रिक्वेस्ट को उस Unix सॉकेट पर रूट करें जिसे PHP-FPM खोलता है, जो आमतौर पर /run/php/php8.3-fpm.sock पर होता है। एक ठोस सर्वर ब्लॉक में try_files निर्देश शामिल होना चाहिए जो फ्रंट कंट्रोलर पर वापस जाता है, साथ ही एक लोकेशन ब्लॉक होना चाहिए जो डॉट (.) से शुरू होने वाली छिपी हुई फ़ाइलों तक पहुँच को रोकता है। Mautic के साथ Apache के लिए .htaccess फ़ाइलें आती हैं, लेकिन Nginx उन्हें अनदेखा करता है, इसलिए आपके वर्चुअल होस्ट में स्पष्ट 'deny' नियम आपके लॉग्स और टेम्परेरी डायरेक्टरी को निजी रखते हैं।
वेब-आधारित इंस्टॉलर चलाने से पहले, एक TLS सर्टिफिकेट प्राप्त करें। एक फ्री Let’s Encrypt सर्टिफिकेट प्राप्त करने और अपने HTTP ट्रैफिक को स्वचालित रूप से HTTPS में बदलने के लिए Nginx प्लगइन के साथ Certbot का उपयोग करें। Mautic लॉगिन क्रेडेंशियल और कॉन्टैक्ट डेटा को संभालता है; इसे प्लेन टेक्स्ट (plain text) में सर्व करने का कोई बहाना नहीं होना चाहिए।
Cron Jobs ही इंजन हैं
यह कदम अनिवार्य है। शेड्यूल्ड टास्क के बिना, Mautic एक ऐसा डैशबोर्ड है जो कुछ नहीं करता। एप्लिकेशन कैंपेन एक्शन, ईमेल भेजने और सेगमेंट रीकैलकुलेशन को डेटाबेस में कतार (queue) में रखता है, और फिर उन्हें प्रोसेस करने के लिए कमांड लाइन पर निर्भर रहता है।
इन बैकग्राउंड कार्यों को संभालने के लिए Mautic यूजर के लिए cron jobs सेट करें:
- सेगमेंट अपडेट करना
- कैंपेन चलाना
- ईमेल भेजना
- बाउंस (bounces) प्राप्त करना
व्यवहार में, इसका अर्थ है अलग-अलग अंतराल पर Mautic के कंसोल कमांड्स को चलाना। सेगमेंट रीबिल्ड हर घंटे चल सकते हैं। कैंपेन ट्रिगर्स और ईमेल कतार प्रोसेसिंग (queue processing) को आमतौर पर कम अंतराल की आवश्यकता होती है, जो वॉल्यूम के आधार पर हर पांच से पंद्रह मिनट में होनी चाहिए। IMAP के माध्यम से बाउंस प्राप्त करने की प्रक्रिया इतनी नियमित होनी चाहिए कि आपकी सेंडर प्रतिष्ठा (sender reputation) अनियंत्रित स्पैम शिकायतों से प्रभावित न हो। यह सुनिश्चित करने के लिए कि वे मेमोरी एरर के बिना समाप्त हो जाएं, अपने syslog या cron आउटपुट पर नज़र रखें।
प्लेटफॉर्म का उपयोग करना
एक बार इंस्टॉलर पूरा हो जाने और cron सुचारू रूप से चलने के बाद, डैशबोर्ड में लॉग इन करें। इंटरफ़ेस तीन मुख्य स्तंभों पर केंद्रित है: कॉन्टैक्ट्स, सेगमेंट, और कैंपेन।
ईमेल वर्कफ़्लो डिज़ाइन करने के लिए ड्रैग-एंड-ड्रॉप कैंपेन बिल्डर का उपयोग करें। एक नया सब्सक्राइबर फ्लो में प्रवेश करता है, एक दिन प्रतीक्षा करता है, एक स्वागत संदेश प्राप्त करता है, और इस आधार पर अलग हो जाता है कि उन्होंने लिंक पर क्लिक किया है या नहीं। इस बीच, पॉइंट्स सिस्टम चुपचाप लीड्स को स्कोर देता है जब वे प्राइसिंग पेज देखते हैं या प्रोडक्ट घोषणाएं खोलते हैं। आप उन थ्रेशोल्ड (thresholds) का निर्णय लेते हैं जो सेल्स कॉल के लायक एक 'हॉट लीड' का संकेत देते हैं।
सेगमेंट आपके द्वारा परिभाषित नियमों के आधार पर कॉन्टैक्ट्स को स्वचालित रूप से समूहबद्ध करते हैं। आप पिछले तीस दिनों में कैंपेन खोलने वाले सभी लोगों को सेगमेंट कर सकते हैं, या किसी विशिष्ट देश के कॉन्टैक्ट्स को अलग कर सकते हैं। आपके लैंडिंग पेजों पर मौजूद फॉर्म सीधे इन सेगमेंट में डेटा भेजते हैं। इन हिस्सों को एक साथ जोड़ें और आपके पास एक स्वचालित नर्चर सीक्वेंस (nurture sequence) होगा जो पूरी लिस्ट को एक ही संदेश भेजने के बजाय व्यवहार के आधार पर प्रतिक्रिया देता है।
डिप्लॉयमेंट के बाद का वास्तविक कार्य
Ubuntu 24.04 पर Mautic सेटअप करना तो केवल शुरुआत है। प्रत्येक अपडेट से पहले अपने डेटाबेस और /var/www/html/mautic डायरेक्टरी का बैकअप लें। जब आप नए प्लगइन्स इंस्टॉल करें तो PHP एरर लॉग्स पर नज़र रखें। अपनी कॉन्टैक्ट लिस्ट बढ़ने के बाद cron आउटपुट का परीक्षण करें, क्योंकि एक काम जो एक हजार कॉन्टैक्ट्स पर सेकंडों में पूरा हो जाता है, वह पचास हजार पर टाइम आउट हो सकता है।
सेल्फ-होस्टिंग (Self-hosting) प्रबंधित SaaS की सुविधा के बदले आपके मार्केटिंग डेटा पर संप्रभुता प्रदान करती है। इसमें कोई वेंडर लॉक-इन नहीं है, प्रति-कॉन्टैक्ट मूल्य निर्धारण का कोई आश्चर्य नहीं है, और कोई तीसरा पक्ष आपके एनालिटिक्स को बंधक नहीं बना सकता। सर्वर, डेटाबेस और अपने दर्शकों के साथ संबंध आपके अपने होते हैं। उन टीमों के लिए जो एक Linux बॉक्स और कुछ cron एक्सप्रेशंस को बनाए रखने के लिए तैयार हैं, यह सौदा आमतौर पर सार्थक होता है।
