User Tools

Site Tools


doc:appunti:linux:sa:drupal

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
doc:appunti:linux:sa:drupal [2010/12/13 19:21] – [Negoziazione lingua] niccolodoc:appunti:linux:sa:drupal [2011/01/28 14:45] (current) – [Moduli e temi aggiuntivi] niccolo
Line 1: Line 1:
-====== Drupal ====== +====== Drupal ======
  
 ===== Installazione ===== ===== Installazione =====
- 
-Controllare le impostazioni del PHP in php.ini: 
- 
-<file> 
-memory_limit = 24M 
-</file> 
  
 Creare un utente e un database in PostgreSQL: Creare un utente e un database in PostgreSQL:
  
 <code sql> <code sql>
-CREATE USER "drupal_gfoss" PASSWORD '*********'; +CREATE USER "drupal_test" PASSWORD '*********'; 
-CREATE DATABASE drupal_gfoss OWNER drupal_gfoss ENCODING 'UTF8';+CREATE DATABASE drupal_test OWNER drupal_test ENCODING 'UTF8' 
 +    LC_COLLATE = 'it_IT.UTF-8' LC_CTYPE = 'it_IT.UTF-8' TEMPLATE template0;
 </code> </code>
- 
-Verificare di aver installato i pacchetti: 
- 
-  * **php5-gd** 
-  * **php5-pgsql** (supporto di PHP a PostgreSQL) 
- 
-Il modo più semplice per abilitare i [[#clean_urls_url_rewrite|Clean URLs (vedi avanti)]] è quello di abilitare il modulo //rewrite// di Apache e abilitare il funzionamento del file **''.htaccess''** fornito con Drupal stesso, nel VirtualHost di Apache è sufficiente una direttiva del tipo: 
- 
-<file> 
-<Directory /var/www/default/drupal> 
-    AllowOverride All 
-</Directory> 
-</file> 
- 
-Altrimenti (sarebbe anzi consigliato) le direttive rewrite dovrebbero essere copiate dal file ''.htaccess'' nella configurazione del VirtualHost. 
  
 Scompattare l'archivio di Drupal: Scompattare l'archivio di Drupal:
  
 <code> <code>
-mkdir /usr/local/download/drupal 
-cd  /usr/local/download/drupal 
-wget http://ftp.osuosl.org/pub/drupal/files/projects/drupal-5.1.tar.gz 
 cd /var/www cd /var/www
-tar zxvf /usr/local/download/drupal/drupal-5.1.tar.gz +tar zxvf /usr/local/download/drupal/drupal-6.20.tar.gz 
-mv drupal-5.drupal+mv drupal-6.20 drupal
 chown -R root:root drupal chown -R root:root drupal
 cp drupal/sites/default/default.settings.php drupal/sites/default/settings.php cp drupal/sites/default/default.settings.php drupal/sites/default/settings.php
Line 46: Line 22:
 </code> </code>
  
-Si crea anche la directory per l'upload dei file:+Si può scompattare l'archivio direttamente nella DocumentRoot invece di usare una sottodirectory (chiamata ''drupal'' nell'esempio sopra). 
 + 
 +Si crea un file di configurazione a partire dall'esempio fornito e lo si rende modificabile dal server web, si rende scrivibile anche la directory in cui Drupal salva varie impostazioni:
  
 <code> <code>
-mkdir drupal/sites/default/files +cd /var/www/drupal 
-chown www-data.www-data drupal/sites/default/files+cp sites/default/default.settings.php sites/default/settings.php 
 +chown www-data sites/default/settings.php 
 +chown www-data sites/default/
 </code> </code>
  
 A questo punto si punta il browser su **%%http://www.sito.it/drupal/%%** e si segue la procedura si setup. A questo punto si punta il browser su **%%http://www.sito.it/drupal/%%** e si segue la procedura si setup.
 +
 +La procedura di setup dovrebbe creare automaticamente anche la directory per l'upload dei file, in caso contrario si povvede a mano:
 +
 +<code>
 +mkdir sites/default/files
 +chown www-data:www-data sites/default/files
 +</code>
  
 **ATTENZIONE**: al termine dell'installazione conviene cambiare owner al file **settings.php** e toglierlo ad apache, anche se comunque la procedura di setup lo imposta in sola lettura. **ATTENZIONE**: al termine dell'installazione conviene cambiare owner al file **settings.php** e toglierlo ad apache, anche se comunque la procedura di setup lo imposta in sola lettura.
 +
 +===== Impostazioni Apache, PHP, ecc. =====
 +
 +Controllare le impostazioni del PHP in php.ini:
 +
 +<file>
 +memory_limit = 24M
 +</file>
 +
 +Verificare di aver installato i pacchetti:
 +
 +  * **php5-gd**
 +  * **php5-pgsql** (supporto di PHP a PostgreSQL)
 +
 +Il modo più semplice per abilitare i [[#clean_urls_url_rewrite|Clean URLs (vedi avanti)]] è quello di **abilitare il modulo //rewrite//** di Apache e abilitare il funzionamento del file **''.htaccess''** fornito con Drupal stesso, nel VirtualHost di Apache è sufficiente una direttiva del tipo:
 +
 +<file>
 +<Directory /var/www/default/drupal>
 +    AllowOverride All
 +</Directory>
 +</file>
 +
 +Altrimenti (sarebbe anzi consigliato) le direttive rewrite dovrebbero essere copiate dal file ''.htaccess'' nella configurazione del VirtualHost.
  
 ===== Configurazione ===== ===== Configurazione =====
Line 147: Line 157:
  
 Si possono installare nella directory **''drupal/sites/all/modules/''** e **''drupal/sites/all/themes/''** rispettivamente (non nelle directory ''modules'' e ''themes'' principale!). Ne esistono molti, controllare sempre la compatibilità con la versione di Drupal in uso. Vedere la pagina [[http://drupal.org/project/Modules]] e [[http://drupal.org/handbook/config/contribmodules]]. Si possono installare nella directory **''drupal/sites/all/modules/''** e **''drupal/sites/all/themes/''** rispettivamente (non nelle directory ''modules'' e ''themes'' principale!). Ne esistono molti, controllare sempre la compatibilità con la versione di Drupal in uso. Vedere la pagina [[http://drupal.org/project/Modules]] e [[http://drupal.org/handbook/config/contribmodules]].
 +
 +Per abilitare un tema cliccare //Administer//, //Themes// e abilitarlo (Drupal rileva automaticamente la sua presenza).
  
 Quando si aggiorna un modulo bisogna sempre eseguire lo script **''update.php''**. Quando si aggiorna un modulo bisogna sempre eseguire lo script **''update.php''**.
 +
 +Nel caso che qualcosa vada storto in un tema, l'intero sito potrebbe diventare inusabile. Può essere utile forzare manualmente l'utilizzo di uno dei temi predefiniti per riprendere il controllo del sito. In **''sites/default/settings.php''** si imposta temporaneamente:
 +
 +<code php>
 +$conf = array(
 +   'theme_default' => 'minnelli',
 +   'maintenance_theme' => 'minnelli',
 +);
 +</code>
 +
 +Per vedere se il sito è off-line dal contenuto del database:
 +
 +<code sql>
 +SELECT * FROM variable WHERE name = 'site_offline';
 +</code>
 +
 +I valori della variabile possono essere:
 +
 +^ ''%%s:1:"0";%%''  | Online    |
 +^ ''%%s:1:"1";%%''  | Off-line  |
 +
 +Se la variabile non è mai stata definita è possibile crearla con:
 +
 +<code sql>
 +INSERT INTO variable (name, value) VALUES ('site_offline', 's:1:"1"');
 +</code>
 +===== Link diretti alle pagine di amministrazione =====
 +
 +Quando si installano temi personalizzati o si modifica il layout del sito, può capitare che i link di amministrazione (login, logout, amministra, ecc.) non siano visibili. Ecco i link diretti a tali pagine:
 +
 +^ **''%%http://host/drupal/?q=user%%''**    | Login o pagina utente  |
 +^ **''%%http://host/drupal/?q=logout%%''**  | Logout  |
 +^ **''%%http://host/drupal/?q=admin%%''**   | Pagina di amministrazione  |
  
 ===== Installazione traduzione italiano ===== ===== Installazione traduzione italiano =====
Line 178: Line 223:
 ===== Sito multilingua ===== ===== Sito multilingua =====
  
-Istruzioni:+Si vuole che la lingua venga scelta semplicemente anteponendo un prefisso nella path della pagina, tipo **''%%www.drupal.org/it/%%''**.
  
 +Istruzioni:
   * **[[http://drupal-translation.com/content/setup-multilingual-site|Setup for a Multilingual Site]]**   * **[[http://drupal-translation.com/content/setup-multilingual-site|Setup for a Multilingual Site]]**
   * **[[http://drupal.org/node/133977|Building multilingual sites with the Internationalization module]]**   * **[[http://drupal.org/node/133977|Building multilingual sites with the Internationalization module]]**
Line 199: Line 245:
 Fare in modo che Page e Story accettino le traduzioni: da //Administer//, //Content management//, //Translation Management//, //Status Check// verificare che le //Page// e le //Story// siano configurate in modo tale che il workflow preveda come Multilingual support //Enabled, with translation//. Fare in modo che Page e Story accettino le traduzioni: da //Administer//, //Content management//, //Translation Management//, //Status Check// verificare che le //Page// e le //Story// siano configurate in modo tale che il workflow preveda come Multilingual support //Enabled, with translation//.
  
-==== Negoziazione del linguaggio ====+==== Negoziazione della lingua ====
  
 Si imposta da //Administer//, //Site configuration//, //Languages//, //Configure//. Se si cambia l'impostazione quando già esistono delle pagine, si potrebbe corrompere la corretta rappresentazione delle stesse. Si imposta da //Administer//, //Site configuration//, //Languages//, //Configure//. Se si cambia l'impostazione quando già esistono delle pagine, si potrebbe corrompere la corretta rappresentazione delle stesse.
Line 236: Line 282:
 === Bloccare il sito web === === Bloccare il sito web ===
  
-Per impedire ai visitatori di accedere al sito durante l'aggiornamento si consiglia di mettere il sito in **maintenance mode** da //Amministra//, //Configurazione del sito//Se si effettua un logout in modalità maintenance oppure non si riesce ad accedere ad alcune pagine perché il link non è presente, ecco alcuni indirizzi utili:+Per impedire ai visitatori di accedere al sito durante l'aggiornamento si consiglia di mettere il sito in **maintenance mode** da //Amministra//, //Configurazione del sito//.
  
-^ **''%%http://host/drupal/?q=user%%''**    | Login o pagina utente +Se si effettua un logout in modalità maintenance oppure non si riesce ad accedere ad alcune pagine perché il link non è presente nell'interfaccia web, fare riferimento a **[[#link_diretti_alle_pagine_di_amministrazione|link diretti alle pagine di amministrazione]]**.
-^ **''%%http://host/drupal/?q=logout%%''**  Logout +
-**''%%http://host/drupal/?q=admin%%''**   | Pagina di amministrazione  |+
  
 In alternativa si può bloccare l'accesso a livello di server web aggiungendo qualcosa del genere nel file di configurazione di Apache: In alternativa si può bloccare l'accesso a livello di server web aggiungendo qualcosa del genere nel file di configurazione di Apache:
doc/appunti/linux/sa/drupal.1292264488.txt.gz · Last modified: 2010/12/13 19:21 by niccolo