Hi Graham,
you're right. Here are parts of the following files:
1. */apache.conf*
2. */000-default.conf*
3. */wsgi.py* #default
4. */wsgi.py* #with code from documentation
5. *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.
-------------------------------------------------------------------------------------------------------------------
Graham Dumpleton schrieb am Mittwoch, 6. September 2023 um 22:26:52 UTC+2:
> What errors are logged to the Apache error log?
>
> What does the Python code you have added look like?
>
> What does the Apache configuration you have added look like?
>
> Without more information it is hard to guess what the issue may be.
>
> Graham
>
> On 7 Sep 2023, at 2:21 am, Marcel Müller <[email protected]> wrote:
>
> Hi,
>
> when I follow the documentation I get an 500 Internal Server Error.
> I want to protect images (uploads by the user) from the public and other
> users.
>
> Everything works until I get to the part like in the subject described.
>
> When I follow the documentation like "*Finally, edit your WSGI script
> mysite.wsgi to tie Apache’s authentication to your site’s authentication
> mechanisms by importing the check_password function:*" the provided code
> gives me the mentioned 500 error and the entire website is not available
> anymore. When I stick to the default code in wsgi.py it works and the
> <location> part works, where I get an apache authentication dialogue.
> But I guess this is not how it is suppose to work. When I type in my
> credentials the 500 error shows again.
>
> I am a python/django/apache newbie and I am stuck to this for days now.
>
> Any help would be appreciated.
>
> Best,
> Marcel
>
> --
> You received this message because you are subscribed to the Google Groups
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/modwsgi/b26a327c-00ad-439e-b4c3-f1e171a7e03dn%40googlegroups.com
>
> <https://groups.google.com/d/msgid/modwsgi/b26a327c-00ad-439e-b4c3-f1e171a7e03dn%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>
>
>
--
You received this message because you are subscribed to the Google Groups
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/modwsgi/a07c77af-cf21-4fff-90fa-e6941a09af2cn%40googlegroups.com.