How to DRUPAL ... permessi, cartelle e update
Vediamo come risolvere alcuni tipici problemi che si possono incontrare in Drupal. In dettaglio vedremo come settare i permessi per le cartelle e file di una installazione Drupal e vedremo alcuni accorgimenti da prendere quando aggiornate il core di Drupal (ad esempio quando si fa un update).
AGGIORNAMENTI
20/01/2013 precauzioni per il file .htaccess
I Permessi
Se andando sulla pagina http://<vostro sito>/?q=admin/reports/status ottenete il seguente messaggio di avviso
drupal The directory sites/default is not protected from modifications and poses a security risk. You must change the directory's permissions to be non-writable.
sulla cartella sites/default e/o sul file sites/default/settings.php, allora avete un problema di permessi.
Gli errori possono essere diversi ma comunque si riferiscono a permessi sui vostri file e/o directory.
Conviene settare i permessi prima dell'intero sito a 775, poi della cartella sites/default/files a 777 e poi settare gli altri, prima per la cartella default e poi per il file settings.php e poi gli altri:
chmod 775 -R ./mioSito/
chmod 777 -R ./sites/default/files
chmod 755 default/
chmod 655 settings.php
chmod 777 -R ./sites/default/files/ctools/css
chmod 777 -R ./sites/default/files/imagecache
Problemi legati all'update del core
Prima di fare l'update del core è opportuno passare i permessi a 777 su tutto il sito e poi ripristinarli come indicato sopra.
Inoltre, prima di fare l'update del sito ricordatevi di metterlo off-line da qui: admin/settings/site-maintenance
Inoltre, se state aggiorando la vostra istanza di Drupal ricordatevi di non aggiornare (o prima di fare il merge tra il vostro file e quello nuovo) il file .htaccess e robots.txt (e altri file core che potete aver modificato) .
In alcuni casi Apache si pianta del tutto se modificate in maniera errate il file .htaccess.
L'eventuale merge tra vecchio e nuovo file lo dovete fare a mano.
Se nel fare l'update del core o nel modificare il file .htaccess ottenete l'errore:
Error 500 Internal server error
e nel log trovate qualcosa di simile a:
.htaccess: Invalid command '\xef\xbb\xbf#', perhaps misspelled or defined by a module not included in the server configuration
Allora quasi sicuramente il vostro file .htaccess è corrotto. La prima cosa da fare è vedere in che formato si trova il file. Ovvero lo dovete aprire con un editor testuale (come Notepad++) e verificare con quale codifica è stato salvato.
In Notepadd++ dovete andare nel menu Formato. La codifica corretta è ANSI oppure UTF-8 senza BOM.
Il BOM sono dei byte scritti all'inizio del file e che ne indicano la codifica. Questi byte non sono visibili aprendo il file.
Come fare la ricostruzione dei permessi
Se avete dei problemi strani in Drupal, provate la ricostruzione dei permessi (la Rebuild Permission):
<vostro sito>/admin/content/node-settings