installation support requested
Last week, @msapiro suggested I subscribe to the email list for support questions, but my attempts to do so never produced a verification email. So please tolerate this request here.
He also urged me to give up on third party recipes for a debian bookworm package based installation, pointing me instead to this documentation maintained by the upstream developers: https://docs.mailman3.org/en/latest/install/virtualenv.html
Having been frustrated by previous attempts to use the puppet module for this purpose published to the forge, and unfamiliar with how faithful it might be to the current guidance linked in the previous paragraph, I've been building a new puppet module to manage this process for me; as well as a serverspec test suite to validate the installation.
This represents the failing tests at this point in the process:
Failures:
1) Dockerfile File "/etc/mailman3/mailman.cfg" is expected to contain "url: sqlite:///$DATA_DIR--FIX_ME/lists.mydomain.com--mm3.db"
On host `lists02.mydomain.com'
Failure/Error: it { should contain("#{mm3_mailman_cfg_config}") }
expected File "/etc/mailman3/mailman.cfg" to contain "url: sqlite:///$DATA_DIR--FIX_ME/lists.mydomain.com--mm3.db"
/bin/sh -c grep\ -qs\ --\ url:\\\ sqlite:///\\\$DATA_DIR--FIX_ME/lists.mydomain.com--mm3.db\ /etc/mailman3/mailman.cfg\ \|\|\ grep\ -qFs\ --\ url:\\\ sqlite:///\\\$DATA_DIR--FIX_ME/lists.mydomain.com--mm3.db\ /etc/mailman3/mailman.cfg
# ./spec/lists02.mydomain.com/sample_spec.rb:167:in `block (4 levels) in <top (required)>'
2) Dockerfile File "/etc/mailman3/uwsgi.ini" is expected to contain "virtualenv = /opt/mailman/venv/"
On host `lists02.mydomain.com'
Failure/Error: it { should contain("#{mm3_uwsgi_ini_config}") }
expected File "/etc/mailman3/uwsgi.ini" to contain "virtualenv = /opt/mailman/venv/"
/bin/sh -c grep\ -qs\ --\ virtualenv\\\ \\\=\\\ /opt/mailman/venv/\ /etc/mailman3/uwsgi.ini\ \|\|\ grep\ -qFs\ --\ virtualenv\\\ \\\=\\\ /opt/mailman/venv/\ /etc/mailman3/uwsgi.ini
# ./spec/lists02.mydomain.com/sample_spec.rb:187:in `block (4 levels) in <top (required)>'
Finished in 15.7 seconds (files took 0.66358 seconds to load)
72 examples, 2 failures
My questions include:
-
the template for /etc/mailman3/mailman.cfg, defines vardir, but no DATA_DIR. See test failure #1 (closed), above. Where does that want to be? Any issue with putting the mm3.db next to the mm3_web.db at /opt/mailman/mm/var/data?
-
there are two possible virtualenv's in my build: (a) /opt/mailman/venv/ and (b) /opt/mailman/.pyenv/. I say more about these below. Which do I want to use in this instance? I'm guessing the latter where the mailman3 libraries are published, but have doubts. The link above urges a dependency on python ^3.11, but bookworm provides only python 3.8, so I used pyenv to satisfy the requirement. It wanted to deploy to its own path, though perhaps there is some switch which would consolidate everything under
/opt/mailman/venv/
. I do not work with python enough to know. -
attempts to run
bin/mailman-web startapp mm3web
fail to add any new processes to the process list.bin/mailman-web start
fail with errors. What change of state to the server should I expect from running this command? How do I test for success? -
having run the command in the previous point, I see nothing in the browser except for the apache starter page at the root path '/'. None of the paths defined in the apache2 configuration seem to offer any joy. I assume that uwsgi wants to proxy the requests to a running mailman-web service somehow, but that no such service is found. I see one hopeful line in the log at:
/opt/mailman/mm/var/logs/mailman.log
"GET /3.1/lists?count=10&page=1 HTTP/1.1" 200 90 "-" "GNU Mailman REST client v3.3.5"
- I assume that once I get apache2 wired to a running application through the uwsgi proxy, that I can proceed to create an admin user, use it to explore the web gui, and begin to consider how to migrate my legacy mm2.1 lists into the new installation.
Any further help crossing the finish line would be appreciated.
Thanks, -- Hugh
tree -d -L 3 /opt/mailman/.pyenv/
/opt/mailman/.pyenv/
├── bin
├── completions
├── libexec
├── man
│ └── man1
├── plugins
│ ├── pyenv-doctor
│ │ └── bin
│ ├── pyenv-update
│ │ ├── bin
│ │ └── test
│ ├── pyenv-virtualenv
│ │ ├── bin
│ │ ├── etc
│ │ ├── libexec
│ │ ├── shims
│ │ └── test
│ └── python-build
│ ├── bin
│ ├── scripts
│ ├── share
│ └── test
├── pyenv.d
│ ├── exec
│ │ └── pip-rehash
│ ├── install
│ └── rehash
│ ├── conda.d
│ └── source.d
├── shims
├── src
├── test
│ └── libexec
└── versions
└── 3.11.8
├── bin
├── include
├── lib
└── share
39 directories
# tree -d -L 4 /opt/mailman/venv/
/opt/mailman/venv/
├── bin
├── include
├── lib
│ └── python3.8
│ └── site-packages
│ ├── pip
│ ├── pip-20.0.2.dist-info
│ ├── pkg_resources
│ ├── pkg_resources-0.0.0.dist-info
│ ├── __pycache__
│ ├── setuptools
│ └── setuptools-44.0.0.dist-info
├── lib64 -> lib
└── share
└── python-wheels