Stephen J. Turnbull writes
What does "is broken" mean here? Well, since I have debug on, GET "http://127.0.0.1:4386/accounts"
This isn't going to match as far as I can see (but see comments below about customized systems).
I found the line
ProxyPass "/accounts" "http://127.0.0.1:8000/accounts"
in the doc at
https://docs.mailman3.org/en/latest/install/virtualenv.html
All I did is change the port.
Here are the routes stock Postorius serves from postorius/urls.py:
r'^accounts/subscriptions/$', r'^accounts/per-address-preferences/$', r'^accounts/per-subscription-preferences/$', r'^accounts/mailmansettings/$', r'^accounts/list-options/(?P<member_id>[^/]+)/$',(Note: I usually copy that file to /etc/mailman3/urls.py in case I make changes. In particular I usually comment out the ^postorius and ^hyperkitty routes.)
I much doubt I changed that file
(venv) mailman@darni:/usr/local/mailman/venv/lib/python3.13/site-packages/postorius$ ls -l urls.py -rw-rw-r-- 1 mailman mailman 8623 Mar 18 08:25 urls.py (venv) mailman@darni:/usr/local/mailman/venv/lib/python3.13/site-packages/postorius$ md5sum urls.py 19b266d9ddec888c2614ea4915c52d68 urls.py
This should be the version that came with the package.
But in your case, I don't know what's in
| Using the URLconf defined in <code>mailman_web.urls</code>,
You have to tell us what's in that file.
I don't seem to have a file by that name
root@darni ~ # find / -name mailman_web.urls find: ‘/proc/2166017’: No such file or directory root@darni ~ #
That has nothing to do with URL routing. URL routing is all defined in the URLconf, which is usually in a file named "urls.py", but you can change that name and mess with the routes if you want. It seems that you did.
I have no recollection of that. I would not even know where to start, since I am clueless about django, and so will be most folks who try to get this to run.
but you have a customized system.
I am trying to minimize customization, to try to finish this job which now in the third week. What did is use /usr/local instead of /opt. I use 4336 as the port. I use exim as the mailer and that works. I run on debian testing, but downgraded python to 3.13.
What's in those logs that's relevant to your queries?
I don't think this is relevant as the issue is clear. The logs are
Let's try to go back to first principles
http://127.0.0.1:8000/accounts
should respond without a debugging message, since the documenation references that locatin
That route doesn't exist anywhere in stock Postorius. It seems to be provided by the allauth package (allauth/account/urls.py, but I'm not sure how that gets added to the URLconf. Presumably that's from some app or middleware that you should have configured in settings.py.
ok, here is my settings.py, passwords replaced by ???
| # Mailman Web configuration file.
| # /etc/mailman3/settings.py
|
| # Get the default settings.
| from mailman_web.settings.base import *
| from mailman_web.settings.mailman import *
|
| DEBUG = True
|
| ## to avoid problem determenning the ip address
| USE_X_FORWARDED_HOST = True
| SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')
| FORWARD_ALLOW_IPS = ['127.0.0.1', '95.216.35.87', '2a01:4f9:2a:23a8::2']
|
| # Settings below supplement or override the defaults.
|
| #: Default list of admins who receive the emails from error logging.
| ADMINS = (
| ('Mailman Suite Admin', 'root@localhost'),
| )
|
| # Postgresql database setup.
| DATABASES = {
| 'default': {
| 'ENGINE': 'django.db.backends.postgresql_psycopg2',
| 'NAME': 'mailmanweb',
| 'USER': 'mailman',
| # TODO: Replace this with the password.
| 'PASSWORD': '??????',
| 'HOST': 'localhost',
| 'PORT': '5432',
| # For MySQL/MariaDB, in addition to changing the 'ENGINE' setting,
| # uncomment the following to enable utf8 4-byte encodings.
| # 'OPTIONS': {'charset': 'utf8mb4'},
| }
| }
|
| # 'collectstatic' command will copy all the static files here.
| # Alias this location from your webserver to /static
| STATIC_ROOT = '/usr/local/mailman/web/static'
|
| # enable the 'compress' command.
| COMPRESS_ENABLED = True
|
| # Make sure that this directory is created or Django will fail on start.
| LOGGING['handlers']['file']['filename'] = '/usr/local/mailman/web/logs/mailmanweb.log'
|
| #: See https://docs.djangoproject.com/en/dev/ref/settings/#allowed-hosts
| ALLOWED_HOSTS = [
| "localhost", # Archiving API from Mailman, keep it.
| "127.0.0.1",
| "lists.repec.info",
| "list.repec.info",
| "www.lists.repec.info",
| "www.list.repec.info",
| # Add here all production domains you have.
| ]
|
| #: See https://docs.djangoproject.com/en/dev/ref/settings/#csrf-trusted-origins
| #: For Django <4.0 these are of the form 'lists.example.com' or
| #: '.example.com' to include subdomains and for Django >=4.0 they include
| #: the scheme as in 'https://lists.example.com' or 'https://*.example.com'.
| CSRF_TRUSTED_ORIGINS = [
| "https://darni.openlib.org", "http://darni.openlib.org",
| "https://lists.repec.info", "http://lists.repec.info",
| "https://www.lists.repec.info", "http://www.lists.repec.info",
| "https://list.repec.info", "http://list.repec.info",
| "https://www.list.repec.info", "http://www.list.repec.info"
| # Add here all production domains you have.
| ]
|
| #: Current Django Site being served. This is used to customize the web host
| #: being used to serve the current website. For more details about Django
| #: site, see: https://docs.djangoproject.com/en/dev/ref/contrib/sites/
| SITE_ID = 1
|
| # Set this to a new secret value.
| SECRET_KEY = '??????'
|
| # Set this to match the api_key setting in
| # /usr/local/mailman/mm/mailman-hyperkitty.cfg (quoted here, not there).
| MAILMAN_ARCHIVER_KEY = '??????'
|
| # The sender of emails from Django such as address confirmation requests.
| # Set this to a valid email address.
| DEFAULT_FROM_EMAIL = 'admin@repec.info'
|
| # The sender of error messages from Django. Set this to a valid email
| # address.
| SERVER_EMAIL = 'admin@repec.info'
|
| HAYSTACK_CONNECTIONS = {
| 'default': {
| 'PATH': "/usr/local/mailman/web/xapian_index",
| 'ENGINE': 'xapian_backend.XapianEngine'
| },
| }
|
| # Settings below supplement or override the defaults.
| # see https://lists.mailman3.org/archives/list/mailman-users@mailman3.org/thread/U...
| del ACCOUNT_AUTHENTICATION_METHOD
| ACCOUNT_LOGIN_METHODS = {'email', 'username'}
| del ACCOUNT_EMAIL_REQUIRED
| ACCOUNT_SIGNUP_FIELDS = ['email*', 'username*', 'password1*', 'password2*']
I don't see any added middleware there.
(venv) mailman@darni:/usr/local/mailman/venv/lib/python3.13/site-packages$ ls -l allauth/account/urls.py -rw-rw-r-- 1 mailman mailman 4149 Mar 18 08:25 allauth/account/urls.py (venv) mailman@darni:/usr/local/mailman/venv/lib/python3.13/site-packages$ md5sum allauth/account/urls.py af478f57c86b628a17542307134b827b allauth/account/urls.py
appears to be what it come when I pip installed.
These have no CSS, pointing to an apache missconfiguration
There's no linking element in the output you presented. Without a link to the CSS file (or immediate style="..." attributes), there won't be any CSS.
Sure.
That looks OK to me. I don't see a misconfiguration there, but you have a customized system. We'll help you with it if we can, but you need to provide the information we need.
| LogLevel debug | ErrorLog /var/log/apache2/lists.repec.info_error.log | | CustomLog /var/log/apache2/lists.repec.info_access.log combined | ServerSignature On
What's in those logs that's relevant to your queries?
I doubt this is any good because fundamentally, the queries to
http://127.0.0.1:8000/accounts
using 8000 here to illustrate don't work. The URL should reponds other that with a debug output.
I have tried to start with a clean sheet on this server, and published on the lists what I did to wipe the server of any attempt I previously made to install mailman3 there.
I am not sure where to dig more, will take a few hours of timeout from this.
Thanks and cheers!
Written by Thomas Krichel http://openlib.org/home/krichel on his 22210th day.