/hyperkitty/list/ shows "example.com" / mailman3 archives not updated
/hyperkitty/list/ shows "example.com". Not the actual domain name that I configured. How can I fix this?
I would not mind too much about hyperkitty showing "example.com". But the more important issue is that mailman3 archives are not updated. Therefore I guess it's a symptom of a more important issue. E-mails to the list are delivered to e-mail subscribers, though. Seems only the web part is broken.
Using Debian buster mailman3 packages. In configuration folder /etc/mailman3 I cannot find any textual string saying "example.com".
(grep -r -i example /etc/mailman3
)
Therefore I don't know where mailman3 gets "example.com" from.
Could be broken linux file/folder access rights? Any way to debug?
Kind regards, Patrick
On 5/17/20 6:05 AM, patrick-mailinglists@whonix.org wrote:
/hyperkitty/list/ shows "example.com". Not the actual domain name that I configured. How can I fix this?
Ensure that your actual domain is listed in the Django admin interface under Sites.
Then ensure that your SITE_ID setting in your Django settings is correct. This is tricky because the site id might not be what you expect. You have to look in your database at the django_site table[1]. This table contains one row per site with columns id, domain and name, and the id values don't necessarily match what you'd think from looking at Sites in the Django admin interface.
I would not mind too much about hyperkitty showing "example.com". But the more important issue is that mailman3 archives are not updated. Therefore I guess it's a symptom of a more important issue.
I doubt that these things are related.
E-mails to the list are delivered to e-mail subscribers, though. Seems only the web part is broken.
What's in Mailman's log (var/logs/mailman.log) and are the messages all queued in var/archivers/hyperkitty/spool? If so, mailman-hyperkitty can't communicate with hyperkitty. Ensure that the settings in mailman-hyperkitty.cfg are correct. base_url: needs to be a URL that can access hyperkitty and api_key needs to match the MAILMAN_ARCHIVER_KEY setting in your Django settings except that it's quoted in the Django settings and not in mailman-hyperkitty.cfg.
Using Debian buster mailman3 packages. In configuration folder /etc/mailman3 I cannot find any textual string saying "example.com". (
grep -r -i example /etc/mailman3
) Therefore I don't know where mailman3 gets "example.com" from.
Please see <https://wiki.list.org/x/12812344>
[1] other ways to get this are a) increment the SITE_ID setting until you find the one that works or b) in a django admin shell do
from django.contrib.sites.models import Site for site in Site.objects.all(): print('id: {}, name: {}, domain: {}'.format( site.id, site.name, site.domain))
-- Mark Sapiro <mark@msapiro.net> The highway is for gamblers, San Francisco Bay Area, California better use your sense - B. Dylan
Thank you for your help! The issue is now resolved. Below are some notes on how I resolved it. Hopefully it can be useful for someone having a similar issue.
Django administration https://mailman.mydomain.org/admin/
had correct Mail domain
but Site
was still set to example.com
. Fixed this, but I would speculate that was only "cosmetic".
Folder /var/lib/mailman3/archives/hyperkitty/spool/
was empty.
/etc/mailman3/mailman-hyperkitty.cfg
did not contain correct api_key indeed. Fixed that.
/var/log/mailman3/mailman.log
contained:
HyperKitty failure on https://mailman.mydomain.org/hyperkitty/api/mailman/urls: <html><title>Forbidden</title><body>
/var/log/mailman3/web/mailman-web.log
contained:
hyperkitty.views.mailman Access to the archiving API endpoint was forbidden from IP xx.xx.xx.xx, your MAILMAN_ARCHIVER_FROM setting may be misconfigured
xx.xx.xx.xx
was the server's real external IP.
Reading https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/L... inspired to consider if mailman might be trying to access localhost while nginx is actually redirecting all traffic to https. Looked at file /etc/hosts
.
It contained (vserver default):
xx.xx.xx.xx mydomain.org
Therefore I decided to add:
127.0.0.1 mailman.mydomain.org
which resolved above error message.
By the way, previously hyperkitty web archive was functional. I dunno why it broke after a while. (Despite having none of above fixes.)
Configuration file /etc/mailman3/mailman-web.py
previously contained
MAILMAN_ARCHIVER_FROM = ('127.0.0.1', '::1', 'https://mailman.mydomain.org')
Perhaps something went wrong with DNS resolution.
I might have had success with adding the server's IP to MAILMAN_ARCHIVER_FROM
but I decided against hardcoding. This is difficult to remember when server IP might change in a few years and also might be more secure if the roundtrip isn't needed. Now it is just:
MAILMAN_ARCHIVER_FROM = ('127.0.0.1')
participants (2)
-
Mark Sapiro
-
patrick-mailinglists@whonix.org