7521 Letture

PHP a tutta velocità: come aggiornare Zend Server all'ultima versione

Di Zend Server abbiamo fatto la conoscenza in un precedente nostro articolo (ved. queste pagine). Si tratta di un'eccellente piattaforma che si propone come obiettivo primario quello di mettere nelle mani dello sviluppatore così come in quelle dell'amministratore di un server web uno strumento affidabile per eseguire, in tutta sicurezza, applicazioni "mission critical" scritte in PHP.
Zend Server è un "web application server" che consente di eseguire e gestire applicazioni web realizzate in PHP offrendo un elevato livello di affidabilità, performance e sicurezza. Il prodotto è compatibile con Linux (pacchetti DEB e RPM), Windows (da XP SP2 in poi, sistemi Windows Server 2003 e Windows Server 2008 compresi), Mac OS X 10.5, 10.6 e 10.7 nonché con IBM i.

Prima di proseguire con la lettura vi suggeriamo di leggere attentamente questo articolo così da documentarvi sulle possibilità offerte da Zend Server e circa la procedura da seguire per l'installazione in ambiente Windows.



Sia che si utilizzi il web server Apache che si utilizzi IIS, in ambiente Windows – dopo l'installazione di Zend Server – si avranno enormi benefici dopo l'installazione e la configurazione della piattaforma. In particolare, gli script PHP verranno eseguiti senza difficoltà potendo contare su una gestione ragionata delle risorse macchina e di una solida attività di ottimizzazione del codice.

Zend Server è distribuito in due versioni: l'una completamente gratuita ("Community Edition") e l'altra a pagamento. La versione a costo zero, che può essere impiegata anche su un server web, in produttività, manca di alcune caratteristiche più evolute purtuttavia include uno dei componenti più utili per velocizzare il caricamento delle pagine PHP: Zend Optimizer+. Tale componente si occupa di creare dinamicamente una versione ottimizzata delle pagine PHP che compongono una qualunque applicazione web. Attingendo al bytecode che viene generato automaticamente da Zend Optimizer+, Zend Server può sveltire di gran lunga le successive richieste legate alle medesime pagine PHP.

Uno dei fiori all'occhiello di Zend Server è la sua interfaccia di amministrazione accessibile via web che rende possibile la configurazione dell'intera piattaforma senza dover mettere mano ad alcun file di configurazione. Ad esempio, grazie al pannello di amministrazione di Zend Server non si dovrà più editare il file php.ini per abilitare o disattivare un'estensione oppure per variare la configurazione di una specifica direttiva: basterà collegarsi al pannello di controllo del software ed apportare, con pochi clic del mouse, gli interventi necessari.

In questo articolo abbiamo visto, nel dettaglio, tutti i passi da seguire per installare Zend Server CE ("Community Edition") in ambiente Windows. La procedura è sostanzialmente identica qualunque sia la versione di Windows installata sul sistema.

Il setup di Zend Server è poi in grado di riconoscere le precedenti versioni del pacchetto che dovessero essere eventualmente già presenti sul sistema in uso, sia essa una macchina impiegata per scopi di test, sia un server utilizzato in produttività.

Di recente, ad esempio, Zend ha messo a disposizione degli utenti Zend Server 5.6.0, sia per ciò che riguarda la versione a pagamento che per ciò che concerne la "Community Edition". Di solito è sempre bene provvedere ad aggiornare tempestivamente Zend Server perché il pacchetto contiene la versione più recente di PHP, esente da tutte le vulnerabilità di sicurezza note. La release 5.6.0 di Zend Server, ad esempio, risolve una vulnerabilità critica scoperta in molti linguaggi di programmazione e nei principali server web. Gli esperti di n-runs, ad esempio, hanno comunicato di aver messo a nudo una lacuna in molteplici prodotti software usati lato server che può facilitare attacchi DoS (Denial of Service). Sferrando un attacco mirato, infatti, un aggressore può arrivare in breve tempo ad esaurire le risorse disponibili sulla macchina (memoria e processore) causando, di fatto, l'irraggiungibilità di tutti i siti presenti sul server (ved., per maggiori informazioni, questo documento PDF). Zend Server 5.6.0 contiene una versione modificata di PHP che consente di scongiurare i rischi di un attacco. A scelta dell'utente, questi può scaricare – facendo riferimento a queste pagine, la versione di Zend Server contenente PHP 5.2.x oppure PHP 5.3.x.
Richiamando la ben nota funzione phpinfo() da uno script PHP o cliccando sulla voce PHP Info nel pannello di amministrazione di Zend Server, si potrà verificare rapidamente la versione di PHP e tutte le altre impostazioni in uso.

Aggiornamento di una precedente versione di Zend Server

L'ultima versione di Zend Server CE al momento disponibile (Zend Server 5.6.0) è in grado di aggiornare Zend Server 5.0.x e seguenti (non è più possibile effettuare un upgrade a partire dalle major release "più stagionate"...):

Suggeriamo di optare sempre per l'installazione personalizzata (Custom) in modo da controllare i componenti che verranno caricati sul sistema nonché per regolare in profondità le impostazioni del software.

Cliccando sul pulsante Install, verrà avviata la procedura d'installazione vera e propria del pacchetto.
Prima di procedere, è consigliabile arrestare il web server (nel caso di Microsoft IIS, con il comando iisreset /stop) quindi, per maggior sicurezza, rimuovere temporaneamente gli script PHP contenenti credenziali d'accesso e dati sensibili. Non si avvii mai il server web (ad esempio, iisreset /start) prima di verificare che le pagine PHP siano correttamente elaborate da parte di Zend Server.

La frase IIS Web Server will be configured on site: Default web site on port: 10081 sta a significare che il pannello di amministrazione di Zend Server risponderà sulla porta TCP 10081 "legandosi" al sito web di default.
Sulle versioni server di Windows (i.e. Windows Server 2003 e Windows Server 2008) è possibile fare in modo che l'interfaccia di Zend Server resti in ascolto sulla porta 80 facendo clic col tasto destro del mouse sul sito corrispondente in IIS, cliccando su Proprietà, sul pulsante Avanzate (scheda Sito web), quindi modificando i valori predefiniti. Nella colonna Porta, si potrà specificare 80 mentre in quella relativa all'header dell'host l'indirizzo mnemonico per l'accesso al pannello di amministrazione di Zend Server (esempio: adminzend.nomedelsito.com):

Nella scheda Protezione directory, come indicato in questa pagina, è bene cliccare sul pulsante Modifica quindi disattivare la casella Accesso anonimo e spuntare Autenticazione integrata di Windows. Così facendo, per accedere al pannello di controllo web di Zend Server, si dovranno necessariamente introdurre le credenziali d'accesso di un account utente autorizzato.


Dal pannello di amministrazione di Zend Server, suggeriamo di fare clic sulla scheda Administration quindi selezionare l'opzione No in corrispondenza di Zend Server Feature Content (in calce alla schermata):

In questo modo, dopo aver cliccato su Update, verranno eliminati tutti i riferimenti a quelle funzionalità che sono presenti solo nella versione a pagamento di Zend Server ma non nella "Community Edition".

Nel caso in cui, in ambiente Windows, il registro degli eventi dovesse saltuariamente popolarsi con alcuni messaggi d'errore legati al funzionamento di Optimizer+, è possibile applicare questo semplice espediente: è sufficiente aprire il file C:\Program Files\Zend\ZendServer\etc\cfg\optimizerplus.ini ed aggiungere la seguente direttiva: zend_optimizerplus.mmap_base=0x20000000. Il problema dovrebbe così risolversi. In caso contrario (è bene accertarsi di aver riavviato il server web), è possibile provare con gli altri valori indicati nel documento elaborato dai tecnici di Zend.


PHP a tutta velocità: come aggiornare Zend Server all'ultima versione - IlSoftware.it