2015-11-15 3 views
2

Я установил гостевую виртуальную машину и установил папку установки Moodle на своем Mac (OSX Yosemite). Я также создал папку «moodledata» и дал ей разрешения 0777, а также папку «moodledata/sessions» через мою системную командную строку (я попытался сделать это через SSH внутри виртуальной машины, но, похоже, не изменил разрешения) , Однако при проверке разрешений после выполнения этой операции через мою систему было показано, что папка доступна для записи внутри виртуальной машины.Ошибка установки Moodle на Homestead VM

Затем я перешел к установке, которая пробежала и создали таблицы БД и сделал чек, который показал 2 проверки предупреждения: Intl и XMLRPC проверить

Я не считаю, что эти необходимы для первоначальной установки так продолжалось. Это когда я добираюсь до создания пользователя admin, где у меня возникает проблема. Страница (/user/editadvanced.php?id=2) останавливает загрузку любых изображений, и когда я отправляю форму, я получаю сообщение об ошибке: «Неверная sesskey отправлена, форма не принята!» Я думал, что это может случиться так, что сессия не будет доступна для записи в папке moodledata, но поскольку я проверял, что теперь у меня нет идей!

Я добавил пару скриншотов.

Большое спасибо, Майк.

Folder permission from inside the VM

Moodle page when it starts having problems

ответ

5

Ok после хороших нескольких дней голову чешет я установил свой собственный вопрос, отредактировав конфигурационный файл NGINX. Ниже то, что это было по умолчанию:

server { 
    listen 80; 
    server_name example.com; 
    root /home/forge/example.com; 

    # FORGE SSL (DO NOT REMOVE!) 
    # ssl_certificate; 
    # ssl_certificate_key; 

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 

    index index.html index.htm index.php; 

    charset utf-8; 

    location/{ 
     try_files $uri $uri/ /index.php?$query_string; 
    } 

    location = /favicon.ico { access_log off; log_not_found off; } 
    location = /robots.txt { access_log off; log_not_found off; } 

    access_log off; 
    error_log /var/log/nginx/example.com-error.log error; 

    error_page 404 /index.php; 

    location ~ \.php$ { 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_index index.php; 
     include fastcgi_params; 
    } 

    location ~ /\.ht { 
     deny all; 
    } 
} 

И это то, что я изменил его и теперь он работает:

server { 
    listen 80; 
    server_name example.com; #REPLACE SERVER NAME 

    root /var/www/example.com/www/; #REPLACE MOODLE INSTALL PATH 
    error_log /var/www/example.com/log/example.com_errors.log; #REPLACE MOODLE ERROR LOG PATH 
    access_log /var/www/example.com/log/example.com_access.log; #REPLACE MOODLE ACCESS LOG PATH 

    rewrite ^/(.*\.php)(/)(.*)$ /$1?file=/$3 last; 

    location/{ 
     index index.php index.html index.htm; 
     try_files $uri $uri/ /index.php; 
    } 

    fastcgi_intercept_errors on; 

    location ~ \.php$ { 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 

     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 

     fastcgi_pass unix:/var/run/php5-fpm.sock; 
     fastcgi_index index.php; 

     include fastcgi_params; 
    } 

    location ~ /\.ht { 
     deny all; 
    } 
} 

У меня не было времени, чтобы видеть, какая часть/части выше config исправил проблему, может быть, кто-то, кто знает, может сразу увидеть? Я подозреваю, что это может быть правило перезаписи? В любом случае, я надеюсь, что это поможет кому-то еще в будущем, и я очень рад, что это работает!

+0

При дальнейшем расследовании это была только эта строка: rewrite ^/(. * \. Php) (/) (. *) $/$ 1? File =/$ 3 last; – Mike

0

Я могу подтвердить, что это только часть перезаписи для этого конкретного файла конфигурации, хотя на странице Moodle Nginx это не документировано.

Моя догадка заключается в том, что часть location ~ [^/]\.php(/|$) { делает то же самое, что и правило перезаписи rewrite ^/(.*\.php)(/)(.*)$ /$1?file=/$3 last; и директиву location ~ \.php$ {. Вам нужно будет сделать некоторые тесты, изменяющие директиву местоположения, чтобы узнать, работает ли это.

+0

Ну, я могу подтвердить, что это не работает без правила перезаписи так: почему он не был документирован Moodle? Или что мы делаем неправильно? – axelitus