Permessi sul file di configurazione di un template per Joomla
Recentemente ci è capitato di avere problemi di permessi sul file di configurazione di un template per Joomla. Cercando di capire il motivo, abbiamo scoperto un’altra cosa di questo CMS… non si finisce davvero mai di imparare! Vediamo di che si tratta.
File di configurazione
Ciascun template per Joomla che si rispetti ci offre la possibilità di modificare alcuni parametri (ad esempio variazioni di colore o di larghezza). Le nostre scelte vengono salvate in un apposito file di configurazione params.ini presente nella cartella stessa del template.
Mentre lavoravamo su un nuovo sito, ci siamo accorti di avere dei problemi caricando via FTP una nuova versione del template: tale file di configurazione non veniva sovrascritto. Soprattutto, ci siamo accorti che questo problema si ripresentava successivamente, anche dopo aver sistemato a mano i permessi. Allora è cominciata l’indagine.
Permessi personalizzati
Non ci tornava il fatto che impostavamo una certa combinazione di permessi e dopo un po’ di tempo ne trovavamo una diversa associata al file. Allora ci è venuto in mente che stavamo anche contemporaneamente modificando i parametri del template per adattarlo al sito. Quindi abbiamo spulciato più a fondo il codice del componente per la gestione del template, ed ecco la chiave del mistero.
Come funziona
Visto che Joomla deve poter modificare il file di configurazione, che viene modificato direttamente dall’interfaccia amministrativa via web, si applicano le consuete problematiche di permessi, ovvero il web server deve avere i permessi di scrittura sul file. In altra sede parleremo delle modalità esistenti e di quelle consigliate per gestire i permessi di un sito Joomla, ma in questo caso ci focalizziamo su una complicazione aggiuntiva.
Il componente per la gestione amministrativa dei template, infatti, introduce una funzionalità di sicurezza relativa al file params.ini:
- tenta di renderlo scrivibile immediatamente prima della modifica
- tenta di renderlo non scrivibile immediatamente dopo la modifica
Quando parlo di “scrivibile” e “non scrivibile”, intendo per chiunque. Tanto, finchè il web server è proprietario del file, i permessi possono sempre essere modificati. Nel nostro caso, il primo passaggio era inutile (il file era già stato impostato manualmente da noi come scrivibile), mentre il secondo passaggio toglieva tutti i permessi di scrittura e ci impediva di sovrascrivere il file se non modificandone prima a mano i permessi.
Questo sistema è stato pensato per evitare sovrascritture accidentali del file stesso, e tutto sommato è utile. Tuttavia, se capita – come è successo a noi – di voler modificare una copia remota del template e poi caricarla tutta insieme, questo particolare va tenuto presente.
Nota: su molti hosting il web server NON è proprietario del file, nonostante lo possa leggere e scrivere. In questi casi, i permessi sul file di configurazione non vengono modificati. Ecco che si spiega quel messaggio di errore “Impossibile rendere il file di configurazione scrivibile / Impossibile rendere il file di configurazione non scrivibile” che compare a volte quando si salvano i parametri di un template.
GUIDO
E la soluzione qual’è?
Francesco
@Guido:
il messaggio di errore “Impossibile rendere il file…” è innocuo, di fatto non impedisce la modifica. Se tu usi sempre e solo la modifica via console amministrativa, o sempre e solo la modifica via FTP, non dovresti avere nessun problema “effettivo”, cioè riuscirai sempre a fare le modifiche.
Se ti trovi invece nell’impossibilità di modificare, devi sistemare i permessi via FTP, o via pannello di amministrazione del tuo provider, o chiedendo direttamente assistenza al tuo provider.