Drush è un comodo tool per gestire attività inerenti a Drupal in modo semplice e veloce. Drush permette di connettersi al sito drupal.org, installare Drupal, installare moduli, abilitare moduli e molto altro ancora. Questo è il motivo per cui ho scelto di installare Drupal 7 con Drush, e questa guida serve per farlo nel migliore dei modi.
L'ambiente di lavoro è Ubuntu 13.10
Operazioni preliminari - 1
Per il corretto funzionamento di Drupal bisogna assicurarsi che mod_rewrite sia abilitato in Apache (attivazione del Clean URLs); per verificare che lo sia usare il comando:
$ apache2ctl -M
se nell'elenco che viene restituito come risposta compare "rewrite_module" siamo a posto, altrimenti lo abilitiamo:
$ sudo a2enmod rewrite
poi, per rendere attivo il modulo, bisogna riavviare Apache:
$ sudo service apache2 restart
Se al riavvio esce l'errore
* Restarting web server apache2 AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
dobbiamo aprire con un editor il file apache2.conf
$ sudo gedit /etc/apache2/apache2.conf
e inserire la riga
ServerName 127.0.0.1
e riavviare di nuovo Apache
$ sudo service apache2 restart
Controlliamo l'effettiva abilitazione del modulo rewrite:
$ sudo apache2ctl -M
Ora "rewrite_module" dovrebbe essere presente nell'elenco.
Operazioni preliminari - 2
Dobbiamo installare la libreria PHP-GD Graphics:
$ sudo apt-get install php5-gd
Per verificare se tale libreria sia presente possiamo eseguire una semplice applicazione PHP:
<?php
if (extension_loaded('gd') && function_exists('gd_info')) {
echo "Libreria GD Graphic presente";
}
else {
echo "Libreria GD Graphic non installata";
} ?>
Operazioni preliminari - 3
Apriamo il file di configurazione apache2.conf e assicuriamoci che "Allow Overrides" sia impostato a "All":
$ cd /etc/apache2
$ sudo gedit apache2.conf
e modifichiamo il tag seguente
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
sostituendo
AllowOverride None
con
AllowOverride All
Installazione Drupal
Per installare Drupal posizionarsi nella cartella dove vogliamo scaricarlo (per esempio /var/www):
$ cd /var/www
Scaricare quindi l'ultima versione:
$ sudo drush dl drupal
Come effetto viene creata una nuova cartella con all'interno i file per l'installazione denominata "drupal-7.26". Rinominare la cartella con il nome che vogliamo usare:
$ sudo mv drupal-7.26 drupal7_test
Creare un DB in phpMyAdmin chiamandolo per esempio "drupal7_test".
Posizionarsi nella cartella in cui è presente Drupal:
$ cd drupal7_test
Sostituendo i valori corretti in base al vostro ambiente ai parametri
- "dbUser" - l'utente del database creato precedentemente(tipicamente "root")
- "dbPsw" - la password del database creato precedentemente
- "dbName" - nome del database, nel nostro caso "drupal7_test"
- "SiteName" - nome del sito, p.e. nel nostro caso "Drupal 7 Test"
- "DrupalAdminUser" - utente amministratore del sito (tipicamente "admin")
- "DrupalAdminPsw" - password per l'accesso all'amministrazione Drupal
- "DrupaladminMail" - email dell'amministratore del sito
eseguire il seguente comando:
sudo drush site-install standard --db-url=mysql://[dbUser]:[dbPsw]@localhost/[dbName] --site-name="SiteName" --account-name=[DrupalAdminUser] --account-pass=[DrupalAdminPsw] --site-mail="DrupaladminMail" --db-prefix=shared_
Se il comando dovesse restituire questo errore:
Command site-install needs a higher bootstrap level to run - you will need to invoke drush from
a more functional Drupal environment to run this command.
significa che il download di Drupal contine un file di configurazione, nella cartella sites/default, con il nome default.settings.php invece di settings.php. In questo caso deve essere rinominato e probabilmente andranno impostati i permessi al nuovo file. Andiamo perciò nella cartelle dove abbiamo scaricato Drupal
$ cd sites/default
copiamo default.settings.php in settings.php
$ sudo cp default.settings.php settings.php
infine modifichiamo i permessi del file di configurazione
$ sudo chmod a+w settings.php
Torniamo nella cartelle del sito Drupal:
$ cd /var/www/drupal_7
Rieseguiamo il comando "sudo drush si ...". A questo punto abbiamo una versione di Drupal 7 funzionante.
Se eseguiamo ora il comando "drush status" vedremo che sono presenti le informazioni del Drupal appena installato
$ drush status
Drupal version : 7.26
Site URI : http://default<br< a=""> /> Database driver : mysql
Database username : root
Database name : drupal7_test
Database : Connected
Drupal bootstrap : Successful
Drupal user : Anonymous
Default theme : bartik
Administration theme : seven
Drupal root : /var/www/drupal7_test
Site path : sites/default
File directory path : sites/default/files
Temporary file directory path : /tmp
Verifichiamo ora l'installazione accedendo all'indirizzo "localhost/drupal7_test" dal nostro browser. Se dopo aver inserito user e password drupal non viene caricato ma esce il messaggio
The requested URLxxxx/node was not found
bisogna aprire in editing apache2.conf
$ sudo gedit /etc/apache2/apache2.conf
e nel blocco
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
abilitare l'opzione AllowOverride, cioè sostituire la riga
AllowOverride None
con
AllowOverride All
Fatto questo riavviare Apache e dopo di ciò potrete accedere correttamente all'amministrazione di Drupal
$ sudo service apache2 restart