Am 2026-08-10 15:13, schrieb Stephen J. Turnbull:
Torsten writes:

 > >> I have just nearly finished the migration of Mailman 3 from
 > >> Debian packages to venv and mailman (master and runner) is up
 > >> and running and uwsgi is also up and running.

It looks like you are trying to use the configuration files from
Debian with minimal or no changes.

If I were you I would

1.  rsync -av /etc/mailman3 /tmp/    # if you don't have rsync, "cp -r"
2.  purge (not just uninstall) all the Debian mailman packages
    this should delete a lot of the stuff you just copied to /tmp
3.  copy the configuration from Mailman's virtualenv install
    instructions into /etc/mailman3
4.  diff -r /etc/mailman3 /tmp/mailman3
5.  make only essential changes you see in that diff (eg,
    /opt/mailman/mm/var/web to /var/lib/mailman3/web), and see if
    things work better
6.  if things still don't work, make more adjustments.

Steve

Yes, that was my intention. But now I started from scratch, following the documentation about Virtualenv installation at mailman3.org and also created the config files with the defaults shown there (with a few adjustments to match my installation).

Now, I have everything running as user mailman (had user list before for mailman-core and www-data for mailman-web).

And the tracebacks have changed:

mailman throws this one:

2026-08-10 16:11:20 [FALCON] [ERROR] GET /3.1/lists?advertised=true&count=0&page=1 => Traceback (most recent call last): File "/opt/mailman/venv/lib/python3.13/site-packages/falcon/app.py", line 476, in __call__
    process_resource(req, resp, resource, params)
    ~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.13/site-packages/mailman/rest/wsgiapp.py", line 65, in process_resource
    raise HTTPUnauthorized(
          ~~~~~~~~~~~~~~~~^
        '401 Unauthorized',
        ^^^^^^^^^^^^^^^^^^^
        'REST API authorization failed',
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        challenges=[realm])
        ^^^^^^^^^^^^^^^^^^^
TypeError: HTTPUnauthorized.__init__() takes 1 positional argument but 3 positional arguments (and 1 keyword-only argument) were given

[10/Aug/2026:16:11:20 +0200] "GET /3.1/lists?advertised=true&count=0&page=1 HTTP/1.1" 500 38 "-" "GNU Mailman REST client v3.3.5"

and mailman-web this one:

ERROR 2026-08-10 14:11:20,011 1557501 postorius Un-handled exception: HTTP Error 500: {"title": "500 Internal Server Error"}
Traceback (most recent call last):
File "/opt/mailman/venv/lib/python3.13/site-packages/django/core/handlers/base.py", line 197, in _get_response response = wrapped_callback(request, *callback_args, **callback_kwargs) File "/opt/mailman/venv/lib/python3.13/site-packages/postorius/views/list.py", line 1141, in list_index
    lists = paginate(
        _get_list_page,
    ...<2 lines>...
        paginator_class=MailmanPaginator,
    )
File "/opt/mailman/venv/lib/python3.13/site-packages/django_mailman3/lib/paginator.py", line 71, in paginate
    objects = paginator.page(page_num)
File "/opt/mailman/venv/lib/python3.13/site-packages/django_mailman3/lib/paginator.py", line 46, in page
    number = self.validate_number(number)
File "/opt/mailman/venv/lib/python3.13/site-packages/django/core/paginator.py", line 53, in validate_number
    if number > self.num_pages:
                ^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.13/site-packages/django/utils/functional.py", line 57, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ~~~~~~~~~^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.13/site-packages/django/core/paginator.py", line 99, in num_pages
    if self.count == 0 and not self.allow_empty_first_page:
       ^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.13/site-packages/django/utils/functional.py", line 57, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
                                         ~~~~~~~~~^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.13/site-packages/django_mailman3/lib/paginator.py", line 56, in count
    return self.function(count=0, page=1).total_size
           ~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.13/site-packages/postorius/views/list.py", line 1137, in _get_list_page
    return client.get_list_page(
           ~~~~~~~~~~~~~~~~~~~~^
advertised=advertised, mail_host=mail_host, count=count, page=page ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    )
    ^
File "/opt/mailman/venv/lib/python3.13/site-packages/mailmanclient/client.py", line 211, in get_list_page
    return Page(self._connection, url, MailingList, count, page)
File "/opt/mailman/venv/lib/python3.13/site-packages/mailmanclient/restbase/page.py", line 37, in __init__
    self._create_page()
    ~~~~~~~~~~~~~~~~~^^
File "/opt/mailman/venv/lib/python3.13/site-packages/mailmanclient/restbase/page.py", line 62, in _create_page
    response, content = self._connection.call(self._build_url())
                        ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^
File "/opt/mailman/venv/lib/python3.13/site-packages/mailmanclient/restbase/connection.py", line 160, in call
    raise HTTPError(params.get('url'), response.status_code,
                    error_msg, response, None)
urllib.error.HTTPError: HTTP Error 500: {"title": "500 Internal Server Error"} ERROR 2026-08-10 14:11:20,041 1557501 django.request Internal Server Error: /mailman3/lists/ ERROR 2026-08-10 14:11:20,041 1557501 django.request Internal Server Error: /mailman3/lists/

I have taken the old database from the Debian configuration and moved it to /opt/mailman... where it should belong (I hope).
_______________________________________________
Mailman-users mailing list -- [email protected]
To unsubscribe send an email to [email protected]
https://lists.mailman3.org/mailman3/lists/mailman-users.mailman3.org/
Archived at: 
https://lists.mailman3.org/archives/list/[email protected]/message/4RMHY5M6HBLCCIPU47KRJVAUP4FD2Z43/

This message sent to [email protected]

Reply via email to