Zend Server CE: una soluzione per Apache-MySQL-Php targata Zend

Problema: ho la necessità di avere a disposizione un server web per applicazioni sviluppate in Php.

Possibili soluzioni:

  1. scarico una Virtual Machine LAMP (Linux Apache Mysql Php) o WAMP (Windows Apache Mysql Php) (e ci sono pure SAMP per Solaris e MAMP per Mac) con tutto il necessario preinstallato (se ne trovano già di pronte all’uso, ad esempio qui); ovviamente questo presuppone che si disponga di un ambiente di virtualizzazione;
  2. scarico i sorgenti o i binari dei vari componenti, li compilo e/o li installo singolarmente, e li configuro per funzionare insieme;
  3. installo un pacchetto completo di tutto il necessario, che risolva a monte tutti i problemi di compilazione/configurazione dei singoli componenti.

Stamattina ho voluto testare la terza strada provando la soluzione free proposta da Zend, il cui nome completo è Zend Server Community Edition.

L’installazione è stata fatta sul pc che uso al lavoro, con sistema operativo Windows Vista Home Premium, ma nei requisiti si specificano anche Windows Xp o Server 2003/8, cosi come (e sarebbe stato strano il contrario) su un Linux (RHEL, Fedora, Ubuntu, …) e su Mac.

Il primo passo è il download del pacchetto, che potete trovare in questa pagina. Una volta scaricato, si lancia l’eseguibile, e viene richiesto di scegliere la tipologia di installazione.

Zend Server CE: scelta del tipo di installazione
Zend Server CE: scelta del tipo di installazione

Per testare tutte le caratteristiche del prodotto, ho scelto l’installazione completa, che prevede i seguenti componenti:

  • PHP 5.2.10
  • PHP Common Extensions
  • PHP Additional Extensions:
    — Zend Optimizer+
    — Zend Debugger
    — Zend Data Cache
    — Zend Java Bridge
    — Zend Guard Loader
  • Zend Framework 1.9.0
    — Zend Framework Base
    — Zend Framework Dojo
    — Zend Framework Extras
  • Oracle OCI Driver
  • phpMyAdmin
  • IBM DB2 RTCL
  • Informix
  • MySQL Server
  • MS SQL Native Client
  • Apache Httpd Web Server

Da notare che l’installazione completa richiede un collegamento internet attivo, poiché vengono scaricati alcuni pacchetti non contenuti nel file di installazione. Alla conclusione, tutto il pacchetto è stato installato nella directory specificata, e suddiviso fra le componenti principali.

Zend Server CE: directory di installazione
Zend Server CE: directory di installazione

L’installazione ha aggiunto 3 servizi configurati per partire in automatico all’avvio del sistema operativo:

  • Apache2.2-Zend, un apache con versione 2.2.12 con modulo ssl
  • MySQL_ZendServer51, un mysql versione 5.1
  • Zend Java Bridge, un componente che consente di eseguire codice Java chiamandolo direttamente dal php

Inoltre è stato aggiunto ai programmi in esecuzione automatica Zend Controller, che facilita l’esecuzione di varie operazioni (attivazione/disattivazione data cache, debugger, optimazer o java bridge, riavvio del php, benchmarking del sito con calcolo del numero di richieste completate per secondo, …). Ovviamente l’esecuzione di tutte queste componenti toglie risorse al sistema operativo, e, nel caso non dobbiate utilizzarle costantemente, potete sempre impostare l’avvio dei servizi in modalità manuale e togliere dall’esecuzione automatica l’avvio del  Zend Controller, ricordandovi di riattivare il tutto partendo sempre dai servizi. (NB: personalmente lascio sempre disattivato il Java Bridge in quanto non mi è mai capitato di dover eseguire codice Java richiamandolo dal Php).

Zend Controller
Zend Controller
Zend Controller Settings
Zend Controller Settings

Ora, per utilizzare l’interfaccia web di Zend Server basta eseguire un doppio click sull’icona aggiunta sul desktop, che fa aprire il browser alla pagina http://localhost/ZendServer/ . Al primo accesso viene chiesto di modificare la password dell’utente administrator, la stessa che deve essere inserita nel Zend Server Settings per poter utilizzare il Controller.

Zend Server Change Password
Zend Server CE: Modifica Password

A questo punto siamo pronti per poter utilizzare Zend Server con tutte le sue potenzialità. L’interfaccia web di amministrazione si divide in varie sezioni:

  • Monitor, dove si possono visualizzare lo stato di attivazioni delle componenti Zend, le informazioni di installazione e del server, i parametri di configurazione del php e i log generati, per verificare errori o problemi;
  • Server Setup, dove si possono attivare/disattivare le componenti di Zend, cambiandone anche le direttive, cosi come si possono attivare e modificare i vari moduli caricari dal php; inoltre possono essere specificati gli IP ai quali consentire/negare il debugging tramite lo Zend Debugger;
  • Administration, dove si può cambiare la password di accesso all’interfaccia di amministrazione ed iscriversi al servizio di notifica via email di Zend Server Product Update.
Zend Server Monitor Dashboard
Zend Server CE: Monitor Dashboard
Zend Server Monitor Server Info
Zend Server CE: Monitor Server Info
Zend Server Monitor Php Info
Zend Server CE: Monitor Php Info
Zend Server Monitor Logs
Zend Server Monitor Logs
Zend Server Setup Components
Zend Server CE: Setup Components
Zend Server Setup Extensions
Zend Server CE: Setup Extensions
Zend Server Setup Debugger
Zend Server CE: Setup Debugger
Zend Server Administration
Zend Server CE: Administration

Per aggiungere un applicativo web, basta copiare i file relativi nella directory ../Zend/Apache2/htdocs/, la document_root del server Apache, di cui è ovviamente possibile modificare i file di configurazione per aggiungere, ad esempio, nuovi virtual host. Per monitorare lo stato del webserver, ci sono a disposizione 2 url (gestiti da altrettanti moduli caricati da Apache): http://localhost/server-status e http://localhost/server-info. Se invece dovete creare un nuovo database, è possibile accedere all’interfaccia di phpMyAdmin all’indirizzo http://localhost/phpMyAdmin.

Zend Server CE si prospetta come una delle soluzioni più interessanti per quanto riguarda uno stack di base per applicativi Php.

Zend Server Community Edition

Lascia un commento