Hi Graham,
you're right. Here are parts of the following files:
- /apache.conf
- /000-default.conf
- /wsgi.py #default
- /wsgi.py #with code from documentation
- Error message #when I use code from 4.
-------------------------------------------------------------------------------------------------------------------
1. /apache2/apache.conf
#...
WSGIScriptAlias / /var/www/solutions/mysite/mysite/wsgi.py
WSGIPythonHome /var/www/solutions/venv
WSGIPythonPath /var/www/solutions/mysite
<Directory /var/www/solutions/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
WSGIApplicationGroup %{GLOBAL}
<Location "/media/uploads">
AuthType Basic
AuthName "Top Secret"
Require valid-user
AuthBasicProvider wsgi
WSGIAuthUserScript /var/www/solutions/mysite/mysite/wsgi.py
</Location>
#...
-------------------------------------------------------------------------------------------------------------------
2. /apache2/000-default.conf
<VirtualHost *:80>
ServerName localhost
DocumentRoot /var/www/solutions/mysite
ServerAdmin webmaster at localhost
Alias /favicon.ico /var/www/solutions/mysite/static/tickets/img/ibe.ico
Alias /media/ /var/www/mysite/media/
Alias /static/ /var/www/mysite/static/
<Directory /var/www/mysite/static/>
Require all granted
</Directory>
<Directory /var/www/mysite/media>
Require all granted
</Directory>
<Directory /var/www/solutions/mysite/mysite>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
-------------------------------------------------------------------------------------------------------------------
3. No apache error with default django /mysite/mysite/wsgi.py
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'mysite.settings')
application = get_wsgi_application()
-------------------------------------------------------------------------------------------------------------------
4. When I add the code from the documentation, like this
import os
os.environ["DJANGO_SETTINGS_MODULE"] = "mysite.settings"
from django.contrib.auth.handlers.modwsgi import check_password
from django.core.handlers.wsgi import WSGIHandler
application = WSGIHandler()
-------------------------------------------------------------------------------------------------------------------
5. I get the following apache error message, when I reload the page at 11:02am:
[Thu Sep 07 11:02:22.125710 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] mod_wsgi (pid=1310): Failed to exec Python script file '/var/www/solutions/mysite/mysite/wsgi.py'.
[Thu Sep 07 11:02:22.125750 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] mod_wsgi (pid=1310): Exception occurred processing WSGI script '/var/www/solutions/mysite/mysite/wsgi.py'.
[Thu Sep 07 11:02:22.126119 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] Traceback (most recent call last):
[Thu Sep 07 11:02:22.126324 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] File "/var/www/solutions/mysite/mysite/wsgi.py", line 14, in <module>
[Thu Sep 07 11:02:22.126330 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] from django.contrib.auth.handlers.modwsgi import check_password
[Thu Sep 07 11:02:22.126339 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] File "/var/www/solutions/venv/lib/python3.11/site-packages/django/contrib/auth/handlers/modwsgi.py", line 4, in <module>
[Thu Sep 07 11:02:22.126341 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] UserModel = auth.get_user_model()
[Thu Sep 07 11:02:22.126343 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] ^^^^^^^^^^^^^^^^^^^^^
[Thu Sep 07 11:02:22.126357 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] File "/var/www/solutions/venv/lib/python3.11/site-packages/django/contrib/auth/__init__.py", line 170, in get_user_model
[Thu Sep 07 11:02:22.126360 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] return django_apps.get_model(settings.AUTH_USER_MODEL, require_ready=False)
[Thu Sep 07 11:02:22.126361 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[Thu Sep 07 11:02:22.126368 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] File "/var/www/solutions/venv/lib/python3.11/site-packages/django/apps/registry.py", line 203, in get_model
[Thu Sep 07 11:02:22.126370 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] self.check_apps_ready()
[Thu Sep 07 11:02:22.126375 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] File "/var/www/solutions/venv/lib/python3.11/site-packages/django/apps/registry.py", line 138, in check_apps_ready
[Thu Sep 07 11:02:22.126377 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] raise AppRegistryNotReady("Apps aren't loaded yet.")
[Thu Sep 07 11:02:22.126390 2023] [wsgi:error] [pid 1310] [client 127.0.0.1:58596] django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
-------------------------------------------------------------------------------------------------------------------