Apache2: 'AH01630: client denied by server configuration' with referer?

Я пытаюсь создать сайт django, но по какой-то причине, когда я пытаюсь получить доступ к странице администратора, она отображается без CSS, я копнул немного дальше и убедился, что мои права на файлы правильные, просто сделав весь каталог проекта доступным для всех

chmod -R 777 ./survey_server

Но он все еще не работает по какой-то причине, я не уверен, что происходит. Я проверил, перепроверил и трижды проверил свой конфигурационный файл apache безрезультатно.

Вот мой конфигурационный файл:

<VirtualHost *:80>
        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        #ServerName www.example.com
        # ServerName crimjusticesurvey.org

        ServerAdmin webmaster@crimjusticesurvey.org
        DocumentRoot /home/ubuntu/Workspace/github/crimjusticesurvey/survey_server

        <Directory /home/ubuntu/Workspace/github/crimjusticesurvey/survey_server>
        Require all granted
        </Directory>

        <Directory /home/ubuntu/Workspace/github/crimjusticesurvey/survey_server/survey>
        Require all granted
        </Directory>

        # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
        # error, crit, alert, emerg.
        # It is also possible to configure the loglevel for particular
        # modules, e.g.
        #LogLevel info ssl:warn

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined

        # For most configuration files from conf-available/, which are
        # enabled or disabled at a global level, it is possible to
        # include a line for only one particular virtual host. For example the
        # following line enables the CGI configuration for this host only
        # after it has been globally disabled with "a2disconf".
        #Include conf-available/serve-cgi-bin.conf

        Alias /static /home/ubuntu/Workspace/github/crimjusticesurvey/survey_surver/survey/static

        <Directory /home/ubuntu/Workspace/github/crimjusticesurvey/survey_server/survey/static>

        Require all granted

        </Directory>

        <Directory /home/ubuntu/Workspace/github/crimjusticesurvey/survey_server/survey/survey>

        AllowOverride all
        Require all granted
        Options FollowSymlinks

        <Files wsgi.py>

        Require all granted

        </Files>

        </Directory>

        WSGIDaemonProcess crimjusticesurvey.org python-path=/home/ubuntu/Workspace/github/crimjusticesurvey/survey_server/survey python-home=/home/>

        WSGIProcessGroup crimjusticesurvey.org

        WSGIScriptAlias / /home/ubuntu/Workspace/github/crimjusticesurvey/survey_server/survey/survey/wsgi.py

</VirtualHost>

Когда я пытаюсь зайти на сайт, в журнале ошибок появляется вот это.

[Sat Jan 22 08:58:40.962293 2022] [authz_core:error] [pid 2964:tid 140063337850624] [client ...] 
AH01630: client denied by server configuration: 
/home/ubuntu/Workspace/github/crimjusticesurvey/survey_surver, referer: http://crimjusticesurvey.org/admin/

Когда я захожу на сайт, он выглядит следующим образом:

enter image description here

Я видел, что в другом сообщении упоминался сбор статических файлов, что я и сделал с помощью python manage.py collectstatic безрезультатно, сам сбор файлов был успешным, но есть другая основная проблема, и я понятия не имею, что это такое.

Да, такая же проблема у меня возникла при развертывании проекта Django на Apache/Nginx

Я обнаружил, что добавление следующей строки в urls.py проекта и перезапуск сервера сделали свое дело

from django.views.static import serve
from django.conf import settings

urlpatterns = [
    .... ,
    .... ,
    url(r'^static/(?P<path>.*)$', serve, {'document_root': settings.STATIC_ROOT}),
]

Обязательно добавьте STATIC_ROOT в ваш settings.py основной каталог статических файлов, который был создан после выполнения команды python manage.py collectstatic

Логика добавления этого заключается в том, что Django необъективен при обслуживании статических файлов, на локальном, поскольку он работает на собственном сервере, он знает, где может находиться статический файл, и автоматически обрабатывает их для вас

Но здесь, на другом сервере, вам нужно сообщить Apache/Nginx URL статических файлов, а также указать им, как работать со статическими файлами

Вернуться на верх