SlideShare une entreprise Scribd logo
1  sur  18
Télécharger pour lire hors ligne
11/7/182


Zen & The Art of PowerMTA
Maintenance





Port25 Summit

Menno Knol
Deliverability engineer
Tripolis B.V.
11/7/183
Managing multiple PowerMTA instances
•  Web interface / GUI
•  PowerMTA Management Console (PMC)
•  Commandline / scripts
•  Other methods
11/7/184
Configuring PowerMTA using the command-line
Options available to us
•  Monolithic configuration file (/etc/pmta/config)
•  Split up the main configuration file and include
multiple files.
•  Auto-generate using configuration folders (/etc/
pmta/conf.d)
11/7/185
Disadvantages of auto-generation
•  Initial setup is not entirely trivial
•  Requires shell-scripting to work
11/7/186
Advantages of auto-generation
•  Simple, static main configuration file (/etc/pmta/config)
•  Ability to easily add/remove/edit context-specific configuration
(customers, application-zones, etc.) simply by adding/removing files
•  Ability to use placeholder-variables to abstract filesystem-paths,
interface-addresses, etc.
•  Reasonably standard “[..] Generally when you see that *.d convention, it
means ‘this is a directory holding a bunch of configuration fragments
which will be merged together into configuration for some service.’”
11/7/187
Simple main configuration file
11/7/188
Advantages of auto-generation
•  Simple, static main configuration file (/etc/pmta/config)
•  Ability to easily add/remove/edit context-specific configuration
(customers, application-zones, etc.) simply by adding/removing files
•  Ability to use placeholder-variables to abstract filesystem-paths,
interface-addresses, etc.
•  Reasonably standard “[..] Generally when you see that *.d convention, it
means ‘this is a directory holding a bunch of configuration fragments
which will be merged together into configuration for some service.’”
11/7/189
Splitting up our configuration

•  Make sure we backup our original PowerMTA
configuration
•  Create a ‘/etc/pmta/conf.d’ folder.
•  Add additional ‘*.d’ sub-folders as required.
•  Split up our PowerMTA configuration into
seperate small files and organise these into
the newly created directory-structure.
11/7/1810
Using ‘xargs’ to concatenate config files
find "${CONFDIR}" -maxdepth 1 -type f -print | sort -u |
xargs -I %% cat %% >> "${INCLUDEDIR}/config-settings.autogen"
11/7/1811
Advantages of auto-generation
•  Simple, static main configuration file (/etc/pmta/config)
•  Ability to easily add/remove/edit context-specific configuration
(customers, application-zones, etc.) simply by adding/removing files
•  Ability to use placeholder-variables to abstract filesystem-paths,
interface-addresses, etc.
•  Reasonably standard “[..] Generally when you see that *.d convention, it
means ‘this is a directory holding a bunch of configuration fragments
which will be merged together into configuration for some service.’”
11/7/1812
Using ‘sed’ to replace placeholder variables
DKIMPATH=”/etc/pmta/conf.d/dkim.d/keys.d"
find "${CONFDIR}/dkim.d/" -maxdepth 1 -type f -print | sort -u |
xargs -I %% cat %% | sed –e "s/[DKIM_PATH]/${DKIMPATH}/g” >> "$
{INCLUDEDIR}/config-dkims.autogen”
/etc/pmta/conf.d/dkim.d/100-example
11/7/1813
Advantages of auto-generation
•  Simple, static main configuration file (/etc/pmta/config)
•  Ability to easily add/remove/edit context-specific configuration
(customers, application-zones, etc.) simply by adding/removing files
•  Ability to use placeholder-variables to abstract filesystem-paths,
interface-addresses, etc.
•  Reasonably standard “[..] Generally when you see that *.d convention, it
means ‘this is a directory holding a bunch of configuration fragments
which will be merged together into configuration for some service.’”
11/7/1814
Tying it together
11/7/1815
Synchronizing our configuration across PowerMTA hosts
11/7/1816
Tying it together
11/7/1817
Tying it together
11/7/1818
Questions?
•  Thank you!
•  mknol@tripolis.com
§  www.tripolis.com

Contenu connexe

Similaire à Zen & The Art of PowerMTA Maintenance

How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?Zend by Rogue Wave Software
 
Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10panagenda
 
Some tips to improve developer experience with Symfony
Some tips to improve developer experience with SymfonySome tips to improve developer experience with Symfony
Some tips to improve developer experience with Symfonytyomo4ka
 
Lotus Connections Administration - von der Befehlszeile zur grafischen Oberfl...
Lotus Connections Administration - von der Befehlszeile zur grafischen Oberfl...Lotus Connections Administration - von der Befehlszeile zur grafischen Oberfl...
Lotus Connections Administration - von der Befehlszeile zur grafischen Oberfl...TIMETOACT GROUP
 
Symm configuration management
Symm configuration managementSymm configuration management
Symm configuration management.Gastón. .Bx.
 
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPagesBP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPagesPaul Withers
 
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...Erich Beyrent
 
CD in kubernetes using helm and ksonnet. Stas Kolenkin
CD in kubernetes using helm and ksonnet. Stas KolenkinCD in kubernetes using helm and ksonnet. Stas Kolenkin
CD in kubernetes using helm and ksonnet. Stas KolenkinDataArt
 
IBM Spark Meetup - RDD & Spark Basics
IBM Spark Meetup - RDD & Spark BasicsIBM Spark Meetup - RDD & Spark Basics
IBM Spark Meetup - RDD & Spark BasicsSatya Narayan
 
Dell EMC OpenManage Enterprise Ovierview 3.3
Dell EMC OpenManage Enterprise Ovierview 3.3Dell EMC OpenManage Enterprise Ovierview 3.3
Dell EMC OpenManage Enterprise Ovierview 3.3Mark Maclean
 
Quattor
QuattorQuattor
QuattorInria
 
The Flink - Apache Bigtop integration
The Flink - Apache Bigtop integrationThe Flink - Apache Bigtop integration
The Flink - Apache Bigtop integrationMárton Balassi
 
IBM MQ Appliance - Administration simplified
IBM MQ Appliance - Administration simplifiedIBM MQ Appliance - Administration simplified
IBM MQ Appliance - Administration simplifiedAnthony Beardsmore
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?Oliver Lemm
 
Design-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline ComponentsDesign-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline ComponentsDaniel Toomey
 
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Gaetano Giunta
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetAchieve Internet
 

Similaire à Zen & The Art of PowerMTA Maintenance (20)

How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?How do I securely deploy Internet websites in PHP on my IBMi?
How do I securely deploy Internet websites in PHP on my IBMi?
 
Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10Virtual, Faster, Better! How to Virtualize IBM Notes V10
Virtual, Faster, Better! How to Virtualize IBM Notes V10
 
Some tips to improve developer experience with Symfony
Some tips to improve developer experience with SymfonySome tips to improve developer experience with Symfony
Some tips to improve developer experience with Symfony
 
Lotus Connections Administration - von der Befehlszeile zur grafischen Oberfl...
Lotus Connections Administration - von der Befehlszeile zur grafischen Oberfl...Lotus Connections Administration - von der Befehlszeile zur grafischen Oberfl...
Lotus Connections Administration - von der Befehlszeile zur grafischen Oberfl...
 
Symm configuration management
Symm configuration managementSymm configuration management
Symm configuration management
 
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPagesBP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
BP206 It's Not Herculean: 12 Tasks Made Easier with IBM Domino XPages
 
Code One 2018 maven
Code One 2018   mavenCode One 2018   maven
Code One 2018 maven
 
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
Configuration as Dependency: Managing Drupal 8 Configuration with git and Com...
 
Into to drupal8
Into to drupal8Into to drupal8
Into to drupal8
 
CD in kubernetes using helm and ksonnet. Stas Kolenkin
CD in kubernetes using helm and ksonnet. Stas KolenkinCD in kubernetes using helm and ksonnet. Stas Kolenkin
CD in kubernetes using helm and ksonnet. Stas Kolenkin
 
IBM Spark Meetup - RDD & Spark Basics
IBM Spark Meetup - RDD & Spark BasicsIBM Spark Meetup - RDD & Spark Basics
IBM Spark Meetup - RDD & Spark Basics
 
Dell EMC OpenManage Enterprise Ovierview 3.3
Dell EMC OpenManage Enterprise Ovierview 3.3Dell EMC OpenManage Enterprise Ovierview 3.3
Dell EMC OpenManage Enterprise Ovierview 3.3
 
Quattor
QuattorQuattor
Quattor
 
The Flink - Apache Bigtop integration
The Flink - Apache Bigtop integrationThe Flink - Apache Bigtop integration
The Flink - Apache Bigtop integration
 
IBM MQ Appliance - Administration simplified
IBM MQ Appliance - Administration simplifiedIBM MQ Appliance - Administration simplified
IBM MQ Appliance - Administration simplified
 
Lotus Domino 8.5
Lotus Domino 8.5Lotus Domino 8.5
Lotus Domino 8.5
 
How to use source control with apex?
How to use source control with apex?How to use source control with apex?
How to use source control with apex?
 
Design-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline ComponentsDesign-Time Properties in Custom Pipeline Components
Design-Time Properties in Custom Pipeline Components
 
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
Symfony HTTP Kernel for refactoring legacy apps: the eZ Publish case study - ...
 
Improving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve InternetImproving Website Performance with Memecached Webinar | Achieve Internet
Improving Website Performance with Memecached Webinar | Achieve Internet
 

Plus de Port25 Solutions

PowerMTA and Me: Still a Better Love Story Than Twilight
PowerMTA and Me: Still a Better Love Story Than TwilightPowerMTA and Me: Still a Better Love Story Than Twilight
PowerMTA and Me: Still a Better Love Story Than TwilightPort25 Solutions
 
Lessons Learned Building a Deliverability Business
Lessons Learned Building a Deliverability Business Lessons Learned Building a Deliverability Business
Lessons Learned Building a Deliverability Business Port25 Solutions
 
Going the Extra Mile in Innovation and Delivery
Going the Extra Mile in Innovation and DeliveryGoing the Extra Mile in Innovation and Delivery
Going the Extra Mile in Innovation and DeliveryPort25 Solutions
 
DNS based Authentication of Named Entities (DANE)
DNS based Authentication of Named Entities (DANE)DNS based Authentication of Named Entities (DANE)
DNS based Authentication of Named Entities (DANE)Port25 Solutions
 
Send More with Less: How to Improve PowerMTA Efficiency
Send More with Less: How to Improve PowerMTA EfficiencySend More with Less: How to Improve PowerMTA Efficiency
Send More with Less: How to Improve PowerMTA EfficiencyPort25 Solutions
 
Email Infrastructure: Open Source vs. Commercial MTAs
Email Infrastructure: Open Source vs. Commercial MTAsEmail Infrastructure: Open Source vs. Commercial MTAs
Email Infrastructure: Open Source vs. Commercial MTAsPort25 Solutions
 
Case Study - Communicator Corporation
Case Study - Communicator CorporationCase Study - Communicator Corporation
Case Study - Communicator CorporationPort25 Solutions
 
The Future of PowerMTA - November 2018
The Future of PowerMTA - November 2018The Future of PowerMTA - November 2018
The Future of PowerMTA - November 2018Port25 Solutions
 

Plus de Port25 Solutions (16)

PowerMTA and Me: Still a Better Love Story Than Twilight
PowerMTA and Me: Still a Better Love Story Than TwilightPowerMTA and Me: Still a Better Love Story Than Twilight
PowerMTA and Me: Still a Better Love Story Than Twilight
 
Lessons Learned Building a Deliverability Business
Lessons Learned Building a Deliverability Business Lessons Learned Building a Deliverability Business
Lessons Learned Building a Deliverability Business
 
Going the Extra Mile in Innovation and Delivery
Going the Extra Mile in Innovation and DeliveryGoing the Extra Mile in Innovation and Delivery
Going the Extra Mile in Innovation and Delivery
 
DNS based Authentication of Named Entities (DANE)
DNS based Authentication of Named Entities (DANE)DNS based Authentication of Named Entities (DANE)
DNS based Authentication of Named Entities (DANE)
 
Send More with Less: How to Improve PowerMTA Efficiency
Send More with Less: How to Improve PowerMTA EfficiencySend More with Less: How to Improve PowerMTA Efficiency
Send More with Less: How to Improve PowerMTA Efficiency
 
Case Study - Teneo
Case Study - TeneoCase Study - Teneo
Case Study - Teneo
 
Case Study - Sailthru
Case Study - SailthruCase Study - Sailthru
Case Study - Sailthru
 
Case Study - Pure360
Case Study - Pure360Case Study - Pure360
Case Study - Pure360
 
Email Infrastructure: Open Source vs. Commercial MTAs
Email Infrastructure: Open Source vs. Commercial MTAsEmail Infrastructure: Open Source vs. Commercial MTAs
Email Infrastructure: Open Source vs. Commercial MTAs
 
Case Study - MailChimp
Case Study - MailChimpCase Study - MailChimp
Case Study - MailChimp
 
Forfront - Case Study
Forfront - Case StudyForfront - Case Study
Forfront - Case Study
 
MIS Sciences - Case Study
MIS Sciences - Case StudyMIS Sciences - Case Study
MIS Sciences - Case Study
 
Listrak - Case Study
Listrak - Case StudyListrak - Case Study
Listrak - Case Study
 
Emma Inc - Case Study
Emma Inc - Case StudyEmma Inc - Case Study
Emma Inc - Case Study
 
Case Study - Communicator Corporation
Case Study - Communicator CorporationCase Study - Communicator Corporation
Case Study - Communicator Corporation
 
The Future of PowerMTA - November 2018
The Future of PowerMTA - November 2018The Future of PowerMTA - November 2018
The Future of PowerMTA - November 2018
 

Dernier

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 

Dernier (20)

Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 

Zen & The Art of PowerMTA Maintenance

  • 1.
  • 2. 11/7/182 
 Zen & The Art of PowerMTA Maintenance
 
 
 Port25 Summit
 Menno Knol Deliverability engineer Tripolis B.V.
  • 3. 11/7/183 Managing multiple PowerMTA instances •  Web interface / GUI •  PowerMTA Management Console (PMC) •  Commandline / scripts •  Other methods
  • 4. 11/7/184 Configuring PowerMTA using the command-line Options available to us •  Monolithic configuration file (/etc/pmta/config) •  Split up the main configuration file and include multiple files. •  Auto-generate using configuration folders (/etc/ pmta/conf.d)
  • 5. 11/7/185 Disadvantages of auto-generation •  Initial setup is not entirely trivial •  Requires shell-scripting to work
  • 6. 11/7/186 Advantages of auto-generation •  Simple, static main configuration file (/etc/pmta/config) •  Ability to easily add/remove/edit context-specific configuration (customers, application-zones, etc.) simply by adding/removing files •  Ability to use placeholder-variables to abstract filesystem-paths, interface-addresses, etc. •  Reasonably standard “[..] Generally when you see that *.d convention, it means ‘this is a directory holding a bunch of configuration fragments which will be merged together into configuration for some service.’”
  • 8. 11/7/188 Advantages of auto-generation •  Simple, static main configuration file (/etc/pmta/config) •  Ability to easily add/remove/edit context-specific configuration (customers, application-zones, etc.) simply by adding/removing files •  Ability to use placeholder-variables to abstract filesystem-paths, interface-addresses, etc. •  Reasonably standard “[..] Generally when you see that *.d convention, it means ‘this is a directory holding a bunch of configuration fragments which will be merged together into configuration for some service.’”
  • 9. 11/7/189 Splitting up our configuration
 •  Make sure we backup our original PowerMTA configuration •  Create a ‘/etc/pmta/conf.d’ folder. •  Add additional ‘*.d’ sub-folders as required. •  Split up our PowerMTA configuration into seperate small files and organise these into the newly created directory-structure.
  • 10. 11/7/1810 Using ‘xargs’ to concatenate config files find "${CONFDIR}" -maxdepth 1 -type f -print | sort -u | xargs -I %% cat %% >> "${INCLUDEDIR}/config-settings.autogen"
  • 11. 11/7/1811 Advantages of auto-generation •  Simple, static main configuration file (/etc/pmta/config) •  Ability to easily add/remove/edit context-specific configuration (customers, application-zones, etc.) simply by adding/removing files •  Ability to use placeholder-variables to abstract filesystem-paths, interface-addresses, etc. •  Reasonably standard “[..] Generally when you see that *.d convention, it means ‘this is a directory holding a bunch of configuration fragments which will be merged together into configuration for some service.’”
  • 12. 11/7/1812 Using ‘sed’ to replace placeholder variables DKIMPATH=”/etc/pmta/conf.d/dkim.d/keys.d" find "${CONFDIR}/dkim.d/" -maxdepth 1 -type f -print | sort -u | xargs -I %% cat %% | sed –e "s/[DKIM_PATH]/${DKIMPATH}/g” >> "$ {INCLUDEDIR}/config-dkims.autogen” /etc/pmta/conf.d/dkim.d/100-example
  • 13. 11/7/1813 Advantages of auto-generation •  Simple, static main configuration file (/etc/pmta/config) •  Ability to easily add/remove/edit context-specific configuration (customers, application-zones, etc.) simply by adding/removing files •  Ability to use placeholder-variables to abstract filesystem-paths, interface-addresses, etc. •  Reasonably standard “[..] Generally when you see that *.d convention, it means ‘this is a directory holding a bunch of configuration fragments which will be merged together into configuration for some service.’”
  • 18. 11/7/1818 Questions? •  Thank you! •  mknol@tripolis.com §  www.tripolis.com