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)
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.’”