Installare estensioni PHP tramite PEAR e PECL su Ubuntu Linux

Sviluppando siti in Drupal potrebbe capitare di dover installare sul proprio server alcune estensioni PHP aggiuntive. Se l'estensione non è disponibile nel repository ufficiale della distribuzione linux che state utilizzando o se semplicemente desiderate installare una versione differente da quella fornita come pacchetto precompilato, potreste trovare utile installare  PEAR, ovvero PHP Extension and Application Repository, niente altro che un framework e un sistema di distribuzione per codice scritto in PHP. L'installazione di PEAR conporta anche l'installazione di PECL, PHP Extension Community Library; alcune estensioni infatti potrebbero non essere disponibili in PEAR ma tramite PECL. La procedura seguente mostra come installare php PEAR su Ubuntu 10.04 Lucid Lynx e come compilare alcune estensioni da utilizzare con i vostri progetti Drupal.

Parto dal presupposto che sulla vostra macchina sia già installato LAMP. Per installare PEAR ed alcuni pacchetti di supporto scriviamo:

sudo apt-get install php-pear php5-dev php5-cli

Installazione dei pacchetti php-pear php5-dev php5-cli

Per poter compilare le estensioni, potrebbe essere necessario installare altri pacchetti di sviluppo

sudo apt-get install libpcre3-dev libmagic-dev

Installato PEAR, è possibile visualizzare un elenco delle opzioni disponibili digitando

sudo pear

Vediamo come procedere all'installazione di qualche pacchetto da utilizzare con drupal. Aggiorniamo come prima cosa l'elenco delle estensioni disponibili nei canali predefiniti:

sudo pear update-channels

Controlliamo quindi se vi sono degli aggiornamenti da effettuare:

sudo pear upgrade

Aggiornamento dei pacchetti PEAR preinstallati

Alcune estensioni che risultano utili da installare per Drupal sono uploadprogress e APC.

Se controllate nel rapporto di stato del vostro sito Drupal (http://miosito.it/admin/reports/status) potreste infatti visualizzare un avviso simile al seguente:

Drupal segnala la possibiltà di installare uploadprogress

Uploadprogress è disponibile come estensione PECL (la procedura di installazione è la stessa che per le estensioni PEAR).

sudo pecl install uploadprogress

Installazione dell'estensione php uploadprogress

Potrebbe essere necessario abilitare manualmente le estensioni appena compilate. Per abilitare uploadprogress ad esempio è sufficiente creare un file in /etc/php5/conf.d contenente il testo extension=uploadprogress.so. Generalmente utilizzo un file con nome uguale all'estensione che sto abilitando, quindi per uploadprogress:

sudo nano /etc/php5/conf.d/uploadprogress.ini

Creazione di uploadprogress.ini

Dopo aver salvato il file (digitate CTRL+X, quindi S ed infine INVIO) dovremmo riavviare Apache per abilitare l'estensione:

sudo apache2clt restart

APC, Alternative PHP Cache (disponibile la versione 3.1.4 al momento in cui sto scrivendo) è un'estensione che permette di migliorare le prestazioni della nostra macchina effettuando una cache dei file PHP direttamente nella memoria di sistema.

In genere consiglio di provare con l'ultima versione disponibile che offre funzionalità aggiuntive rispetto alla versione stabile (che al momento risulta la 3.0.19 ed è datata 2008), tuttavia prima di attivarla nel server di produzione, è bene testarne a fondo il funzionamento e verificare la stabilità del sistema. Per installare una specifica versione è necessario specificare il numero di versione in fase di installazione:

sudo pecl install apc-3.1.4

Un semplice sudo pecl install apc avrebbe infatti installato l'ultima versione stabile, opzione predefinita di PECL / PEAR.

Anche in questo caso, controllate che sia presente il file apc.ini nella cartella /etc/php5/conf.d ed in caso contrario createlo aggiungendo le seguenti righe:

sudo nano /etc/php5/conf.d/apc.ini

# Alternative PHP Cache
extension=apc.so
# dimensioni della cache in MB
apc.shm_size=64M
apc.apc.stat = 0
# Attenzione: attivare l'opzione seguente rende Wordpress inutilizzabile
# quindi attivatela solo se prevedete di non utilizzare WP sul vostro server
apc.include_once_override = 1

Al termine dovrete riavviare Apache per abilitare APC. APC dispone anche di un piccolo applicativo PHP che consente di visualizzare le statistiche di funzionamento della cache sul vostro server. Per abilitare questa funzione, create il seguente link:

sudo ln -s /usr/share/php/apc.php /var/www/apc-stats.php

Per verificare il percorso del file apc.php potete utilizzare il comando locate, dopo aver prima aggiornato il database dei file, come mostrato nell'immagine sottostante.

Installazione ed attivazione di Alternative PHP Cache

E quindi aprite la pagina http://localhost/apc-stats.php nel vostro browser (localhost se state lavorando nella macchina locale, altrimenti dovrete utilizzare un dominio configurato nel vostro server). Un consiglio, nei server di produzione non date al link di cui sopra un nome banale o scontato, in quanto chiunque può accedere a tale file e recuperare informazioni sul vostro sistema che potrebbero rivelarsi utili per secondi fini... meglio se per il link utilizzate una combinazione casuale di caratteri, qualcosa come:

sudo ln -s /usr/share/php/apc.php /var/www/apc-1dw-!wqe.php