ओपन-सोर्स मार्केटिंग ऑटोमेशन म्हणजे तुमचा डेटा SaaS वेंडरला देणे असा होत नाही. Mautic ईमेल मोहिमा (campaigns), कॉन्टॅक्ट ट्रॅकिंग आणि लीड नर्चरिंग तुमच्या स्वतःच्या नियंत्रणाखाली ठेवते. Ubuntu 24.04 वर हे चालवण्यासाठी HubSpot मध्ये साइन इन करण्यापेक्षा जास्त मेहनत लागते, परंतु त्याचे फळ म्हणजे तुमच्या स्टॅकवर, तुमच्या खर्चावर आणि तुमच्या ग्राहक डेटावर तुमचे पूर्ण नियंत्रण असेल. अपडेट कधी करायचे, स्केलिंग कसे करायचे आणि तुमची माहिती कुठे साठवायची हे तुम्ही ठरवता.

सुरुवात करण्यापूर्वी, तुमच्या सर्व्हरला एक डोमेन पॉइंट करा आणि तुमच्या Ubuntu 24.04 इन्स्टन्समध्ये किमान 2 GB RAM असल्याची खात्री करा. Mautic ही हलकी (lightweight) सॉफ्टवेअर नाही; जेव्हा PHP मोठे सेगमेंट्स पुन्हा तयार करते किंवा कॅम्पेन लॉजिक प्रोसेस करते, तेव्हा ते मेमरी वापरते. जर तुम्ही हजारो कॉन्टॅक्ट्सना ईमेल पाठवण्याचे नियोजन करत असाल, तर 4 GB RAM मुळे अनुभव अधिक सुलभ होईल.

LEMP पाया तयार करा

Mautic ला LEMP स्टॅकची आवश्यकता असते: Nginx, MySQL आणि PHP. Ubuntu 24.04 वर, डीफॉल्ट PHP व्हर्जन 8.3 आहे, जे सध्याच्या Mautic रिलीजसोबत चांगले काम करते. प्रथम तुमची पॅकेज लिस्ट अपडेट करून सुरुवात करा, त्यानंतर Nginx आणि MySQL Server इंस्टॉल करा. त्यानंतर, PHP-FPM आणि Mautic ला आवश्यक असलेले नेमके एक्स्टेंशन्स (extensions) इंस्टॉल करा:

  • 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 तुम्हाला लीड स्कोअरिंग आणि चलन (currency) गणनेसाठी अचूक गणित देते. यांपैकी कोणतेही एक्स्टेंशन वगळू नका, अन्यथा इन्स्टॉलर अर्धवट प्रक्रियेत त्रुटी दाखवेल.

जर 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 मोठ्या मल्टीपार्ट फॉर्म सबमिशन नाकारू शकते.

त्यानंतर, एक समर्पित (dedicated) MySQL डेटाबेस आणि युजर तयार करा. डेटाबेसला हवे ते नाव द्या, परंतु युजरनेम आणि पासवर्ड पासवर्ड मॅनेजरमध्ये सुरक्षित ठेवा. Mautic प्रत्येक कॉन्टॅक्ट ॲक्शन, कॅम्पेन निर्णय आणि ईमेल ओपन इव्हेंट या टेबल्समध्ये साठवते, त्यामुळे सर्व्हरवरील इतर काही गोष्टीशी तडजोड झाल्यास धोका कमी करण्यासाठी एका विशिष्ट कामासाठीच (single-purpose) खाते वापरणे योग्य ठरते.

Mautic आणि त्याची टूल्स इंस्टॉल करा

Mautic ची नवीनतम स्टेबल रिलीज डाउनलोड करा आणि ती /var/www/html/mautic मध्ये एक्सट्रॅक्ट करा. डिरेक्टरीचा मालक (owner) 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 विनंत्या (requests) PHP-FPM ने उघडलेल्या युनिक्स सॉकेटकडे (Unix socket) वळवा, जे सहसा /run/php/php8.3-fpm.sock येथे असते. एका भक्कम सर्व्हर ब्लॉकमध्ये try_files निर्देश समाविष्ट असावा जो फ्रंट कंट्रोलरकडे वळवतो, तसेच एक लोकेशन ब्लॉक असावा जो डॉट (.) ने सुरू होणाऱ्या लपलेल्या फाईल्सना प्रवेश नाकारतो. Mautic मध्ये Apache साठी .htaccess फाईल्स येतात, परंतु Nginx त्याकडे दुर्लक्ष करते, त्यामुळे तुमच्या व्हर्च्युअल होस्टमधील स्पष्ट 'deny' नियम तुमचे लॉग्स आणि टेम्प फाईल्स खाजगी ठेवतात.

वेब-आधारित इन्स्टॉलर चालवण्यापूर्वी, TLS प्रमाणपत्र मिळवा. मोफत Let's Encrypt प्रमाणपत्र मिळवण्यासाठी आणि तुमचा HTTP ट्रॅफिक आपोआप HTTPS मध्ये बदलण्यासाठी Nginx प्लगइनसह Certbot वापरा. Mautic लॉगिन क्रेडेंशियल्स आणि कॉन्टॅक्ट डेटा हाताळते; त्यामुळे तो डेटा प्लेन टेक्स्टमध्ये पाठवण्याचे कोणतेही कारण असू शकत नाही.

Cron Jobs हे इंजिन आहेत

ही पायरी अनिवार्य आहे. शेड्युल केलेल्या टास्कशिवाय (scheduled tasks), Mautic हे केवळ एक निष्क्रिय डॅशबोर्ड आहे. हे ॲप्लिकेशन कॅम्पेन ॲक्शन्स, ईमेल पाठवणे आणि सेगमेंट पुनर्गणना (segment recalculations) डेटाबेसमध्ये रांगेत (queue) ठेवते आणि नंतर त्यावर प्रक्रिया करण्यासाठी कमांड लाईनवर अवलंबून असते.

या बॅकग्राउंड कामांसाठी Mautic युजरसाठी cron jobs सेट करा:

  • Segments अपडेट करणे
  • Campaigns चालवणे
  • Emails पाठवणे
  • Bounces मिळवणे

प्रत्यक्ष व्यवहारात, याचा अर्थ वेगवेगळ्या अंतराने Mautic च्या console commands वापरणे असा होतो. Segment rebuilds तासाला एकदा चालवले जाऊ शकतात. Campaign triggers आणि email queue processing साठी सहसा कमी अंतराची गरज असते, म्हणजेच कामाच्या प्रमाणावर (volume) अवलंबून दर पाच ते पंधरा मिनिटांनी हे करणे आवश्यक असते. IMAP द्वारे bounce fetching इतक्या नियमितपणे केले पाहिजे की तुमच्या sender reputation वर न तपासलेल्या spam तक्रारींचा परिणाम होणार नाही. हे टास्क मेमरी एररशिवाय पूर्ण होत आहेत की नाही हे तपासण्यासाठी तुमचे syslog किंवा cron output तपासा.

प्लॅटफॉर्मचा वापर करणे

एकदा इन्स्टॉलर पूर्ण झाला आणि cron व्यवस्थित चालू लागला की, डॅशबोर्डमध्ये लॉग इन करा. याचे इंटरफेस तीन मुख्य घटकांवर आधारित आहे: contacts, segments आणि campaigns.

ईमेल वर्कफ्लो (workflows) डिझाइन करण्यासाठी drag-and-drop campaign builder वापरा. एक नवीन सबस्क्रायबर फ्लोमध्ये येतो, एक दिवस थांबतो, स्वागत संदेश (welcome message) प्राप्त करतो आणि त्यांनी लिंकवर क्लिक केले आहे की नाही यावर आधारित पुढील मार्गाची निवड करतो. दरम्यान, Points सिस्टम लीड्स जेव्हा प्राइसिंग पेजेस पाहतात किंवा उत्पादन घोषणा उघडतात तेव्हा त्यांना गुण (score) देते. सेल्स कॉलसाठी योग्य असलेला 'hot lead' कोणता, हे ठरवण्यासाठी तुम्ही स्वतः थ्रेशोल्ड (thresholds) निश्चित करू शकता.

Segments तुम्ही ठरवलेल्या नियमांनुसार contacts चे आपोआप गट तयार करतात. तुम्ही गेल्या तीस दिवसांत ज्यांनी कॅम्पेन उघडला आहे अशा सर्वांचा सेगमेंट करू शकता किंवा विशिष्ट देशातील contacts वेगळे करू शकता. तुमच्या लँडिंग पेजेसवरील फॉर्म्स थेट या segments मध्ये माहिती पाठवतात. या सर्व भागांना एकमेकांशी जोडून तुम्ही एक ऑटोमेटेड नर्चर सिक्वेन्स (automated nurture sequence) तयार करू शकता, जो तुमच्या संपूर्ण यादीला एकच संदेश पाठवण्याऐवजी वापरकर्त्याच्या वर्तणुकीनुसार (behavior) प्रतिसाद देतो.

डिप्लॉयमेंटनंतरचे खरे काम

Ubuntu 24.04 वर Mautic सेट करणे ही केवळ सुरुवात आहे. प्रत्येक अपडेटपूर्वी तुमचा डेटाबेस आणि /var/www/html/mautic डिरेक्टरीचा बॅकअप घ्या. नवीन प्लगइन्स इंस्टॉल करताना PHP error logs तपासा. जेव्हा तुमच्या contact list ची संख्या वाढेल, तेव्हा cron output तपासा, कारण एक हजार contacts असताना काही सेकंदात पूर्ण होणारे काम पन्नास हजार contacts असताना 'time out' होऊ शकते.

Self-hosting मध्ये तुम्ही मॅनेज्ड SaaS च्या सोयीऐवजी तुमच्या मार्केटिंग डेटावर पूर्ण नियंत्रण मिळवता. यामध्ये कोणताही vendor lock-in नाही, प्रति-contact किमतीचा कोणताही अनपेक्षित खर्च नाही आणि कोणताही तिसरा पक्ष (third-party) तुमचा ॲनालिटिक्स नियंत्रित करू शकत नाही. सर्व्हर, डेटाबेस आणि तुमच्या प्रेक्षकांशी असलेले नाते यावर तुमचा मालकी हक्क असतो. जे टीम्स Linux सर्व्हर आणि काही cron expressions हाताळण्यास तयार आहेत, त्यांच्यासाठी हा बदल नक्कीच फायदेशीर ठरतो.