Attenzione: l'articolo è stato scritto da oltre 1 anno, le informazioni in esso contenute potrebbero essere datate e non più attuali.

CMS: Drupal

N.B. Molte informazioni contenute su questa pagina si riferiscono a versioni di Drupal inferiori alla 6.

Drupal è un CMS, ossia una serie di script (in PHP per la precisione) capaci di gestire i contenuti di un sito, con l'inserimento dei giusti moduli e un po' di lavoro di configurazione può fare praticamente qualsiasi cosa.

Del CMS mi piace molto il sistema dei vocabolari (o tassonomia) e la semplicità nella modifica del tema grafico. La comunità che ruota intorno al sito è abbastanza disponibile anche se alcuni moduli sono un po' grezzi e il livello di diffusione non è paragonabile (ancora) ai sistemi nuke.

Installazione

L'installazione è molto semplice ed è ben documentata nel file INSTALL presente nel pacchetto di installazione. I passi sono i seguenti:

  1. Scaricare Drupal
    Andate sul sito ufficiale e scaricate Drupal dalla sezione downloads, poi estraete il pacchetto e copiatelo sul server.
  2. Creare il database per Drupal
    Qui i modi sono diversi, con alcuni fornitori potreste già aver assegnato nome, password e username per accedere al database. Con altri dovrete crearlo voi via PhpMyAdmin o, manualmente, se avete accesso alla shell. Nel file INSTALL tutte le istruzioni.
  3. Caricare lo schema del database.
    Anche qui tutto dipende dalle modalità di accesso al database. Se usate PhpMyAdmin, dopo aver scelto il database, selezionate SQL e inserite il percorso verso lo schema (si trova nella sottocartella database nel pacchetto di Drupal) in basso.
  4. Configurate i vari parametri
    Il primo file da modificare è sites/defaults/setting.php. Dovrete specificare almeno il percorso verso l'installazione di Drupal e i parametri di connessione al database. Il secondo è il file .htaccess.
  5. Configurate Drupal
    Ora potrete accedere via browser a Drupal, creare il primo utente e cominciare a configurare il sistema
  6. Cron
    Alcuni moduli richiedono dei controlli periodici attivabili con Cron (vedi il file INSTALL). Se non disponete dell'accesso a Cron potete usare il modulo Poormanscron.
  7. Localizzate il programma
    Se volete tradurre l'interfaccia del programma dovrete scaricare il file .po con la traduzione in italiano da QUI e importarlo in Drupal admin / localization / import.

Aggiungere un prefisso alle tabelle del database

Drupal per non interferire con altre tabelle presenti nel database può far precedere al nome delle tabelle un prefisso univoco in modo da tenerle isolate dalle altre, ad esempio: drupal_tabella1, drupal_tabella2, ecc..
Per usare questa caratteristica dovrete stare attenti alla fase della creazione dello schema del database, sia relativo all'intero Drupal che per singoli moduli. Nel caso dell'intero Drupal dovrete modificare il file database.mysql aggiungendo il prefisso al nome di ogni tabella ad esempio con il comando sostituisci di un qualsiasi editor di testo. Sostituite "CREATE TABLE" con "CREATE TABLE drupal_", "INSERT INTO" con "INSERT INTO drupal_", "REPLACE " con "REPLACE drupal_".
Fatto questo ricordatevi di inserire il prefisso usato nel file sites/default/settings.php nella variabile $db_prefix.

Ricordatevi di fare le stesse sostituzioni ogni qualvolta inserite uno schema di tabelle per i vari moduli aggiuntivi.

Alcune accortezze con Aruba

Se provate a seguire le istruzioni riportate nel file INSTALL o le mie date sopra, per un hosting Aruba (ma il problema potrebbe riguardare anche altri host) non riuscirete ad usare al 100% Drupal. Il primo problema è dovuto ad alcune incompatibilità tra il file .htaccess incluso nella cartella principale di Drupal e la configurazione di Apache fatta da Aruba. Per risolvere il problema commentate alcune opzioni contenute nel file con lo #. Sotto ecco le righe da commentare, purtroppo non so se ciò potrebbe portare problemi al funzionamento di Drupal ma finora non ne ho riscontrati:

# Options -Indexes
# Options FollowSymLinks
# DirectoryIndex index.php



Il secondo ordine di problemi riguarda i parametri dell'interprete PHP, Aruba installa il php come CGI e non come modulo di apache e quindi le impostazioni relative al PHP nel file .htaccess non vengono lette (tra l'altro Aruba ha installato la versione 2 di Apache mentre il file .htaccess si riferisce alla versione 1). Per risolvere quest'altro problema vi basta creare un file di testo chiamato php.ini e inserirvi queste righe:

register_globals = 0
track_vars = 1
short_open_tag = 1
magic_quotes_gpc = 0
magic_quotes_runtime = 0
magic_quotes_sybase = 0
arg_separator.output = "&"
session.cache_expire = 200000
session.gc_maxlifetime = 200000
session.cookie_lifetime = 2000000
session.auto_start = 0
session.save_handler = user
session.cache_limiter = none
allow_call_time_pass_reference = On












Ricordatevi, infine, di dargli i permessi di esecuzione altrimenti non verrà letto (come tutti i file php su Aruba). A questo punto tutto dovrebbe essere configurato per bene.

Error 500: internal server error

Nell'installazione della versione 4.5 ho avuto questo errore, dopo varie peregrinazioni per il web ho trovato un suggerimento che mi ha fatto saltare l'ostacolo. Avevo inviato i file di Drupal attraverso una macchina Win con un client FTP che conoscevo poco, evidentemente qualcosa non deve aver funzionato, ritrasferendoli dal mio PC linux il problema è sparito. Da quello che ho capito il problema forse è stato causato dal diverso carattere che i sistemi win e *nix usano per il fine riga (su aruba ho lo spazio linux). Non ne sono sicuro ma fatto è che dopo aver ritrasferito tutti i file il problema è sparito.

Internal server error

Un'altra causa di questo errore può essere la cattiva configurazione dei permessi sui file. Per correggere i permessi su Aruba collegatevi all'indirizzo www.example.com/login (sostituendo example col vostro sito), effettuate il login e scegliete dal menu la voce Ripristina i permessi. Per potervi collegare alla pagina in questione dovrete eliminare i l file .htaccess inserito precedentemente, ricopiatelo una volta ripristinati i permessi.

Argomenti correlati


Il tuo voto: Nessuno Media: 4.8 (9 voti)

Commenti

ARUBA PHP.ini

Non credo che Aruba supporti questa possibilità, ergo, a me non funziona nulla avendo io hosting/linux aruba.

http://community.aruba.it/forums/ultimatebb.php?ubb=get_topic;f=23;t=006...

L'articolo è un po' vecchio e

L'articolo è un po' vecchio e non so sinceramente se la modifica del file php.ini è ancora possibile, però da un po' di tempo aruba dà la possibilità di scegliere tra alcune configurazioni del file php.ini dal centro di controllo del sito. Una delle configurazioni preimpostate è specifica per Drupal quindi non capisco perché non funziona. Prova pure a rispristinare i permessi sempre dal centro di amministrazione.

Ciao, Mike

P.S. il link che hai segnalato parla di specifiche funzioni di PHP che non sono necessarie per il funzionamento di Drupal

ventus85

E' un post molto utile!

Ho avuto dei problemi quando ho fatto il trasferimento di un sito fatto in Drupal da un dominio ad un altro (come puoi leggere qui nel mio sito) e nel cercare con Google ho trovato il tuo articolo con le indicazioni giuste. Trovandolo utile l'ho anche indicato alla fine del mio.

Ciao!

Ciao

Ciao , grazie

casino online | casino online

Non mi è chiaro come caricare lo schema dei database

Perdonami, ma che cosa significa: "..e inserite il percorso verso lo schema (si trova nella sottocartella database nel pacchetto di Drupal) in basso..." Io non ho sottocartelle database da nessuna parte! Puoi cortesemente chiarirmi questo punto? Grazie!
Davide

Le istruzioni si riferiscono

Le istruzioni si riferiscono a vecchie versioni di drupal, se installi la versione 6 ti basta modificare il file settings.php impostando i dati del server database e poi completare l'nstallazione andando all'indirizzo del tuo sito web.
Ciao Mike

Ok, fatto tutto, ma ho problemi con il file "database.mysql.inc"

Questo il messaggio di errore via Web al primo accesso per l'installazione iniziale:
[con PIPPO = nomemiodb e PLUTO = miosito]

Warning: Table 'PIPPO.access' doesn't exist query: SELECT 1 FROM access WHERE type = 'host' AND LOWER('93.34.200.122') LIKE LOWER(mask) AND status = 0 LIMIT 0, 1 in /web/htdocs/PLUTO/includes/database.mysql.inc on line 128

Warning: Table 'PIPPO.users' doesn't exist query: SELECT u.*, s.* FROM users u INNER JOIN sessions s ON u.uid = s.uid WHERE s.sid = '67a0b30d657318a63354d3d37fc57d18' in /web/htdocs/PLUTO/includes/database.mysql.inc on line 128

Warning: Table 'PIPPO.cache' doesn't exist query: SELECT data, created, headers, expire, serialized FROM cache WHERE cid = 'variables' in /web/htdocs/PLUTO/includes/database.mysql.inc on line 128

Warning: Table 'PIPPO.variable' doesn't exist query: SELECT * FROM variable in /web/htdocs/PLUTO/includes/database.mysql.inc on line 128

Warning: Table 'PIPPO.cache' doesn't exist query: UPDATE cache SET data = '', created = 1240483211, expire = 0, headers = '', serialized = 0 WHERE cid = 'variables' in /web/htdocs/PLUTO/includes/database.mysql.inc on line 128

Warning: Table 'PIPPO.system' doesn't exist query: SELECT name, filename, throttle FROM system WHERE type = 'module' AND status = 1 AND bootstrap = 1 ORDER BY weight ASC, filename ASC in /web/htdocs/PLUTO/includes/database.mysql.inc on line 128

Warning: Table 'PIPPO.url_alias' doesn't exist query: SELECT COUNT(pid) FROM url_alias in /web/htdocs/PLUTO/includes/database.mysql.inc on line 128

Qualche anima pia ha dei consigli?
Grazie!!
Davide

Riprova :)

Purtroppo ti ho detto erroneamente di puntare sulla pagina install.php, non era necessario bastava andare solamente all'indirizzo principale. Allo stesso tempo non credo che abbia influito sul problema.
L'errore segnalato riguarda il fatto che l'installazione non trova alcune tabelle del database, ti conviene cancellare il database e riprovare. Quasi tutti i servizi di hosting mettono a disposizione PhpMyAdmin per lavorare sui database, tu su quale servizio di hosting stai provando a installare drupal?
Ciao, Mike

E' un giorno che ci sto lavorando..

Su Aruba. Ho questa variante, che sto installando in una sottodirectory. Ho cancellato il DB più volte. Niente da fare. Credenziali nel setting.php verificate..

In settings.php dovresti

Quindi i file di drupal si trovano in in una sottodirectory.
In settings.php dovresti avere quindi qualcosa del genere:

$db_url = 'mysql://xxxxxxxxx:xxxxx@xxxx/Sqlxxxxxx_5';
$db_prefix = '';
$base_url = 'http://www.example.com/sottodirectory';

mentre in .htaccess la direttiva:

RewriteBase /sottodirectory

Hai fatto così?

Esatto

..ma non funziona.

Scusa ti ho dato una serie di

Scusa ti ho dato una serie di informazioni sbagliate ... è un bel po' di tempo che non installo Drupal da zero.
Allora, riepiloghiamo:
* cancella il database
* copia i file di drupal nella sottodirectory (ricopiali per sostituire i file modificati)
* vai all'url del tuo sito: es, www.example.com/sottodirectory/
Nelle schermate che ti appariranno andrai a inserire i dati del database e drupal ti aggiornerà il file settings.php
* ora dovrebbe funzionare tutto :)
Ciao, Mike

Ti ringrazio

..ma questo mi riporta al punto di partenza (Error 500). Grazie comunque per il tempo e la pazienza.

Prova a commentare nel file

Prova a commentare nel file .htaccess le righe indicate nell'articolo. Se ciò non funziona aggiusta i permessi su tutti i file o dal programma ftp che usi (puoi impostare tutti i permessi su 755) oppure dall'interfaccia di amministrazione del sito scegliendo la voce ripristina permessi: l'interfaccia la puoi raggiungere da http://admin.aruba.it/login.aspx
Ciao, Mike

Risolto

Era una banale questione di versione di MySQL. Modificando i file (.htaccess e setting.php) in locale e poi passando al Web non mi accorgevo di una questione findamentale, ovvero i requisiti di installazione. Funzionava effettivamante tutto, ma le query non venivano eseguite per la versione di MySQL. Drupal 6.10 richiede minimo la Ver. 4.1.1. Il mio db, acquistato oltre 5 anni fa era più vecchio (ora devo comperarne uno nuovo..). Non definendo invece il file setting.php e lanciando l'installazione online ho capito perché l'installazione partiva e poi l'errore viene visualizzato via Web.

Drupal dovrebbe funzionare

Drupal dovrebbe funzionare anche con versioni minori di Mysql, io fino a poco tempo fa avevo la 4.0.qualcosa. Poi ho avuto una serie di problemi relativi a vari moduli e ho preferito acquistare un nuovo servizio mysql per avere una versione recente.
Nel tuo caso verificherei i permessi sui file, secondo me l'installazione dovrebbe arrivare cmq a termine. Se però pensi di passare a mysql 4.1.x avrai qualche problema a spostare il database.
Ciao

Database configuration

Al momento di configurare il db mysql su aruba mi da questo allert e non mi fa andare avanti:

Potete aiutarmi?

The following installation warning should be carefully reviewed:

Operations on Unicode strings are emulated on a best-effort basis. Install the PHP mbstring extension for improved Unicode support. (Currently using Unicode library Standard PHP)

database configuration

Ciao anche io ho il tuo stesso problema di configurazione del database su aruba:

The following installation warning should be carefully reviewed:

Operations on Unicode strings are emulated on a best-effort basis. Install the PHP mbstring extension for improved Unicode support. (Currently using Unicode library Standard PHP)

come hai risolto?
C'è qualcuno che puo aiutarmi? vi pregoo!!

Prova ad aggiornare la

Prova ad aggiornare la versione di PHP alla 5. Puoi farlo dal pannello di configurazione di aruba raggiungibile da http://admin.example.com
ovvimanete sostituendoemple col tuo sito.
Ciao, Mike :)

errore 500

ho seguito la tua preziosissima guida, ma ho smanettato tutto il pomeriggio e non combino
quando digito l'indirizzo del mio sito mi dà sempre l'errore 500... può essere un problema di db? perchè aruba non mi fa modificare in alcun modo i db che lui ha creato dandomi l'errore 1044 (cioè: non puoi editare questo cavolo di db..)
idee? suggerimenti?
grazie
d

Altre cause error 500

Nelle varie installazioni di Drupal l'errore 500 è capitato quando alcuni file che avrebbero dovuto essere eseguibili, in particolare i file .php, non lo erano: basta usare il programma FTP per ripristinare i permessi.
Un'altra causa potrebbe essere dovuto a qualche riga presente in .htaccess, si può provare a commentarle tutte con il cancelletto e poi rimuoverli uno alla volta per vedere se la situazione migliora.
Ciao, Mike

.htaccess

Bravo, complimenti, ora .htaccess funziona anche con aruba linux e drupal-4.7.2
Non appena completo inserirò un link a questo sito. Grazie mille!

A presto

problemi con la traduzione

Salve, innanzitutto grazie per tutte le preziose informazioni.
Chiedo una mano perche' ho riscontrato dei problemi: non riesco ad importare la traduzione in italiano...
Sono su Linux e ho modificato htaccess per Apache 2 come indicato sul sito di drupal.
L'errore che mi da' e' il seguente:

Fatal error: mime_magic could not be initialized, magic file /etc/apache/magic is not available in /web/htdocs/www.miodominio.it/home/miacartella/includes/file.inc on line 149

come posso fare?

Mary - renykerimathotmail [dot] com

Prova a vedere questo

Prova a vedere questo http://www.drupalitalia.org/?q=node/784
Ciao, MIke

Ottimo tutorial, lo linko anc

Ottimo tutorial, lo linko anche da Drupal Italia.
michele - www.drupalitalia.org

Sito di supporto in italiano!

Se avete bisogno di aiuto nell'installazione ed utilizzo di drupal visitate Drupal.it

php.ini

Grazie per le informazioni precise riguardo Aruba. A tal proposito vorrei sapere in quale directory va messo il file php.ini

Va inserito nella root, la di

Va inserito nella root, la directory principale.
Ciao, Mike