ఓపెన్-సోర్స్ మార్కెటింగ్ ఆటోమేషన్ అంటే మీ డేటాను SaaS వెండర్‌కు ఇచ్చేయడం అని అర్థం కాదు. Mautic ద్వారా ఈమెయిల్ క్యాంపెయిన్‌లు, కాంటాక్ట్ ట్రాకింగ్ మరియు లీడ్ నర్చరింగ్‌ను మీ స్వంత సర్వర్‌లో ఉంచుకోవచ్చు. Ubuntu 24.04లో దీనిని నడపడం HubSpotలో లాగిన్ అవ్వడం కంటే ఎక్కువ శ్రమతో కూడుకున్న పని, కానీ దీని వల్ల మీ స్టాక్, ఖర్చులు మరియు కస్టమర్ డేటాపై మీకు పూర్తి నియంత్రణ లభిస్తుంది. అప్‌డేట్‌లు ఎప్పుడు చేయాలి, ఎలా స్కేల్ చేయాలి మరియు మీ సమాచారం ఎక్కడ ఉండాలి అనేది మీరే నిర్ణయించుకోవచ్చు.

మీరు ప్రారంభించే ముందు, మీ సర్వర్‌కు ఒక డొమైన్‌ను పాయింట్ చేయండి మరియు మీ Ubuntu 24.04 ఇన్‌స్టాన్స్‌కు కనీసం 2 GB RAM ఉండేలా చూసుకోండి. Mautic తక్కువ మెమరీతో పనిచేసే సాఫ్ట్‌వేర్ కాదు; పెద్ద సెగ్మెంట్‌లను రీబిల్డ్ చేసినప్పుడు లేదా క్యాంపెయిన్ లాజిక్‌ను ప్రాసెస్ చేసినప్పుడు 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 ఇన్‌స్టాలర్ మరియు బ్యాక్‌గ్రౌండ్ జాబ్స్ మెమరీని ఎక్కువగా వినియోగిస్తాయి. /etc/php/8.3/fpm/php.ini లో ఉన్న మీ PHP-FPM కాన్ఫిగరేషన్ ఫైల్‌ను ఓపెన్ చేసి, మెమరీ లిమిట్‌ను 512 MBకి పెంచండి. కాంటాక్ట్ లిస్ట్‌లు మరియు అసెట్ బండిల్‌లను ఇన్‌పోర్ట్ చేసేటప్పుడు ఇబ్బంది లేకుండా ఉండటానికి అప్‌లోడ్ సైజును 50 MBకి సెట్ చేయండి. సేవ్ చేసిన తర్వాత, మార్పులు అమలు కావడానికి PHP-FPMని రీస్టార్ట్ చేయండి. అదే సమయంలో, post_max_sizeని మీ అప్‌లోడ్ లిమిట్‌కు అనుగుణంగా పెంచండి; లేకపోతే upload_max_filesize సరిగ్గా ఉన్నప్పటికీ PHP పెద్ద ఫారమ్ సబ్మిషన్లను తిరస్కరిస్తుంది.

తర్వాత, ఒక ప్రత్యేకమైన MySQL డేటాబేస్ మరియు యూజర్‌ను సృష్టించండి. డేటాబేస్‌కు మీకు నచ్చిన పేరు పెట్టుకోవచ్చు, కానీ యూజర్‌నేమ్ మరియు పాస్‌వర్డ్‌ను పాస్‌వర్డ్ మేనేజర్‌లో భద్రపరచండి. Mautic ప్రతి కాంటాక్ట్ యాక్షన్, క్యాంపెయిన్ నిర్ణయం మరియు ఈమెయిల్ ఓపెన్ ఈవెంట్‌ను ఈ టేబుల్స్‌లో స్టోర్ చేస్తుంది, కాబట్టి ఒకే ప్రయోజనం కోసం ఉపయోగించే అకౌంట్‌కు పరిమితమైన అధికారాలను (privileges) ఇవ్వడం వల్ల సర్వర్‌లో ఏదైనా సమస్య వస్తే డేటా భద్రత పెరుగుతుంది.

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 రిక్వెస్ట్‌లను PHP-FPM ఓపెన్ చేసే Unix సాకెట్‌కు, సాధారణంగా /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 అనేవి ఇంజిన్ వంటివి

ఈ దశ తప్పనిసరి. షెడ్యూల్ చేయబడిన పనులు (scheduled tasks) లేకపోతే, Mautic అనేది ఏమీ చేయలేని ఒక డాష్‌బోర్డ్ మాత్రమే. ఈ అప్లికేషన్ క్యాంపెయిన్ చర్యలు, ఈమెయిల్ పంపడం మరియు సెగ్మెంట్ రీకాల్క్యులేషన్లను డేటాబేస్‌లో క్యూ (queue) చేస్తుంది, ఆపై వాటిని ప్రాసెస్ చేయడానికి కమాండ్ లైన్‌పై ఆధారపడుతుంది.

ఈ బ్యాక్‌గ్రౌండ్ పనులను నిర్వహించడానికి Mautic యూజర్ కోసం cron jobs సెటప్ చేయండి:

  • సెగ్మెంట్లను అప్‌డేట్ చేయడం
  • క్యాంపెయిన్‌లను రన్ చేయడం
  • ఈమెయిల్స్ పంపడం
  • బౌన్స్‌లను (bounces) సేకరించడం

ఆచరణలో, దీని అర్థం వేర్వేరు సమయ వ్యవధుల్లో Mautic యొక్క కన్సోల్ కమాండ్‌లను పిలవడం (invoking). సెగ్మెంట్ రీబిల్డ్‌లు ప్రతి గంటకు ఒకసారి రన్ కావచ్చు. క్యాంపెయిన్ ట్రిగ్గర్‌లు మరియు ఈమెయిల్ క్యూ ప్రాసెసింగ్‌కు సాధారణంగా తక్కువ సమయ వ్యవధి అవసరం, అంటే వాల్యూమ్‌ను బట్టి ప్రతి ఐదు నుండి పదిహేను నిమిషాలకు ఒకసారి రన్ చేయాలి. IMAP ద్వారా బౌన్స్‌లను సేకరించడం క్రమబద్ధంగా జరగాలి, తద్వారా మీ సెండర్ రిప్యుటేషన్ (sender reputation) అన్‌చెక్డ్ స్పామ్ ఫిర్యాదుల వల్ల దెబ్బతినదు. అవి మెమరీ ఎర్రర్స్ లేకుండా పూర్తవుతున్నాయని నిర్ధారించుకోవడానికి మీ syslog లేదా cron అవుట్‌పుట్‌ను గమనించండి.

ప్లాట్‌ఫారమ్‌ను ఉపయోగించడం

ఇన్‌స్టాలర్ పూర్తయి, cron సజావుగా నడుస్తున్నప్పుడు, డాష్‌బోర్డ్‌లోకి లాగిన్ అవ్వండి. ఈ ఇంటర్‌ఫేస్ మూడు ప్రధాన అంశాల చుట్టూ ఉంటుంది: contacts, segments, మరియు campaigns.

ఈమెయిల్ వర్క్‌ఫ్లోలను రూపొందించడానికి drag-and-drop క్యాంపెయిన్ బిల్డర్‌ను ఉపయోగించండి. ఒక కొత్త సబ్‌స్క్రైబర్ ఫ్లోలోకి ప్రవేశించి, ఒక రోజు వేచి ఉండి, వెల్‌కమ్ మెసేజ్ అందుకుంటారు, ఆపై వారు లింక్‌ను క్లిక్ చేశారా లేదా అనే దాని ఆధారంగా వేర్వేరు మార్గాలకు (branches) మళ్లుతారు. ఈ సమయంలో, లీడ్స్ ప్రైసింగ్ పేజీలను సందర్శించినప్పుడు లేదా ప్రొడక్ట్ అనౌన్స్‌మెంట్లను ఓపెన్ చేసినప్పుడు, Points సిస్టమ్ నిశ్శబ్దంగా వారికి స్కోర్‌లను కేటాయిస్తుంది. సేల్స్ కాల్ చేయడానికి తగినంత ఆసక్తి ఉన్న 'హాట్ లీడ్'ను గుర్తించే పరిమితులను (thresholds) మీరే నిర్ణయించుకోవచ్చు.

సెగ్మెంట్స్ మీరు నిర్వచించిన నియమాల ద్వారా కాంటాక్ట్‌లను ఆటోమేటిక్‌గా గ్రూప్ చేస్తాయి. గత ముప్పై రోజుల్లో క్యాంపెయిన్‌ను ఓపెన్ చేసిన వారందరినీ మీరు ఒక సెగ్మెంట్‌గా చేయవచ్చు, లేదా ఒక నిర్దిష్ట దేశంలోని కాంటాక్ట్‌లను వేరు చేయవచ్చు. మీ ల్యాండింగ్ పేజీలలో ఉండే ఫారమ్‌లు నేరుగా ఈ సెగ్మెంట్‌లకు డేటాను అందిస్తాయి. ఈ భాగాలను ఒకదానితో ఒకటి అనుసంధానించడం ద్వారా, మీ మొత్తం జాబితాకు ఒకే సందేశాన్ని పంపే బదులు, వినియోగదారుల ప్రవర్తనకు అనుగుణంగా స్పందించే ఒక ఆటోమేటెడ్ నర్చర్ సీక్వెన్స్‌ను (automated nurture sequence) మీరు పొందవచ్చు.

డిప్లాయ్‌మెంట్ తర్వాత అసలైన పని

Ubuntu 24.04 పై Mauticని ఇన్‌స్టాల్ చేయడం అనేది కేవలం ప్రారంభం మాత్రమే. ప్రతి అప్‌డేట్‌కు ముందు మీ డేటాబేస్ మరియు /var/www/html/mautic డైరెక్టరీని బ్యాకప్ తీసుకోండి. కొత్త ప్లగిన్‌లను ఇన్‌స్టాల్ చేసేటప్పుడు PHP ఎర్రర్ లాగ్‌లను గమనించండి. మీ కాంటాక్ట్ జాబితా పెరిగిన తర్వాత cron అవుట్‌పుట్‌ను పరీక్షించండి, ఎందుకంటే వెయ్యి కాంటాక్ట్‌ల వద్ద సెకన్లలో పూర్తయ్యే పని, యాభై వేల కాంటాక్ట్‌ల వద్ద టైమ్ అవుట్ (time out) అయ్యే అవకాశం ఉంది.

సెల్ఫ్-హోస్టింగ్ (Self-hosting) అనేది మేనేజ్డ్ SaaS సౌకర్యం కంటే మీ మార్కెటింగ్ డేటాపై మీకు పూర్తి అధికారం (sovereignty) ఉండటాన్ని ఇస్తుంది. ఇందులో వెండర్ లాక్-ఇన్ (vendor lock-in) ఉండదు, కాంటాక్ట్ ఆధారిత ధరల ఆశ్చర్యాలు ఉండవు మరియు మీ అనలిటిక్స్‌ను మూడవ పక్షం (third-party) నియంత్రించలేదు. సర్వర్, డేటాబేస్ మరియు మీ ఆడియన్స్‌తో ఉన్న సంబంధం మీ సొంతం. ఒక Linux బాక్స్‌ను మరియు కొన్ని cron ఎక్స్‌ప్రెషన్‌లను నిర్వహించగల టీమ్‌లకు, ఈ మార్పిడి సాధారణంగా లాభదాయకమే.