Drupal su amazon EC2

Drupal è un potente Content Management System che gira su un server LAMP (Linux + Apache + MySQL + PHP) adatto per ospitare blog, forum, e una varietà di altri contenuti, con una vasta scelta di moduli aggiuntivi per altre funzionalità, come chat, e-commerce, vari strumenti multimediali, messaggistica istantanea, gestione delle relazioni con i clienti e molto altro.

Ci sono attualmente due versioni stabili di Drupal, la 5 e la 6 la 7 è in fase di sviluppo. L’installazione delle due versioni più o meno avviene allo stesso modo, noi prenderemo in considerazione la 6.

Partendo dalla nostra istanza ubuntu 10.04 creata in precedenza (vedi qualche post precedente) installiamo l’ambiente di lavoro LAMP con il comando:
sudo tasksel install lamp-server

Anche se opzionale è meglio abilitarela funzione rewrite su Apache2, che aiuta con molti moduli in Drupal:
sudo a2enmod rewrite

Riavviamo apache:

sudo /etc/init.d/apache2 restart

Per installare Drupal possiamo procedere in due metodi: manuale o con il pacchetto Ubuntu (dai repository) in questo caso viene installato su directory diverse dal metodo manuale. Scegliere uno o l’altro metodo, ma non tentare di utilizzare entrambi. Non è possibile passare avanti e indietro tra i due metodi.

Installazione dai repository Ubuntu
Per Drupal6:
sudo apt-get install drupal6
Per Drupal5:
sudo apt-get install drupal5
Come sempre, la versioni repository non sono le più recenti, ma possono essere aggiornate facilmente.

Installazione manuale
L’installazione manuale anche se un pò piu lunga come procedura la considero la scelta migliore per verificare l’ultima versione visita: http://drupal.org/project/drupal
Attualmente l’ultima release stabile è la 6.19, quindi:
sudo wget http://ftp.drupal.org/files/projects/drupal-6.19.tar.gz
sudo tar xvzf drupal-6.19.tar.gz
sudo mkdir /var/www/drupal
sudo cp -r drupal-6.19 /var/www/drupal

E ‘necessario creare una sottodirectory file nella directory di installazione di Drupal sito predefinito. Sarà utilizzata per i file come logo personalizzato, gli avatar degli utenti, e altri media associati al tuo nuovo sito.
sudo mkdir /var/www/drupal/sites/default/files
sudo chown www-data:www-data /var/www/drupal/sites/default/files

Creazione del file di configurazione iniziale per il sito predefinito.
sudo cp /var/www/drupal/sites/default/default.settings.php /var/www/drupal/sites/default/settings.php
sudo chown www-data:www-data /var/www/drupal/sites/default/settings.php

Configurare manualmente del database MySQL
Possiamo farlo o a riga di comando o usando phpmyadmin, in questo caso quest’ultimo non è installato quindi procediamo con la riga di comando:
mysqladmin -u root -p create drupal
Dove Drupal è il nome scelto per il database MySQL ma si può chiamare come si vuole.
Se non volete usare l’utente root creiamo un utente per il database:
mysql -u root -p

mysql> GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE TEMPORARY TABLES, LOCK TABLES ON drupal.* TO 'utentedrupal'@'localhost' IDENTIFIED BY 'password';

Di colore rosso il testo variabile da cambiare.
mysql> FLUSH PRIVILEGES;
mysql> \q

Abbiamo quasi finito, basta puntura il browser su http://indirizzo-ip/drupal e se tutto è andato bene visualizzeremo la pagina d’instalazione:

Configurazione Ubuntu 10.04 LTS Lucid Lynx su EC2

Per prima cosa dobbiamo scegliere l’AMI giusta in base ai nostri gusti se a 32 o 64 bit se nella zona euro anziche in asia o America se in istance mode o in EBS.

Io per iniziare a provare la release ho scelto la 32Bit area eu-west-1 in modalità storage persistente (EBS mode) che corrisponde come ami alla ami-a94d67dd fatto questo naturalmente bisogna fare partire listanza.

Appena l’istanza è online, per rompere il ghiaccio, accediamo in ssh naturalmente con nome utente “ubuntu”e lanciamo il classico comando

sudo apt-get update

Fatto questo dobbiamo installare le API tools, ma prima dobbiamo fare una modifica, aggiungere Multiverse al repositories, quindi:
sudo nano /etc/apt/sources.list
Il risultato finale deve essere come questo:

Salviamo e usciamo da nano per digitare:

sudo apt-get install ec2-api-tools

Adesso viene la parte un pò più complicata dobbiamo fare in modo di avere le seguenti variabili di ambiente nel proprio profilo di shell.

Questo si ottiene aggiungendo le seguenti righe al vostro ~ /. Bashrc se si usa bash come shell:

export EC2_PRIVATE_KEY=$HOME/<percorso chiave privata>/pk-XXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
export EC2_CERT=$HOME/<
percorso certificato>/cert-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.pem
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk

Per verificare che tutto è andato per il verso giusto lanciamo ilcomando:
ec2-describe-images -o self -o amazon

Salviamo la chiave privata
ec2-add-keypair ec2-keypair > ec2-keypair.pem

Assicuriamoci che i permessi sul file siano impostati su 600
chmod 600 ec2-keypair.pem

Ultima cosa da fare è quella di settarela zona:
export EC2_URL=https://eu-west-1.ec2.amazonaws.com