Uno degli errori più comuni che chi lavora con Joomla si trova a dover risolvere è JFolder::create: Could not create directory ( in italiano : “JFolder::create: Non è stato possibile creare la cartella” ). Questo errore si presenta solitamente quando si tenta di installare un nuovo componente o un nuovo modulo attraverso l’Extensions Manager di Joomla.

Per risolvere questo problema dobbiamo concentrarci su due possibili cause. La prima possibile causa è la mancanza dei permessi necessari dei file del percorso in cui abbiamo installato Joomla, la seconda è una erronea configurazione delle varibili $log_path e $tmp_path nel file configuration.php di Joomla. La prima causa si presenta solitamente quando ci troviamo a lavorare su una nuova installazione di Joomla ( dopo aver magari eseguito il caricamento via FTP dei file di una “fresh installation” di Joomla da locale a remoto ) mentre la seconda causa si presenta spesso quando siamo di fronte a un sito trasferito da un dominio a un altro.

Per modificare i permessi dei file del percorso in cui è installato il nostro sito Joomla è necessario collegarsi, attraverso qualsiasi software FTP ( ad esempio Filezilla), al nostro server e controllare che i permessi siano correttamente assegnati ai file di Joomla.
Se utilizziamo Filezilla per visualizzare i permessi è sufficiente eseguire un click-destro sulla cartella di installazione del sito e selezionare la voce “Attributi File..”.

Permessi File Joomla

Nel caso i permessi non siano impostati come nell’immagine, inserite nel campo “Valore Numerico” il valore 755 avendo cura di controllare che, nella parte bassa della finestra, siano selezionate le voci “Includi sottocartelle” e “Applica a tutti i file e cartelle”.
Una volta modificate le impostazioni nella finestra cliccate su Ok e lasciate che FileZilla assegni i permessi corretti a tutti i file di tutte le cartelle e sottocartelle del vostro sito Joomla.

Nel caso in cui i permessi dei vostri file siano impostati correttamente dovrete ricercare la causa dell’errore in un’erronea valorizzazione delle variabili $log_path e $tmp_path del file configuration.php del vostro sito Joomla.
Attraverso qualsiasi editor ( ad esempio Notepad++ ) aprite il file configuration.php che trovate nella root del vostro sito Joomla. Nel file configuration.php ricercate queste due righe :

1
2
public $log_path = 'percorso_assoluto_tuo_sito/logs';
public $tmp_path = 'percorso_assoluto_tuo_sito/tmp';

Queste due variabili indicano in Joomla in quale cartella vengono salvati, rispettivamente, i logs e files temporanei e può accadere che, soprattutto nel caso di uno spostamento da un dominio a un altro del nostro sito, rimangano impostate con il “percorso_assoluto_tuo_sito” del vecchio dominio.
Per sapere quale è il nostro percorso assoluto è sufficiente, creare nella root del nostro sito, il file abspath.php e inserie in questo file il seguente codice PHP :

1
2
3
$absPath = getcwd();
echo 'Your absolute path is: ';
echo $absPath;

Una volta creato il file apriamo un browser web e richiamiamo il seguente indirizzo :
http://nostro_sito/abspath.php
Nella finestra del nostro brower apparirà un testo del tipo :
“Your absolute path is: /customers/f/tuo_sito/httpd/www/”
La stringa che segue i : (nel nostro esempio “/customers/f/tuo_sito/httpd/www/”) è il percorso assoluto del nostro sito Joomla. Copiate questa stringa e incollatela nel configuration.php come segue :

1
2
public $log_path = '/customers/f/tuo_sito/httpd/www/logs';
public $tmp_path = '/customers/f/tuo_sito/httpd/www/tmp';

In altre parole andremo a inserire nella variabile $log_path il nostro indirizzo assoluto seguito da “/logs” mentre nella variabile $tmp_path inseriremo il nostro indirizzo assoluto sguito da “/tmp”.

Dopo aver modificato, e salvato, il file configuration.php non dimenticatevi di ricaricarlo via FTP nella root del vostro sito sovrascrivendo il vecchio configuration.php così da rendere effettive le modifiche apportate ai paths dei logs e dei files temporanei di Joomla.

Buon Lavoro.. 🙂