Date post: | 18-Dec-2014 |
Category: |
Technology |
Upload: | antonio-musarra |
View: | 252 times |
Download: | 0 times |
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 1 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
SugarCRM Enterprise Development
Importazione della Virtual Appliance
In ambienti di tipo enterprise è ormai consuetudine consegnare “chiavi in mano” l’ambiente di sviluppo per il progetto al team di sviluppo. La standardizzazione degli ambienti di sviluppo e la produzione degli stessi tramite meccanismi d’automazione, aumenta l’affidabilità e sicurezza degli ambienti oltre che rendere più veloci i cicli di sviluppo e rilascio.
Nella fase di startup di un recente progetto ho dedicato la mia attenzione
alla progettazione e realizzazione dell’architettura HA1 per SugarCRM. Una delle fasi del progetto prevedeva l’installazione di SugarCRM su un determinato stack software in linea con quanto indicato sul documento SugarCRM Supported Platforms, quest’operazione è stata “tradotta” poi con il build di una virtual appliance2 adatta a ospitare l’ambiente di sviluppo per SugarCRM 7.2 (nelle versioni commerciali attuali).
Nel corso di quest’articolo vedremo quindi le caratteristiche della virtual
appliance realizzata per l’ambiente di sviluppo SugarCRM e come ottenere la stessa per importarla sul vostro ambiente virtualizzazione.
1 High Availability, termine usato in informatica per denotare tecnologie volte a garantire la massima continuità e disponibilità dei servizi erogati. 2 Una Virtual Appliance è una soluzione software installata e pre-‐configurata su una o più macchine virtuali e pronta per essere utilizzata da parte dell’utente finale, come per esempio un developer.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 2 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
1. Caratteristiche software della virtual appliance Solitamente i diagrammi sono più esplicativi e immediati, infatti, il
digramma di Figura 1 mostra lo stack software della virtual appliance di sviluppo. Gli elementi software rappresentati all’interno del diagramma sono compatibili con quelli indicati nel documento SugarCRM Supported Platforms (http://support.sugarcrm.com/05_Resources/03_Supported_Platforms/Sugar_7.2.x_Supported_Platforms/).
Figura 1 Stack Software della macchina virtuale di sviluppo.
SugarCRM non impone o consiglia una distruzione particolare del sistema
operativo Linux. La scelta della distruzione CentOS è stata portata dal fatto che questa distribuzione sia di derivazione Red Hat Enterprise Linux (RHEL) per questo motivo più utilizzata in ambienti di tipo enterprise, quindi stabile e di più semplice gestione.
L’elemento più importante dell’intero stack software è l’engine PHP. La
versione di PHP distribuita con CentOS 6.5 è la 5.3.3, mentre la versione di PHP supportata da SugarCRM è la 5.3.26, occorre quindi preparare la virtual appliance con la corretta versione di PHP.
Come mai il diagramma di Figura 1 indica la versione 5.3.28 di PHP?
Dalla versione 5.3 di PHP è stato introdotto il driver nativo MySQL (che implementa il protocollo di comunicazione MySQL), chiamato mysqlnd, non installato di default, al contrario della versione 5.4, dove mysqlnd è la scelta predefinita. Brevemente vediamo quali sono i vantaggi nella scelta di mysqlnd:
• Utilizzo della licenza PHP; • Non sono richieste dipendenze MySQL in fase di compilazione; • Non sono richieste dipendenze MySQL Client in runtime; • Disponibile in PHP 5.3 e di default in 5.4.+; • Migliori performance; • Il software esistente continua a funzionare; • Migliore integrazione con PHP e Zend Engine; • Estensibile;
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 3 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
L’estensione di mysqlnd è possibile grazie ad un tipo di architettura a
plugin che consente di aggiungere il supporto a nuove caratteristiche. Grazie al plugin mysqlnd_ms, le seguenti caratteristiche saranno disponili:
• Supporto al servizio di Replicazione; • Supporto per il Load Balancing; • Supporto per il Failover.
SugarCRM 7.2 è ovviamente parte dello stack software ma non è fornito con
la virtual appliance, deve essere poi installato al termine dell’importazione della virtual appliance nel vostro ambiente di virtualizzazione preferito.
Per maggiori informazioni circa i componenti software richiesti da
SugarCRM consiglio di leggere con attenzione il documento SugarCRM Supported Platforms e Installation and Upgrade Guide.
2. Importazione della virtual appliance La virtual appliance che ho realizzato è disponibile solo in formato OVF
(Open Virtualization Format) versione 2.0. Il formato OVF è uno standard aperto per la creazione e distribuzione di virtual appliance, inoltre, questo standard non è legato a nessun tipo specifico di Hypervisor3 e quanto meno all’architettura del processore.
Dalla Figura 2 alla Figura 7 è mostrato il wizard che avvia la procedura
d’importazione della virtual appliance in ambiente VirtualBox4 (versione 4.3.x). In modo analogo, la stessa operazione può essere eseguita su diversi ambienti di virtualizzazione come per esempio VMWare, Citrix, Microsoft Hyper-‐V.
Il file OVF della virtual appliance versione 1.2.1 (oggetto di quest’articolo) è disponibile pubblicamente al seguente indirizzo: https://www.dropbox.com/s/sb39iff5pnfhzx2/SugarCRM7DevelopmentEnvironment-‐1_2_1.ova?dl=0
3 L’Hypervisor è il componente centrale e più importante di un sistema di virtualizzazione. 4 VirtualBox o Oracle VM VirtualBox è un software open source per l'esecuzione di macchine virtuali per architettura x86 e 64bit che supporta Windows, GNU/Linux e Mac OS X come sistemi operativi host, ed è in grado di eseguire Windows, GNU/Linux, OS/2 Warp, BSD come ad esempio OpenBSD, FreeBSD e infine Solaris e OpenSolaris come sistemi operativi guest.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 4 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
Figura 2 Start importazione macchina virtuale in Virtual Box.
Figura 3 Selezione del file OVF della macchina virtuale da importare.
Figura 4 Conferma del file OVF da importare.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 5 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
Figura 5 Impostazioni della macchina virtuale da importare.
Figura 6 Accettazione della licenza d’uso.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 6 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
Figura 7 Esecuzione del processo d’importazione.
Terminato il processo d’importazione della virtual appliance (Figura 7),
quest’ultima è pronta per essere eseguita. Per impostazione predefinita i servizi di rete sono raggiungibili localmente. Nel caso in cui abbiate bisogno di rendere i servizi della virtual appliance disponibili sulla vostra rete LAN, dovrete necessariamente intervenire sulla configurazione delle impostazioni di rete.
Potrebbe capitare su alcuni tipi di host (come per esempio Windows XP)
che la macchina virtuale non sia avviata, solitamente a causa del controller USB che in questo caso andrebbe disattivato o anche a causa della configurazione dei network adapter che devono essere semplicemente riconfigurati.
Con VirtualBox (dalla versione 2) è possibile eseguire sistemi guest a 64bit
su sistemi host a 32bit, la condizione essenziale è che il processore supporti le estensioni VT-‐x e AMD-‐V.
La maschera di Figura 7 mostra un riepilogo della virtual appliance tra cui i
dati che riguardano la configurazione hardware, più che adeguata per un ambiente di sviluppo locale dedicato a SugarCRM. Il dettaglio completo della configurazione hardware della macchina virtuale è disponibile al seguente indirizzo https://gist.github.com/amusarra/181c4fe6b0ce65c44aca
Nel prossimo capitolo vedremo in modo schematico e sintetico la
configurazione base degli elementi che costituiscono lo stack software di base della virtual appliance.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 7 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
Figura 8 Macchina virtuale importata con successo e disponibile per l’avvio.
Figura 9 Start della macchina virtuale appena importata.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 8 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
Figura 10 Macchina virtuale in esecuzione.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 9 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
3. Configurazione software dell’appliance Gli elementi software della virtual appliance (vedi Figura 1) sono
configurati così come indicato in Figura 11. Alcuni dei parametri di configurazione da tenere bene in mente perché indispensabili al fine di procedere correttamente con l’installazione di SugarCRM riguardano, Apache, MySQL ed Elastic Search.
Figura 11 Configurazione degli elementi software.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 10 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
La mind map mostrata in Figura 11 credo che sia più che esplicativa da non
lasciare nessun dubbio circa la configurazione degli elementi software più rilevanti.
I servizi di rete quali, Apache, Elastic Search e MySQL sono stati configurati
per essere “tirati su” al momento dell’avvio della virtual appliance. Ipotizziamo per esempio che la vostra macchina virtuale abbia assegnato
l’indirizzo ip 192.168.56.103 e che questo sia definito come entry sul vostro file di hosts (della macchina host), allora il servizio web e in particolare SugarCRM, sarà raggiungibile (sia in http sia in https) facendo puntare il browser ai seguenti indirizzi:
• http[s]://sugarcrm7dev-‐env000.local/ Main document root • http[s]://sugarcrm7dev-‐env000.local/phpinfo.php PHP Info page • http[s]://sugarcrm7dev-‐env000.local/apc.php APC Info page • http[s]://sugarcrm7dev-‐env000.local/crm SugarCRM Application
4. Installazione SugarCRM 7.2 Una volta che la virtual appliance è stata importata ed eseguita, si può
procedere con l’installazione di SugarCRM 7.2 (seguendo la normale procedura). Per chi non fosse avvezzo con la procedura d’installazione di SugarCRM, consiglio la lettura della guida all’installazione e/o aggiornamento.
L’installazione di SugarCRM deve essere eseguita all’interno della directory /var/www/html/crm, la spiegazione è facilmente reperibile dalla mind map di Figura 11. Qualora riteniate opportuno modificare la directory d’installazione non dimenticate la revisione della configurazione di Apache.
5. Conclusioni Dovete partire con lo sviluppo di un progetto basato su SugarCRM? Bene,
allora la virtual appliance presentata (in modo sintetico) nel corso di quest’articolo dovrebbe fare al caso vostro, consentendovi un risparmio di tempo per la preparazione dell’ambiente di sviluppo. Potreste anche utilizzare questa virtual appliance come template per la preparazione degli ambienti test e produzione.
Antonio Musarra's Blog Document Revision: 1.0 The ideal solution for a problem Blog: http://www.dontesta.it
LinkedIn: http://it.linkedin.com/in/amusarra Google+: https://plus.google.com/+AntonioMusarra Mail: [email protected]
18/09/14 11 This document is issued with license Creative Commons Attribution-‐NonCommercial-‐ShareAlike
Un piccolo favore Per quanta passione e soddisfazione possa portare a scrivere contenuti di questo tipo, ciò comporta anche un grande dispendio di tempo e risorse.
Se i contenuti offerti in quest’articolo sono stati utili per te, potresti
restituirmi il favore condividendo l’articolo sui canali di social network o altri, magari ciò che ho scritto potrebbe essere utile anche a altre persone. Clicca sulle immagini per condividere:
Vi aspetto su Antonio Musarra’s Blog -‐ The ideal solution for a problem (http://www.dontesta.it/blog/).