 
            On 10/19/2025 2:42 AM, Stephen J. Turnbull wrote:
Dennis Putnam via Mailman-users writes:
Thanks for the info. I thought I had followed everything but I an unable to start mailman3 because all the expected directories in /var are missing. What steps did I miss?
If you are setting up according to the virtual environment instructions, Mailman shouldn't be looking for anything in /var that you didn't explicitly configure to be there.
With the venv active, try running just "mailman info". If that succeeds and reports something other than /etc/mailman3/mailman.cfg, then check the file it reports for "layout" and "var_dir" settings, and remove the var_dir hierachy because it's just confusing. Then run
mailman -C /etc/mailman3/mailman.cfg infoIf that succeeds, try starting Mailman with
mailman -f -C /etc/mailman3/mailman.cfg startThe "-f" is short for "--force" and it just cleans up any stale lock files that might prevent Mailman from starting. (We now recommend using it in the init script or systemd unit file ExecStart command.)
If either of those fails, or Mailman starts but "doesn't work", look in the logs (systemctl status, journalctl -eu, and $var_dir/logs/mailman.log for error messages, and send those along with /etc/mailman3/mailman.cfg to us. In the case of "doesn't work", tell us what you mean by "doesn't work": Mailman doesn't accept mail, Mailman crashes, Mailman doesn't send mail, etc.
Hi Steve,
Thanks again. I think I found the problem. When I created the mailman.cfg file, for some reason everything was commented out. After saving I didn't bother to look at it. My bad. I then went though and uncommented as appropriate however I have one problem. I don't know what to do with this section for MySQL.
[database] class: mailman.database.postgresql.PostgreSQLDatabase url: postgresql://mailman:MYPASSWORD@localhost/mailman
Just as an FYI here is my full mailman.cfg:
# /etc/mailman3/mailman.cfg [paths.here] var_dir: /opt/mailman/mm/var
[mailman] layout: here # # 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: xxxxxx@ddddddddddd
[database] class: mailman.database.postgresql.PostgreSQLDatabase url: postgresql://mailman:MYPASSWORD@localhost/mailman
[archiver.prototype] enable: yes
# # For the HyperKitty archiver. [archiver.hyperkitty] class: mailman_hyperkitty.Archiver enable: yes configuration: /etc/mailman3/mailman-hyperkitty.cfg
[shell] history_file: $var_dir/history.py
[mta] verp_confirmations: yes verp_personalized_deliveries: yes verp_delivery_interval: 1