User Tools

Site Tools


replace_mailman_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
replace_mailman_2 [2025/01/08 19:30]
SLUUG Administration Added Planning section and below
replace_mailman_2 [2025/02/06 21:48] (current)
SLUUG Administration Progress update
Line 174: Line 174:
   * The installation also created sym links in "/​etc/​apache2/​mods-enabled/"​ to existing files in "​../​mods-available/"​ for 3 "​proxy*"​.   * The installation also created sym links in "/​etc/​apache2/​mods-enabled/"​ to existing files in "​../​mods-available/"​ for 3 "​proxy*"​.
   * So this is already done.   * So this is already done.
- 
-__**Everything below has not been tested yet and is for planning**__ 
  
 ==== Change other settings in /etc/ files not configured by "​debconf"​. ==== ==== Change other settings in /etc/ files not configured by "​debconf"​. ====
Line 182: Line 180:
  
   * Change "​TIME_ZONE"​ from "​UTC"​ to "​America/​Chicago"​   * Change "​TIME_ZONE"​ from "​UTC"​ to "​America/​Chicago"​
-  * Also reference ​"/​usr/​share/​mailman3-web/​settings.py"​.+  * Also review ​"/​usr/​share/​mailman3-web/​settings.py" ​for other settings.
  
 === Edit "/​etc/​mailman3/​mailman.cfg":​ === === Edit "/​etc/​mailman3/​mailman.cfg":​ ===
  
-  * Change "​site_owner"​ from "​changeme@example.com"​ to TBD.+  * Change "​site_owner"​ from "​changeme@example.com"​ to the same used above for "​Postorius superuser"​.
  
 === Update Mailman config for required HTTPS: === === Update Mailman config for required HTTPS: ===
  
-  * mailman-hyperkitty.cfg:​ "​base_url"​ +  * mailman-hyperkitty.cfg:​ "​base_url" ​- no change, since "​localhost"​. 
-  * mailman-web.py:​ "​POSTORIUS_TEMPLATE_BASE_URL"​ +  * mailman-web.py:​ "​POSTORIUS_TEMPLATE_BASE_URL" ​- no change, since "​localhost"​. 
-  * mailman.cfg"​ "​use_https"​+  * mailman.cfg"​ "​use_https" ​- leave at "​no",​ this is for internal use?
  
 === Update logrotate configuration === === Update logrotate configuration ===
  
-  ​Longer log retention+Update "/​etc/​logrotate.conf"​ to add before the "​include"​ line: 
-  Switch ​to multiple log files?+<​code>​ 
 +tabooext + .bak .off .out .save 
 +taboopat + *[-.][0-9][0-9][0-9][0-9][0-9][0-9] 
 +taboopat + *[-.][0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] 
 +</​code>​ 
 + 
 +Update "/​etc/​logrotate.d"​ files "​mailman3"​ and "​mailman3-web" ​to use 
 +monthly rotation, longer retention, file name format, permissions,​ etc, 
 +Also using a wild card for multiple log files
 + 
 +Update "/​etc/​mailman3/​mailman.cfg"​ to add some separate log files, to match 
 +some in Mailman 2.  After the "​[logging.debian]"​ section, add new subsections:​ 
 +<​code>​ 
 +[logging.bounce] 
 +path: bounce.log 
 +propagate: yes 
 +[logging.vette] 
 +path: vette.log 
 +[logging.mischief] 
 +path: mischief.log 
 +[logging.subscribe] 
 +path: subscribe.log 
 +[logging.error] 
 +path: error.log 
 +propagate: yes 
 +[logging.archiver] 
 +path: archiver.log 
 +</​code>​ 
 + 
 +Restart both "​mailman"​ and "​mailman-web"​. 
 +Change existing logs to make readable.
  
 ====== Additional configuration and testing ====== ====== Additional configuration and testing ======
Line 204: Line 232:
  
 <​code>​ <​code>​
-mailman create --language no --owner postmaster@___ -no-notify ____@lists.__+"mailman-wrapper ​create --language no --owner postmaster@___ -no-notify ____@lists.__
 </​code>​ </​code>​
 +
 +Set the list description via "​Django site admin"​.
  
 Verify Postfix hashes are accessible and automatically populated. Verify Postfix hashes are accessible and automatically populated.
Line 212: Line 242:
  
 Test posting. Test posting.
- 
-  * ASCII postings are delivered and archived as plain text ASCII. ​ Not converted to "​quoted-printable"​ or "​base64"​. 
-  * Can footers be added without this happening? 
  
 Test archives. Test archives.
 +
 +Do archives hide the address of the poster? ​ No.
 +
 +=== Encoding of postings ===
 +
 +The acceptable operation is that
 +ASCII postings are delivered and archived as plain text ASCII.
 +Not converted to "​quoted-printable"​ or "​base64"​.
 +As discovered with Mailman 2, when the default footers are added,
 +the charset is "​utf-8",​ and the Content-Transfer-Encoding:​ is "​base64"​.
 +There might also be a concern with added content breaking DKIM signatures.
 +
 +<​code>​
 +mkdir -p /​var/​lib/​mailman3/​templates/​site/​en/​
 +touch    /​var/​lib/​mailman3/​templates/​site/​en/​list:​member:​generic:​footer.txt
 +chown -R list:list /​var/​lib/​mailman3/​templates/​site/​
 +</​code>​
 +
 +This worked, and the postings are now delivered without being converted.
 +
 +Or do it via the web interface at URL
 +.../​mailman3/​postorius/​lists/​testmm3.bock2.sluug.org/​templates
 +That saves it in the database instead of as a file.
 +Always use one or the other, don't mix them.
 +This is only for templates of things added to mail, not changing web pages.
 +Since this change was done for Mailman 2 via the "​config_list"​ command to
 +update each list in their database, the same should be done for Mailman 3.
 +It should be done this way for existing lists when they are imported.
 +
 +What about "​list:​member:​digest:​footer"​ for a digest message?
 +In the directory of template files, there is no separate
 +footer for regular and digest, only "​generic:​footer"​.
 +In the web pages for creating templates, there is no "​generic:​footer",​ but
 +there are "​regular:​footer"​ and "​digest:​footer"​.
 +
 +==== Change example.com again ====
 +
 +Many places are still referring to "​example.com"​.
 +  * "​Subject:​ [example.com]"​
 +  * "... account on example.com."​
 +  * "Thank you for using example.com!"​
 +
 +This is in database "​mm3webdb"​ table "​django_site"​.
 +Change by logging in to the web site as admin and going to URL
 +"​.../​mailman3/​admin/​sites/​site/​1/​change/"​.
 +Change the "​Domain name" value to "​sluug.org"​ and the
 +"​Display name" value to "SLUUG mailing lists"​.
 +
 +__**Everything below has not been tested yet and is for planning**__
 +
  
 ==== Test import of an existing test list ==== ==== Test import of an existing test list ====
Line 233: Line 310:
  
 Protect archives from address scraping and secure private lists. Protect archives from address scraping and secure private lists.
 +The protection method used for Mailman 2 doesn'​t apply to Mailman 3.
 +Instead, make the list archive private, forcing subscribers (Or owners
 +and moderators) to log in with their personal credentials to see the archive.
 +This means there is no configuration at this time, unless ​
 +we decide to make all archives public, and use the old protection method.
  
 Test new configuration options and enhancements to make now. Test new configuration options and enhancements to make now.
 Especially any global options that could impact all production lists. Especially any global options that could impact all production lists.
  
 +TBD:
   * "​header_checks"​ are now global?   * "​header_checks"​ are now global?
   * "​[dmarc]"​ and/or "​[ARC]"​.   * "​[dmarc]"​ and/or "​[ARC]"​.
  
 ====== Import Mailman 2 lists ====== ====== Import Mailman 2 lists ======
 +
 +For each list:
 +<​code>​
 +mailman-wrapper import21 ...
 +sudo -u www-data /​usr/​share/​mailman3-web/​manage.py hyperkitty_import ...
 +sudo -u www-data /​usr/​share/​mailman3-web/​manage.py update_index_one_list ...
 +</​code>​
 +
 +Check all configuration web pages on the old and new systems,
 +to make sure no options, settings, or values were lost.
 +
 +Test ...
  
 ====== Other changes to make later ====== ====== Other changes to make later ======
Line 247: Line 342:
  
 Delete or deflate HTML postings and delete attachments on all lists. Delete or deflate HTML postings and delete attachments on all lists.
 +The "​Collapse alternatives"​ and "​Convert html to plaintext"​ otpions.
  
 ====== Cleanup for deletion of Mailman 2 ====== ====== Cleanup for deletion of Mailman 2 ======
 +
 +====== Administration ======
 +
 +===== Command line =====
 +
 +Never use the "​mailman"​ command,
 +only "​mailman-wrapper"​ that runs as user "​list"​.
 +
 +"​mailman-web"​ - ?
 +
 +"​django-admin"​ - ?
 +
 +===== URLs =====
 +
 +==== URLs for general users ====
 +
 +  * https://​HOSTNAME/​mailman3 ​    / - General list access and user login. ​ What should be announced to humans.
 +  * https://​HOSTNAME/​mailman3/​postorius/​lists/​ - What just specifying "​mailman3"​ redirects to.  What should be used in links from the main web site.
 +
 +==== Alternate URLs to ignore ====
 +
 +  * https://​HOSTNAME/​mailman3/​hyperkitty/​ - long list of "​Available lists",​ with "Sign In" for regular list members.
 +  * https://​HOSTNAME/​mailman3/​postorius/​ - short list of "​Mailing Lists"​.
 +  * https://​HOSTNAME/​mailman3/​postorius/​lists/​ - the same as just "​postorius/"​.
 +
 +==== URLs for Administration ====
 +
 +  * https://​HOSTNAME/​mailman3/​admin/​ - Administration login, only "for a staff account"​.
 +  * https://​HOSTNAME/​mailman3/​LISTNAME.HOSTNAME/​ - Access private lists not published on the index of lists. ​ You will still have to log in or directly subscribe to do anything more than see the list description.
 +  * https://​HOSTNAME/​mailman3/​hyperkitty/​list/​LISTNAME@HOSTNAME/​ - Access private archives. ​ You will still have to log in to see the private archive.
 +
 +You can use the general URL for lists, then login and you will see private
 +"lists that you are owner, moderator or subscriber for".
 +
 +==== Usage notes ====
 +
 +Trying to log into the general URL with the admin account might fail with a
 +500 error.
 +  * Logging into the general URL with your personal accout/​password used for list subscription doesn'​t give access to list administration,​ only changing your account and relationships to lists.
 +  * If you are the bbbThis is even if your account is the list owner.
 +  * Use this with your personal credentials to login and control "lists that you are owner, moderator or subscriber for".
 +
 +Use the admin URL, then log in, then either select
 +  * "​Mailing lists" under the "​HyperKitty",​ then a list to change description,​ etc.
 +  * "View site" in the heading,
 +    * "​Mailman settings"​ to change subscription settings for this address.
 +    * A list to change "List Settings",​ handle pending actions, etc.
 +
 +Watch for the logout confirmation web page.
 +
replace_mailman_2.txt · Last modified: 2025/02/06 21:48 by SLUUG Administration