Erreur d’installation de Moodle sur la machine virtuelle Homestead

J’ai installé la machine virtuelle Homestead et configuré le dossier d’installation de Moodle sur mon Mac (OSX Yosemite). J’ai aussi créé le dossier ‘moodledata’ et lui ai donné les permissions 0777 ainsi que le dossier ‘moodledata / sessions’ via ma ligne de commande système (j’ai essayé de le faire via SSH dans la VM mais cela ne semblait pas changer les permissions) . Cependant, en vérifiant les permissions après l’avoir fait via mon système, le dossier était accessible en écriture depuis la VM.

Je suis ensuite passé à l’installation qui a parcouru et créé les tables de la firebase database et fait la vérification qui a montré 2 avertissements de vérification: Intl et xmlrpc à vérifier

Je ne crois pas que ceux-ci soient essentiels pour une installation initiale ainsi poursuivie. C’est quand j’arrive à la création de l’administrateur où je rencontre un problème. La page (/user/editadvanced.php?id=2) arrête de charger des images et lorsque je publie le formulaire, je reçois une erreur: ‘sesskey incorrect soumis, formulaire non accepté!’ Je pensais que cela pourrait être dû au fait que la session ne soit pas accessible en écriture dans le dossier moodledata, mais comme j’ai vérifié que maintenant je n’ai plus d’idées!

J’ai joint quelques captures d’écran.

Merci beaucoup, Mike.

Autorisation de dossier depuis l'intérieur de la machine virtuelle

Moodle page quand il commence à avoir des problèmes

    Bon après quelques jours de grattage, j’ai corrigé mon problème en éditant le fichier de configuration NGINX. Voici ce que c’était par défaut:

    server { listen 80; server_name example.com; root /home/forge/example.com; # FORGE SSL (DO NOT REMOVE!) # ssl_certificatee; # ssl_certificatee_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_ssortingng; } 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; } } 

    Et c’est ce que j’ai changé et ça marche maintenant:

     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; } } 

    Je n’ai pas eu le temps de voir quelle partie de la configuration ci-dessus a résolu le problème, peut-être que quelqu’un qui sait peut voir immédiatement? Je pense que cela pourrait être la règle de réécriture? Dans tous les cas, j’espère que cela aidera quelqu’un d’autre à l’avenir et je suis vraiment heureux de pouvoir travailler!

    Je peux confirmer que ce n’est que la partie réécriture de ce fichier de configuration spécifique, bien que dans la page Moodle Nginx elle ne soit pas documentée de cette manière.

    Je pense que l’ location ~ [^/]\.php(/|$) { part fait la même chose que la règle de rewrite ^/(.*\.php)(/)(.*)$ /$1?file=/$3 last; et la directive location ~ \.php$ { . Il faudra faire des tests pour modifier la directive de localisation pour voir si cela fonctionne également.