.htaccess Help

.htaccess Help

di Alessio M -
Numero di risposte: 7

Buonasera a tutti,

Ho cercato nel forum ma non ho trovato nulla che risolva il mio problema, ho diverse installazioni moodle e su tutte ho questo problema:

Buonasera a tutti, 
Ho cercato nel forum ma non ho trovato nulla che risolva il mio problema, ho diverse installazioni moodle e su tutte ho questo problema:
[Wed Mar 23 14:50:59 2011] [error] [client **.**.**.181] PHP Warning: fopen(/var/www/vhosts/********.com/subdomains/******/httpdocs/.htaccess) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: Permission denied in /var/www/vhosts/******.com/subdomains/******/httpdocs/lib/setuplib.php on line 142, referer: http://************/M10.swf [Wed Mar 23 14:51:00 2011] [error] [client***.*****.****.181] PHP Warning: fopen(/var/www/vhosts/******/subdomains/******/httpdocs/.htaccess) [<a href='function.fopen'>function.fopen</a>]: failed to open stream: Permission denied in /var/www/vhosts/*******/subdomains/*******/httpdocs/lib/setuplib.php on line 142, referer: http://**********/M10.swf

 

Con questo problema non riesco a visualizzare alcuni video degli scorm presenti.

 

Nessuno sa com eposso risolvere?

 

Grazie 1000

Media dei voti:  -
In riposta a Alessio M

Re: .htaccess Help

di Matteo Scaramuccia -

Ciao Alessio,
dovresti postare la versione esatta di Moodle o cosa si trova alle linee 140-147 del tuo file lib/setuplib.php: dovrebbe essere relativo al tentativo (fallito per mancanza di diritti di write) di creazione di un file testuale, .htaccess, nella dataroot che però dai tuoi path offuscati sembra essere la wwwroot... il che non mi torna.

Cmq, controlla nel config.php quale sia la tua dataroot e li crea manualmente il file .htaccess che vorrebbe creare Moodle:

deny from all
AllowOverride None
Note: this file is broken intentionally, we do not want anybody to undo it in subdirectory!

HTH,
Matteo

In riposta a Matteo Scaramuccia

Re: .htaccess Help

di Alessio M -

Ciao Matteo,

grazie della risposta, ti aggiungo qualche altra informazione visto che ho già fatto i controlli che mi hai detto e continua a non andare triste

 

Nel mio file setuplib.php le righe "incriminate" sono queste:

// Make sure a .htaccess file is here, JUST IN CASE the files area is in the open    if (!file_exists($currdir.'/.htaccess')) {        if ($handle = fopen($currdir.'/.htaccess', 'w')) {   // For safety            @fwrite($handle, "deny from all\r\nAllowOverride None\r\n");            @fclose($handle);        }    }

quindi proprio quelle relative all'htaccess.

Da altri controlli che ho fatto risulta che la mia cartella dati è questa

/var/www/vhosts/******.com/httpdocs/moodledata

e all'interno già c'è il file .htaccess con queste impostazioni:

deny from all
AllowOverride None

La versione di Moodle è la Moodle 1.9 + (Build: 20080430)

Mi sapresti dire altre strade da percorrere per risolvere questo problema?

Grazie mille del supporto.

Alessio

In riposta a Alessio M

Re: .htaccess Help

di Alessio M -
Ciao, sono riuscito a risolvere togliendo la spunta a PHP 'safe_mode' attivo nelle impostazioni del dominio! Grazie per la collaborazione Alessio
In riposta a Alessio M

Re: .htaccess Help

di Matteo Scaramuccia -

Ottimo: son contento che hai risolto e che hai anche condiviso come ci sei riuscito ammiccante.

BTW, stavo cercando di riprendere il codice di quella versione da git (più o meno dovrebbe essere: $ git checkout 9c3c1ab56d474bc82cd094615ece00f388a668ae, l'ultima circa del 2008-04-30 anche se la prima con quella version è la 9d75724cb1a704804bc7b4f2d87ebcd502fd053d2) proprio per capire:

  1. perchè deve chiamare qualcosa legato all'upload (make_upload_directory()) durante l'erogazione: potrebbe essere per alcuni motivi legati ad un package di tipo remoto e al settaggio updatefreq;
  2. perchè, ancor più oscuro, fa riferimento alla wwwroot e non alla dataroot.

Francamente il safe_mode non mi sarebbe mai venuto in mente...

Matteo

In riposta a Matteo Scaramuccia

Re: .htaccess Help

di Alessio M -

Ciao Matteo, come non detto stamattina si è ripresentato lo stesso problema... triste

Il punto 1 non l'ho capito, per quanto riguarda il punto 2 ho sbagliato config e mi sono reso conto che la cartella moodledata è proprio la cartella www, quindi credo che dovrò spostare tutti i file dei corsi perchè mi sa il server che mi cancella l'htaccess ogni notte

In riposta a Alessio M

Re: .htaccess Help

di Alessio M -

Aggiornamento della situazione:

Ho spostato la cartella data sotto moodledata con permessi 777 ho inserito l'.htaccess con queste impostazioni:

deny from all
AllowOverride None

Il risultato è che da Firefox i filmati partono, dagli altri browser no e sull'event log l'unico errore che ho è:

File does not exist: /var/www/vhosts/******.com/subdomains/*****/httpdocs/favicon.ico

Come posso risolvere? Il cliente mi sta pressando....

Grazie 1000

Alessio

In riposta a Alessio M

Re: .htaccess Help

di Andrea Bicciolo -
Immagine Core developers Immagine Plugin developers Immagine Translators

Dalle informzioni presentate mi sembra di capire che i tuoi problemi siano legati a come è configurato il tuo virtual host.  Se avevi il safe_mode attivo, forse ti è  anche utile la documentazione sulla installazione http://docs.moodle.org/en/Installing_Moodle e sulle imposatzioni del php per moodle: http://docs.moodle.org/en/PHP_settings_by_Moodle_version

Il fodler moodledata inoltre dovrebbe trovarsi al di fuori dello spazio web (ad esempio allo stesso livello della httpdocs per intenderci) e il processo del web server deve avere i permessi di lettura e scrittura sulla moodledata, nella quale è forse più conservativo dare un 750 anziché un 777, e settare il valore corrispondente nel file config.php: http://docs.moodle.org/en/Creating_Moodle_site_data_directory

Dalla struttura dei folder che intuisco dai tuoi post, sembrerebbe che stai lavorando su un server con il pannello di controllo di Plesk.  Plesk utilizza delle impostazioni "per vhost", anche del php,  che se vuoi impostare diversamente, penso tu possa farlo in accordo alle procedure di override di questo pannello.