Если вы используете указанную конфигурацию about, ошибка на самом деле довольно очевидна. У вас есть:
WSGIDaemonProcess fred threads=15 display-name=%{GROUP} python-path=/home/fred/public_html/cgi-bin/fredapp/apache/
WSGIProcessGroup scratchf
Должно быть:
WSGIDaemonProcess fred threads=15 display-name=%{GROUP} python-path=/home/fred/public_html/cgi-bin/fredapp/apache/
WSGIProcessGroup fred
То есть имя группы процессов должно совпадать.
Вы должны были увидеть сообщение об ошибке:
No WSGI daemon process called 'scratchf' has been configured
Вероятно, это будет до зарегистрированной ошибки:
Exception occurred processing WSGI script
Вот почему важно, чтобы вы предоставили все сообщения журнала ошибок и не предполагали, что они не релевантны.
В качестве альтернативы вы указали конфигурацию, отличную от используемой, или не всю конфигурацию.
ОБНОВЛЕНИЕ 1
Похоже, вы можете включить директиву ErrorDocument в Apache, чтобы перенаправлять ошибки на определенный URL. Поскольку, однако, вы смонтировали Django в корне веб-сервера и не исключили возможность передачи этих URL-адресов ошибок в Django, то при возникновении ошибки Django получает перенаправление для документа с ошибками, но не может разрешить URL-адрес и впоследствии генерирует 404. Поскольку Apache увидел 404 для перенаправления страницы ошибки, он возвращает страницу ошибки 500 по умолчанию. Конечным результатом является истинная исходная ошибка и любая информация теряется.
Таким образом, войдите в конфигурацию Apache и закомментируйте директивы ErrorDocument.
ОБНОВЛЕНИЕ 2
Изменить конфигурацию на:
WSGIScriptAlias /fredapp /home/fred/public_html/cgi-bin/fredapp/apache/django.wsgi
Вы не должны иметь косую черту на втором значении в строке. Пропустил тот факт, что вы на самом деле пытались подключиться по дополнительному URL, а не по корню веб-сервера.