Moodle: ошибка при установке

Я пытаюсь установить Moodle, и все выглядит нормально, но когда дело доходит до процесса создания пользователя Admin, кажется, что CSS-файла нет, а кнопка "обновить профиль" не выполняет никаких действий. Так что я застрял на странице moodle/user/editadvanced.php?id=2

Я также приложил скриншот сайта.

Я уже попробовал все возможные способы, такие как изменение разрешения на 777 или с правами пользователя root, пользователя Nginx и владельца этого каталога. Но он остается неизменным после каждой установки.

Я уже искал эту проблему, но не смог найти решение. Я следую руководству по HowToForge, чтобы установить Moodle.

Скриншот

Мое местоположение данных Moodle: /var/moodledata

Мой Moodle DIR: /var/www/career/moodle/

Мой конфигурационный файл Nginx:

    server {
    listen 80;
    listen   443 ssl spdy;
    server_name  domain.com;
    keepalive_timeout    70;
    root   /var/www/domain;

    #ssl  on;
    gzip    on;
    ssl_certificate  /etc/letsencrypt/live/domain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key  /etc/letsencrypt/live/domain.com/privkey.pem; # managed by Certbot
    ssl_protocols   TLSv1.2;
    ssl_ciphers     EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4:!3DES;
    ssl_dhparam     /etc/nginx/conf.d/dhparam.pem;
    ssl_prefer_server_ciphers   on;
    ssl_session_tickets     off;
    ssl_session_cache       shared:SSL:10m;

          add_header   Strict-Transport-Security "max-age=63072000; includeSubdomains; ";
    add_header   X-Frame-Options "DENY";
    spdy_headers_comp 6;
    spdy_keepalive_timeout 300;

    access_log  /var/log/nginx/career.access.log;
    error_log   /var/log/nginx/career.error.log;

    location / {
            root   /var/www/career;
            #try_files $uri $uri/ = /404.html;
            if ($request_uri ~ ^/(.*)\.html$) {  return 302 /$1;  }
            try_files $uri $uri/ $uri.html $uri.php?$args;
            index  index.php index.html;
            add_header   Strict-Transport-Security "max-age=63072000; includeSubdomains" always;
    }

    error_page  404  /404.html;
    location = /404.html {
            root    /var/www/career;
            internal;
    }

    error_page  405  /405.html;
    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
            root   /var/www/career;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~* \.php$ {
            root           /var/www/career;
            #fastcgi_pass   127.0.0.1:9000;
            fastcgi_pass php-fpm;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME         $document_root$fastcgi_script_name;
            include  fastcgi_params;
            #if ($request_uri ~ ^/([^?]*)\.php($|\?)) {  return 302 /$1;  }
            try_files $uri = 404;
            fastcgi_split_path_info  ^(.+\.php)(/.+)$;
            fastcgi_param QUERY_STRING  $query_string;
            fastcgi_param REQUEST_METHOD  $request_method;
            fastcgi_param CONTENT_TYPE  $content_type;
            fastcgi_param CONTENT_LENGTH  $content_length;
            fastcgi_intercept_errors  on;
            fastcgi_ignore_client_abort  off;
            fastcgi_connect_timeout  60;
            fastcgi_send_timeout  180;
            fastcgi_read_timeout  180;
            fastcgi_buffers 256  16k;
            fastcgi_buffer_size  32k;
            fastcgi_temp_file_write_size  256k;

    }

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
            deny  all;
    }

    }

Пробная версия Moodle: 3.5.1 и 3.2.9

Этапы создания базы данных:

  1. CREATE DATABASE DATABASENAME DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

  2. GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,CREATE TEMPORARY TABLES,DROP,INDEX,ALTER ON DATABASENAME.* TO 'DB_USER'@'localhost' IDENTIFIED BY 'PASSWORD';

Mysql версия: 5.5.56-MariaDB MariaDB Server

Я лично думаю, что у него проблемы с разрешениями, по какой-то причине Moodle не может получить доступ к файлам или установить их. Но хотя я дал ему разрешение 777 обоим moodledata Дир и moodle реж.

ОБНОВИТЬ

Я вижу, что некоторые файлы не загружены и отсутствуют, как показано на рисунке ниже.

Ошибка файлов JavaScript в журнале

Ошибка файла PHP в ресурсах

1 ответ

Решение

Я заменил location .php в файле nginx.conf и теперь он работает отлично. и теперь аргумент с косой чертой работает нормально.

новый location:

location ~ [^/]\.php(/|$) {
    fastcgi_split_path_info  ^(.+\.php)(/.+)$;
    fastcgi_index            index.php;
    fastcgi_pass             php-fpm; (or 127.0.0.1:9000)
    include                  fastcgi_params;
    fastcgi_param   PATH_INFO       $fastcgi_path_info;
    fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
Другие вопросы по тегам