Drupal 7 su ArchLinux

Drupal 7 su ArchLinux

Installare Drupal 7 su ArchLinux è come installare Drupal su qualunque altra distribuzione Linux. Basta solo ricordarsi di svolgere tutte le operaizoni necessarie per farlo funzionare: scaricare il pacchetto di Drupal con pacman oppure dal sito di Drupal, scaricare tutti i pacchetti che servono a Drupal per funzionare (MySQL, Apache ecc.), impostare opportunamente i file di configurazione, finalizzare l'installazione di Drupal e cominciare a divertirsi.

Primi passi per installare Drupal su ArchLinux

Innanzitutto: scaricare Drupal dal gestore di pacchetti o dal sito è praticamente indifferente. L'unico "vantaggio" di un pacman -S drupal sarà quello di evitare di scaricare il file compresso dal sito di drupal.org, scompattarlo e copiarlo manualmente nella cartella /srv/http (dove un pacman -S drupal andrà a posizionarlo in modo autonomo).

A questo punto, all'indirizzo localhost si dovrebbe trovare la directory dell'installazione di Drupal che però non sarà ancora funzionante.

Dopo aver scaricato e copiato i file di Drupal nella directory prevista, si procede con l'installazione di tutti i software che servono a Drupal per funzionare: apache, php, phpmyadmin, php-apache, php-gd, php-mcrypt, mysql dovrebbero essere sufficienti.

Configurazione di PHP 5 e Apache

A questo punto, si cominciano a sistemare i file di configurazione. Si modifica il file /etc/php/php.ini decommentando (ovvero togliendo il ';' ) le seguenti righe:

extension=gd.so
extension=json.so
extension=mcrypt.so
extension=mysql.so
extension=pdo.so
extension=pdo-mysql.so

Va modificato anche il file /etc/httpd/conf/httpd.conf commentando la riga:

LoadModule unique_id_module modules/mod_unique_id.so

in questo caso anteponento un '#'.

Per configurare PHP, inoltre, bisogna aggiungere in questo file la riga:

LoadModule php5_module modules/libphp5.so

e, nella sezione include,

Include conf/extra/php5_module.conf

PhpMyAdmin

Per configurare PhpMyAdmin basta seguire passo passo le indicazioni del wiki di ArchLinux su https://wiki.archlinux.org/index.php/PhpMyAdmin. Si copia il file di configurazione di esempio:

cp /etc/webapps/phpmyadmin/apache.example.conf /etc/httpd/conf/extra/httpd-phpmyadmin.conf

e si modifica il file /etc/httpd/conf/httpd.conf aggiungendo le seguenti righe:

Include conf/extra/httpd-phpmyadmin.conf
LoadModule php5_module modules/libphp5.so
AddHandler php5-script php

Infine, nella sezione IfModule dir_module si aggiunge la voce index.php dopo la direttiva DirectoryIndex index.html.

Inoltre ci si deve assicurare che in /etc/httpd/conf/extra/httpd-phpmyadmin.conf ci siano le seguenti righe:

Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
  AllowOverride All
  Options FollowSymlinks
  Order allow,deny
  Allow from all
</Directory>

Poi va modificato il file /etc/php/php.ini aggiungendo alla riga open_basedir il percorso dell'installazione di PhpMyAdmin: /usr/share/webapps/:/etc/webapps/.

Un'altra modifica da fare al file /etc/httpd/conf/httpd.conf, prima di passare alla configurazione di MySQL, è quella di cambiare il parametro AllowOverride None in AllowOverride All, in modo da poter utilizzare la funzionalità "clean url" di Drupal. Un'unica accortezza, in particolare se si scarica Drupal con pacman: verificare che la voce deny from all sia commentata nel file .htaccess della cartella di Drupal.

A questo punto, si può riavviare il servizio Apache con un bel

/etc/rc.d/httpd restart

MySQL

Passiamo a MySQL. Avviamo il servizio e partiamo con l'installazione con i comandi:

/etc/rc.d/mysqld start
mysql_secure_installation

Ora possiamo seguire le istruzioni presenti nella documentazione di Drupal oppure nel file INSTALL.mysql.txt presente nella directory di installazione di Drupal:

  1. Creiamo un nuovo dabatase con mysqladmin -u username -p create databasename
  2. Accediamo al database per impostare i permessi corretti: mysql -u username -p
  3. Dal prompt MySQL impostiamo i permessi con il comando: GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, LOCK TABLES, CREATE TEMPORARY TABLES ON `databasename`.* TO 'username'@'localhost' IDENTIFIED BY 'password';
  4. Ed infine aggiorniamo i permessi con FLUSH PRIVILEGES;

Drupal

Sistemato MySQL concludiamo l'installazione di Drupal copiando il file default.settings.php in settings.php e cambiandone i permessi:

cp sites/default/default.settings.php sites/default/settings.php
chmod a+w sites/default/settings.php

permessi che vanno cambiati, per la fase di configurazione iniziale di Drupal, anche per la nuova cartella "files" che dobbiamo creare in sites/default.

chmod a+w sites/default/files

A questo punto, in localhost troveremo il nostro Drupal 7 che ci chiederà di eseguire una piccola procedura di installazione (specificare l'indirizzo del database, il nome utente per MySQL e poche altre impostazioni) per arrivare finalmente al nostro primo sito in Drupal 7 pronto all'uso.

Per ultima cosa si raccomanda di togliere i permessi di scrittura del file settings.php con:

chmod 444 sites/default/settings.php

Bene, ora so dove venire a guardare la prossima volta che voglio giocare con Drupal. :P