Configure mailman3.cfg
							parent
							
								
									accc8b1a1c
								
							
						
					
					
						commit
						1fcf1fa8b3
					
				| 
						 | 
				
			
			@ -24,5 +24,10 @@
 | 
			
		|||
 | 
			
		||||
# Deploy Mailman3
 | 
			
		||||
- hosts: mailman.adm.crans.org
 | 
			
		||||
  vars:
 | 
			
		||||
    mailman3:
 | 
			
		||||
      site_owner: root@crans.org
 | 
			
		||||
      database_pass: "{{ vault_mailman3_database_pass }}"
 | 
			
		||||
      restadmin_pass: "{{ vault_mailman3_restadmin_pass }}"
 | 
			
		||||
  roles:
 | 
			
		||||
    - mailman3
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -6,16 +6,24 @@
 | 
			
		|||
      - mailman3-full
 | 
			
		||||
      - nginx
 | 
			
		||||
      - dbconfig-no-thanks
 | 
			
		||||
      - postgresql
 | 
			
		||||
    install_recommends: false
 | 
			
		||||
  register: apt_result
 | 
			
		||||
  retries: 3
 | 
			
		||||
  until: apt_result is succeeded
 | 
			
		||||
 | 
			
		||||
#- name: Configure mailman3
 | 
			
		||||
#  template:
 | 
			
		||||
#    src: mailman3/mailman3.cfg.j2
 | 
			
		||||
#    dest: /etc/mailman3/mailman3.cfg
 | 
			
		||||
#  notify: Restart mailman3
 | 
			
		||||
# You will need to setup postgres
 | 
			
		||||
# sudo -u postgres createuser -W mailman3
 | 
			
		||||
# sudo -u postgres createdb -O mailman3 mailman3
 | 
			
		||||
# Test with : psql -U mailman3 -W -d mailman3 -h localhost
 | 
			
		||||
- name: Configure mailman3
 | 
			
		||||
  template:
 | 
			
		||||
    src: mailman3/mailman.cfg.j2
 | 
			
		||||
    dest: /etc/mailman3/mailman.cfg
 | 
			
		||||
    mode: 0640
 | 
			
		||||
    owner: root
 | 
			
		||||
    group: list
 | 
			
		||||
  notify: Restart mailman3
 | 
			
		||||
 | 
			
		||||
#- name: Configure mailman3-web
 | 
			
		||||
#  template:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -0,0 +1,274 @@
 | 
			
		|||
{{ ansible_header | comment }}
 | 
			
		||||
 | 
			
		||||
# Copyright (C) 2008-2017 by the Free Software Foundation, Inc.
 | 
			
		||||
#
 | 
			
		||||
# This file is part of GNU Mailman.
 | 
			
		||||
#
 | 
			
		||||
# GNU Mailman is free software: you can redistribute it and/or modify it under
 | 
			
		||||
# the terms of the GNU General Public License as published by the Free
 | 
			
		||||
# Software Foundation, either version 3 of the License, or (at your option)
 | 
			
		||||
# any later version.
 | 
			
		||||
#
 | 
			
		||||
# GNU Mailman is distributed in the hope that it will be useful, but WITHOUT
 | 
			
		||||
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 | 
			
		||||
# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
 | 
			
		||||
# more details.
 | 
			
		||||
#
 | 
			
		||||
# You should have received a copy of the GNU General Public License along with
 | 
			
		||||
# GNU Mailman.  If not, see <http://www.gnu.org/licenses/>.
 | 
			
		||||
 | 
			
		||||
# This file contains the Debian configuration for mailman.  It uses ini-style
 | 
			
		||||
# formats under the lazr.config regime to define all system configuration
 | 
			
		||||
# options.  See <https://launchpad.net/lazr.config> for details.
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[mailman]
 | 
			
		||||
# This address is the "site owner" address.  Certain messages which must be
 | 
			
		||||
# delivered to a human, but which can't be delivered to a list owner (e.g. a
 | 
			
		||||
# bounce from a list owner), will be sent to this address.  It should point to
 | 
			
		||||
# a human.
 | 
			
		||||
site_owner: {{ mailman3.site_owner }}
 | 
			
		||||
 | 
			
		||||
# This is the local-part of an email address used in the From field whenever a
 | 
			
		||||
# message comes from some entity to which there is no natural reply recipient.
 | 
			
		||||
# Mailman will append '@' and the host name of the list involved.  This
 | 
			
		||||
# address must not bounce and it must not point to a Mailman process.
 | 
			
		||||
noreply_address: noreply
 | 
			
		||||
 | 
			
		||||
# The default language for this server.
 | 
			
		||||
default_language: fr
 | 
			
		||||
 | 
			
		||||
# Membership tests for posting purposes are usually performed by looking at a
 | 
			
		||||
# set of headers, passing the test if any of their values match a member of
 | 
			
		||||
# the list.  Headers are checked in the order given in this variable.  The
 | 
			
		||||
# value From_ means to use the envelope sender.  Field names are case
 | 
			
		||||
# insensitive.  This is a space separate list of headers.
 | 
			
		||||
sender_headers: from from_ reply-to sender
 | 
			
		||||
 | 
			
		||||
# Mail command processor will ignore mail command lines after designated max.
 | 
			
		||||
email_commands_max_lines: 10
 | 
			
		||||
 | 
			
		||||
# Default length of time a pending request is live before it is evicted from
 | 
			
		||||
# the pending database.
 | 
			
		||||
pending_request_life: 3d
 | 
			
		||||
 | 
			
		||||
# How long should files be saved before they are evicted from the cache?
 | 
			
		||||
cache_life: 7d
 | 
			
		||||
 | 
			
		||||
# A callable to run with no arguments early in the initialization process.
 | 
			
		||||
# This runs before database initialization.
 | 
			
		||||
pre_hook:
 | 
			
		||||
 | 
			
		||||
# A callable to run with no arguments late in the initialization process.
 | 
			
		||||
# This runs after adapters are initialized.
 | 
			
		||||
post_hook:
 | 
			
		||||
 | 
			
		||||
# Which paths.* file system layout to use.
 | 
			
		||||
# You should not change this variable.
 | 
			
		||||
layout: debian
 | 
			
		||||
 | 
			
		||||
# Can MIME filtered messages be preserved by list owners?
 | 
			
		||||
filtered_messages_are_preservable: no
 | 
			
		||||
 | 
			
		||||
# How should text/html parts be converted to text/plain when the mailing list
 | 
			
		||||
# is set to convert HTML to plaintext?  This names a command to be called,
 | 
			
		||||
# where the substitution variable $filename is filled in by Mailman, and
 | 
			
		||||
# contains the path to the temporary file that the command should read from.
 | 
			
		||||
# The command should print the converted text to stdout.
 | 
			
		||||
html_to_plain_text_command: /usr/bin/lynx -dump $filename
 | 
			
		||||
 | 
			
		||||
# Specify what characters are allowed in list names.  Characters outside of
 | 
			
		||||
# the class [-_.+=!$*{}~0-9a-z] matched case insensitively are never allowed,
 | 
			
		||||
# but this specifies a subset as the only allowable characters.  This must be
 | 
			
		||||
# a valid character class regexp or the effect on list creation is
 | 
			
		||||
# unpredictable.
 | 
			
		||||
listname_chars: [-_.0-9a-z]
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[shell]
 | 
			
		||||
# `mailman shell` (also `withlist`) gives you an interactive prompt that you
 | 
			
		||||
# can use to interact with an initialized and configured Mailman system.  Use
 | 
			
		||||
# --help for more information.  This section allows you to configure certain
 | 
			
		||||
# aspects of this interactive shell.
 | 
			
		||||
 | 
			
		||||
# Customize the interpreter prompt.
 | 
			
		||||
prompt: >>>
 | 
			
		||||
 | 
			
		||||
# Banner to show on startup.
 | 
			
		||||
banner: Welcome to the GNU Mailman shell
 | 
			
		||||
 | 
			
		||||
# Use IPython as the shell, which must be found on the system.  Valid values
 | 
			
		||||
# are `no`, `yes`, and `debug` where the latter is equivalent to `yes` except
 | 
			
		||||
# that any import errors will be displayed to stderr.
 | 
			
		||||
use_ipython: no
 | 
			
		||||
 | 
			
		||||
# Set this to allow for command line history if readline is available.  This
 | 
			
		||||
# can be as simple as $var_dir/history.py to put the file in the var directory.
 | 
			
		||||
history_file:
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[paths.debian]
 | 
			
		||||
# Important directories for Mailman operation.  These are defined here so that
 | 
			
		||||
# different layouts can be supported.   For example, a developer layout would
 | 
			
		||||
# be different from a FHS layout.  Most paths are based off the var_dir, and
 | 
			
		||||
# often just setting that will do the right thing for all the other paths.
 | 
			
		||||
# You might also have to set spool_dir though.
 | 
			
		||||
#
 | 
			
		||||
# Substitutions are allowed, but must be of the form $var where 'var' names a
 | 
			
		||||
# configuration variable in the paths.* section.  Substitutions are expanded
 | 
			
		||||
# recursively until no more $-variables are present.  Beware of infinite
 | 
			
		||||
# expansion loops!
 | 
			
		||||
#
 | 
			
		||||
# This is the root of the directory structure that Mailman will use to store
 | 
			
		||||
# its run-time data.
 | 
			
		||||
var_dir: /var/lib/mailman3
 | 
			
		||||
# This is where the Mailman queue files directories will be created.
 | 
			
		||||
queue_dir: $var_dir/queue
 | 
			
		||||
# This is the directory containing the Mailman 'runner' and 'master' commands
 | 
			
		||||
# if set to the string '$argv', it will be taken as the directory containing
 | 
			
		||||
# the 'mailman' command.
 | 
			
		||||
bin_dir: /usr/lib/mailman3/bin
 | 
			
		||||
# All list-specific data.
 | 
			
		||||
list_data_dir: $var_dir/lists
 | 
			
		||||
# Directory where log files go.
 | 
			
		||||
log_dir: /var/log/mailman3
 | 
			
		||||
# Directory for system-wide locks.
 | 
			
		||||
lock_dir: $var_dir/locks
 | 
			
		||||
# Directory for system-wide data.
 | 
			
		||||
data_dir: $var_dir/data
 | 
			
		||||
# Cache files.
 | 
			
		||||
cache_dir: $var_dir/cache
 | 
			
		||||
# Directory for configuration files and such.
 | 
			
		||||
etc_dir: /etc/mailman3
 | 
			
		||||
# Directory containing Mailman plugins.
 | 
			
		||||
ext_dir: $var_dir/ext
 | 
			
		||||
# Directory where the default IMessageStore puts its messages.
 | 
			
		||||
messages_dir: $var_dir/messages
 | 
			
		||||
# Directory for archive backends to store their messages in.  Archivers should
 | 
			
		||||
# create a subdirectory in here to store their files.
 | 
			
		||||
archive_dir: $var_dir/archives
 | 
			
		||||
# Root directory for site-specific template override files.
 | 
			
		||||
template_dir: $var_dir/templates
 | 
			
		||||
# There are also a number of paths to specific file locations that can be
 | 
			
		||||
# defined.  For these, the directory containing the file must already exist,
 | 
			
		||||
# or be one of the directories created by Mailman as per above.
 | 
			
		||||
#
 | 
			
		||||
# This is where PID file for the master runner is stored.
 | 
			
		||||
pid_file: /run/mailman3/master.pid
 | 
			
		||||
# Lock file.
 | 
			
		||||
lock_file: $lock_dir/master.lck
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[database]
 | 
			
		||||
# The class implementing the IDatabase.
 | 
			
		||||
#class: mailman.database.sqlite.SQLiteDatabase
 | 
			
		||||
#class: mailman.database.mysql.MySQLDatabase
 | 
			
		||||
class: mailman.database.postgresql.PostgreSQLDatabase
 | 
			
		||||
 | 
			
		||||
# Use this to set the Storm database engine URL.  You generally have one
 | 
			
		||||
# primary database connection for all of Mailman.  List data and most rosters
 | 
			
		||||
# will store their data in this database, although external rosters may access
 | 
			
		||||
# other databases in their own way.  This string supports standard
 | 
			
		||||
# 'configuration' substitutions.
 | 
			
		||||
#url: sqlite:///$DATA_DIR/mailman.db
 | 
			
		||||
#url: mysql+pymysql://mailman3:mmpass@localhost/mailman3?charset=utf8&use_unicode=1
 | 
			
		||||
url: postgres://mailman3:{{ mailman3.database_pass }}@localhost/mailman3
 | 
			
		||||
 | 
			
		||||
debug: no
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[logging.debian]
 | 
			
		||||
# This defines various log settings.  The options available are:
 | 
			
		||||
#
 | 
			
		||||
# - level     -- Overrides the default level; this may be any of the
 | 
			
		||||
#                standard Python logging levels, case insensitive.
 | 
			
		||||
# - format    -- Overrides the default format string
 | 
			
		||||
# - datefmt   -- Overrides the default date format string
 | 
			
		||||
# - path      -- Overrides the default logger path.  This may be a relative
 | 
			
		||||
#                path name, in which case it is relative to Mailman's LOG_DIR,
 | 
			
		||||
#                or it may be an absolute path name.  You cannot change the
 | 
			
		||||
#                handler class that will be used.
 | 
			
		||||
# - propagate -- Boolean specifying whether to propagate log message from this
 | 
			
		||||
#                logger to the root "mailman" logger.  You cannot override
 | 
			
		||||
#                settings for the root logger.
 | 
			
		||||
#
 | 
			
		||||
# In this section, you can define defaults for all loggers, which will be
 | 
			
		||||
# prefixed by 'mailman.'.  Use subsections to override settings for specific
 | 
			
		||||
# loggers.  The names of the available loggers are:
 | 
			
		||||
#
 | 
			
		||||
# - archiver        --  All archiver output
 | 
			
		||||
# - bounce          --  All bounce processing logs go here
 | 
			
		||||
# - config          --  Configuration issues
 | 
			
		||||
# - database        --  Database logging (SQLAlchemy and Alembic)
 | 
			
		||||
# - debug           --  Only used for development
 | 
			
		||||
# - error           --  All exceptions go to this log
 | 
			
		||||
# - fromusenet      --  Information related to the Usenet to Mailman gateway
 | 
			
		||||
# - http            --  Internal wsgi-based web interface
 | 
			
		||||
# - locks           --  Lock state changes
 | 
			
		||||
# - mischief        --  Various types of hostile activity
 | 
			
		||||
# - runner          --  Runner process start/stops
 | 
			
		||||
# - smtp            --  Successful SMTP activity
 | 
			
		||||
# - smtp-failure    --  Unsuccessful SMTP activity
 | 
			
		||||
# - subscribe       --  Information about leaves/joins
 | 
			
		||||
# - vette           --  Message vetting information
 | 
			
		||||
format: %(asctime)s (%(process)d) %(message)s
 | 
			
		||||
datefmt: %b %d %H:%M:%S %Y
 | 
			
		||||
propagate: no
 | 
			
		||||
level: info
 | 
			
		||||
path: mailman.log
 | 
			
		||||
 | 
			
		||||
[webservice]
 | 
			
		||||
# The hostname at which admin web service resources are exposed.
 | 
			
		||||
hostname: localhost
 | 
			
		||||
 | 
			
		||||
# The port at which the admin web service resources are exposed.
 | 
			
		||||
port: 8001
 | 
			
		||||
 | 
			
		||||
# Whether or not requests to the web service are secured through SSL.
 | 
			
		||||
use_https: no
 | 
			
		||||
 | 
			
		||||
# Whether or not to show tracebacks in an HTTP response for a request that
 | 
			
		||||
# raised an exception.
 | 
			
		||||
show_tracebacks: yes
 | 
			
		||||
 | 
			
		||||
# The API version number for the current (highest) API.
 | 
			
		||||
api_version: 3.1
 | 
			
		||||
 | 
			
		||||
# The administrative username.
 | 
			
		||||
admin_user: restadmin
 | 
			
		||||
 | 
			
		||||
# The administrative password.
 | 
			
		||||
admin_pass: {{ mailman3.restadmin_pass }}
 | 
			
		||||
 | 
			
		||||
[mta]
 | 
			
		||||
# The class defining the interface to the incoming mail transport agent.
 | 
			
		||||
#incoming: mailman.mta.exim4.LMTP
 | 
			
		||||
incoming: mailman.mta.postfix.LMTP
 | 
			
		||||
 | 
			
		||||
# The callable implementing delivery to the outgoing mail transport agent.
 | 
			
		||||
# This must accept three arguments, the mailing list, the message, and the
 | 
			
		||||
# message metadata dictionary.
 | 
			
		||||
outgoing: mailman.mta.deliver.deliver
 | 
			
		||||
 | 
			
		||||
# How to connect to the outgoing MTA.  If smtp_user and smtp_pass is given,
 | 
			
		||||
# then Mailman will attempt to log into the MTA when making a new connection.
 | 
			
		||||
smtp_host: localhost
 | 
			
		||||
smtp_port: 25
 | 
			
		||||
smtp_user:
 | 
			
		||||
smtp_pass:
 | 
			
		||||
 | 
			
		||||
# Where the LMTP server listens for connections.  Use 127.0.0.1 instead of
 | 
			
		||||
# localhost for Postfix integration, because Postfix only consults DNS
 | 
			
		||||
# (e.g. not /etc/hosts).
 | 
			
		||||
lmtp_host: 127.0.0.1
 | 
			
		||||
lmtp_port: 8024
 | 
			
		||||
 | 
			
		||||
# Where can we find the mail server specific configuration file?  The path can
 | 
			
		||||
# be either a file system path or a Python import path.  If the value starts
 | 
			
		||||
# with python: then it is a Python import path, otherwise it is a file system
 | 
			
		||||
# path.  File system paths must be absolute since no guarantees are made about
 | 
			
		||||
# the current working directory.  Python paths should not include the trailing
 | 
			
		||||
# .cfg, which the file must end with.
 | 
			
		||||
#configuration: python:mailman.config.exim4
 | 
			
		||||
configuration: python:mailman.config.postfix
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue