Problema con cartella 'CTools CSS Cache' utilizzando percorso privato dei files
Ciao,
è un problema noto, in quanto si verifica sempre, ma io non sono ancora riuscito a trovare una soluzione in quanto non riesco a capire se ce una soluzione o no.
Se imposto il percorso privato dei file, in admin > config > file system, Ctools non riesce più a creare la cartella della cache "ctools/css" in files. Esce l'errore...
CTools CSS Cache Unable to create
The CTools CSS cache directory, ctools/css could not be created due to a misconfigured files directory. Please ensure that the files directory is correctly configured and that the webserver has permission to create directories.
Come posso risolvere questo problema ?

Risposte
The CTools CSS cache
Come sta scritto li, preciso preciso.
Allora.... So quello che
Allora....
So quello che scrive, ma il problema non è quello. Ho provato per curiosità ad impostare i file privati su un installazione pulita di Drupal su Xampp (con chiaramente installato ctools) e il problema si presenta nuovamente. Fidati che su xampp ho tutti i permessi di scrittura.
Quando si imposta un file system privato si verifica questo problema. Purtroppo io devo averlo privato in quanto devo tenere la cartella files fuori dalla root del sito, per evidenti ragioni di sicurezza. Con l'impostazione su pubblico, che io sappia non si possono definire dei path assoluti e quindi sono costretto a definire percorsi interni al progetto.
Se fai una prova vedrai che si verifica il problema. Andanto il status report, drupal ti notificherà l'errore.
Il punto è che visto che Views, è quindi Ctools, sono dei moduli "obbligatori", non posso pensare che nessuno non abbia ancora risolto questo problema. Ci saranno pure quelli che si impostano il file system privato.
Ho diversi progetti con file
Ho diversi progetti con file privati, in tutti utilizzo sia Views che CTOOLS, andando ad impostare CORRETTAMENTE percorsi e permessi il problema da te indicato NON mi si presenta, quindi ti invito a ricontrollare meglio il tutto.
Ciao ciao.
Ok, Il fatto di avere torto
Ok,
Il fatto di avere torto mi conforta. Farò dei controlli sta sera.
Ma nei tuoi progetti Con definiti file privati i percorsi dei file sono esterni al sito ?
Sì, ovvio, altrimenti non
Sì, ovvio, altrimenti non avrebbe senso la cosa!
La cartella con i file privati la metto nella root dell'utente che NON EQUIVALE all root del sito, ma è un livello superiore, mi spiego meglio, all'utente fornisco una cartella (la sua root) dove piazzare i suoi file, i file che compongono il sito li deve mettere nella cartella htmldocs presente nella sua root, via FTP raggiunge la sua root, via http raggiunge la cartella htmldocs (li punta apache come DocumentRoot).
Spero sia chiaro, ciao ciao.
Io ho dei problemi anche con
Io ho dei problemi anche con l'upload di file attraverso ckFinder se imposto i file privati.
Mi crea un path sbagliato.
Anche tu usi Ckfinder ?
No, io uso IMCE.
No, io uso IMCE.
Niente da fare. Ho provato da
Niente da fare.
Ho provato da un installazione di Drupal su MAMP. Ho swicciato da file pubblici col solito path site/default/files a file privati impostando /users/drupal-media
Poi quando ho salvato (senza nessun errore) ho impostato il radio button che appare sotto in Default download method (sempre nella stessa sezione) impostando file privati.
Poi sono andato nelle impostazioni di tutti i vari campi immagine e allegati a cambiare impostando come Upload destination file privati.
Tutto liscio... tranne quando vado in admin/reports/status dove trovo la banda rossa su CTools CSS Cache -- The CTools CSS cache directory, ctools/css could not be created due to a misconfigured files directory. Please ensure that the files directory is correctly configured and that the webserver has permission to create directories. -- e lui non riesce a scrivere la cache.
Sono andato nella cartella drupal-media a controllare i permessi e aveva scrittura e lettura già impostati. Essendo appunto una semplice cartella del mio pc è ovvio che sia scrivibile.
Quindi a questo punto non so che fare. Forse tu hai delle installazioni più vecchie e questo errore non esisteva, oppure forse bisogna impostare prima i file privati e poi installare ctools, ma mi sembra strano.
Quanlche idea ?
Diciamo che io non utilizzo
Diciamo che io non utilizzo "giocattoli" per lavorare (MAMP XAMP CAZZ MAZZ E MADONN) e lavoro direttamente su dei VERI WEBSERVER.
Ti consiglio di fare la stessa cosa, ti crei una macchina virtuale, installi una delle ennemila distribuzioni LInux esistenti, la configuri come webserver e lavori su quella, in questo modo potrai ricreare l'ambiente che sarà poi di produzione il più fedelmente possibile.
Per come la vedo io, il problema che stai riscontrando ora potrebbe essere dovuto al fatto che magari non ci sia configurata correttamente la cartella nelle impostazioni dell tuo emulatore, quindi per lui risulta non di sua proprietà il percorso da te indicato, ma non prenderlo per vangelo perché non ho proprio mai utilizzato quei "cosi" li...
Ciao ciao.
Ciao, Questo problema è nato
Ciao,
Questo problema è nato proprio perchè dovevo impostare un percorso per i file all'interno del server dell'azienda per cui lavoro. Noi utilizziamo varie tecnologie: da java a php e vari sistemi cms come Magento, Joomla, più a basso livello Zend Framework ecc... L'intenzione è quella di voler sotituire Joomla con Drupal per le applicazioni web di vario genere (blog, siti vetrina, portali ecc...) Vogliamo integrare Drupal nel nostro sistema un po come abbiamo già fatto con Magento. Ovvero spostare il core dalla singola installazione e farlo lavorare con più installazioni. Quindi unico core fuori da tutto e n° installazioni collegate. Con Drupal una cosa del genere si può ottenere con il multisito. In ogni caso prima di inoltrarci in queste problematiche volevamo innanzitutto spostare fuori la cartella dei file, cosa che però ha generato questo scomodo imprevisto. Così io ho iniziato a fare delle prove per conto mio su Mamp, riscontrando lo stesso errore.
Uhmmm... A questo punto mi
Uhmmm... A questo punto mi verrebbe da pensare ad una configurazione errata della cartella utente che contiene l'installazione Drupal, altro non mi viene in mente, chi è il proprietario di quella cartella? Che permessi ha? Che permessi sono stati impostati sulla cartella privata?
Ciao, Ho apparentemente
Ciao,
Ho apparentemente risolto, ma non so se la soluzione che ho trovato può andar bene.
Dopo aver fatto tutti i tentativi possibili assegnando permessi di ogni genere sulle cartelle, ho fatto delle ricerche e ho trovato un tipo che indicava il file responsabile della scrittura della cache di ctools nella cartella ctools/css. Tuttavia non indicava la soluzione che io ho intrapreso, quindi non so se è una cosa super sporca o no.
Praticamente ho aperto il file ctools.install in sites/all/all/modules/ctools
e alla riga 21 dove c'è la seguente stringa...
l'ho modificata inserendo lo stesso path che ho indicato nel file system sotto "Private file system path". Quindi nel mio caso il risultato è stato...
In ogni caso è solo un esempio, in quanto non creerò mai la cartella per le immagini nel desktop :-)
Comunque in questa maniera l'errore scompare e le cartelle ctools/css vengono create correttamente. Ora non so però se i file css che verranno creati lì dentro avranno il path giusto e funzioneranno correttamente... buh.
Secondo te è una soluzione corretta ? oppure quello che c'era scritto prima andava altrettanto bene e non funzionava perchè c'è una terza variabile tuttora irrisolta ?
In ogni caso, intraprendendo questa soluzione, ogni qualvolta devo aggiornare ctools devo rimodificare il file. E già qui mi fa un pò schifo...
Creare a manina la cartella
Creare a manina la cartella ctools/css direttamente nella root dello spazio web, dare i permessi e provare se "magari" funzionava, faceva schifo come idea?
Ho fatto quello e tanto altro
Ho fatto quello e tanto altro ancora e niente ha funzionato
Allora, torno a ripetere,
Allora, torno a ripetere, verifica le configurazioni del server e i permessi delle cartelle, perché a me funziona "out of the box" su diversi siti.
Si, ma il fatto che in questa
Si, ma il fatto che in questa maniera funziona, dimostra che il problema non consiste nei permessi delle cartelle, perché in quel caso non dovrebbe funzionare nemmeno in quella maniera.
Ma tu quando lavori in sviluppo hai un percorso diverso ai file rispetto a quando pubblichi il sito in produzione. Quando cambi il percorso perdi tutti i collegamenti delle immagini che hai inserito in fase di sviluppo e devi riaplodarle oppure no ?
Si, ma il fatto che in questa
No, dimostra proprio quello, perché se così non fosse non funzionerebbe nemmeno con il "tuo" sistema, io rivedrei la configurazione del server FTP...
Il bravo programmatore NON USA percorsi assoluti ma percorsi relativi, il programmatRoto inserisce percorsi assoluti costringendo poi il bravo sysadmin a rivedere tutto l'accrocchio...
Il bravo programmatore NON
Ok ma io intendo.... Se in sviluppo il tuo Private file system path è /pippo/media-drupal/
Tu carichi lì tutte le immagini e gli allegati del sito. Poi quando devi mettere il sito online, sul server di produzione, per n° motivi devi cambiare il Private file system path perchè non è lo stesso dello sviluppo in quanto ad esempio è
../pippo/paperino/media-drupal perdi tutti i vecchi collegamenti (/pippo/media-drupal/) delle immagini caricate precedentemente in sviluppo giusto ? Esiste una maniera per ovviare a questo problema ?
Siamo in produzione, accedi
Siamo in produzione, accedi via FTP al tuo spazio ed arrivi in una cartella, non puoi salire di livello ma puoi scendere e basta (sei nella tua cartella radice, la tua home, all'interno di questa puoi creare tutte le cartelle ed i file che vuoi, fuori da questa non puoi nemmeno andare), quello è il TUO /
Da li avrai le tue cartelle, pippo pluto, paperino sarca$$0... Una di queste cartelle, per definizione, sarà la root del sito webbete, ovvero la cartella alla quale punta il webbeteserver, ipotiziamo sia htmldocs piuttosto che public piuttosto che ca$$oneso, quandi apri il tuo browser e vai a $tuosito approdi all'interno di quella cartella, è corretto?
Quindi, il bravo programmatore è a conoscenza che il percorso http://www.miosito.com/ È quella cartella, da li crea tutti i percorsi ASSOLUTI che vuole, poco importa se al di sopra ci sia /home/pincopallino/public/ o quel che sarà, per il sito webbete quello è / punto e fine. La cartella per i file privati dove la creiamo, allora? All'interno della TUA cartella home, ovvero quella che raggiungi via FTP al di sopra della quale non puoi andare, li creerai la cartella per i file privati (o la metterai in una sottocartella e via dicendo) perché comunque il tuo utente può raggiungerla e creare file ma non è direttamente visibile da http.
Se il tuo server locale di sviluppo è BEN CONFIGURATO, non avrai problemi a muovere il tutto da uno all'altro, se invece non lo è...
Si Questo mi è chiaro, ma io
Si Questo mi è chiaro, ma io volevo capire; che se i percorsi sono diversi da sviluppo a produzione, i link che puntano alle immagini che io ho caricato in sviluppo si rompono quando cambio il percorso che punta alla cartella immagini in produzione. Giusto ?
Allora, ripeto, il BRAVO
Allora, ripeto, il BRAVO PROGRAMMATORE ha una piattaforma di sviluppo che è SPECULARE a quella di produzione, cosa non è chiaro? E ammettiamo (ma personalmente NON LO AMMETTO) che i percorsi siano differenti, perché ca$$o non usi percorsi RELATIVI???? Mai usato ../../../sarca$$o? Sei io hosting per un qualsiasi motivo devo spostare il tutto da un server ad un altro che magari ha percorsi differenti, perché ca$$o devo smadonnare per verificare TUTTI I PERCORSI ASSOLUTI che i programmatRoti inseriscono? Ma soprattutto, perché i programmatRoti lavorano e non vengono fustigati?