+ All Categories
Home > Technology > SugarCRM Enterprise Development Virtual Appliance

SugarCRM Enterprise Development Virtual Appliance

Date post: 18-Dec-2014
Category:
Upload: antonio-musarra
View: 252 times
Download: 0 times
Share this document with a friend
Description:
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 HA 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 appliance 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.
11
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 AttributionNonCommercialShareAlike 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 HA 1 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 appliance 2 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 preconfigurata su una o più macchine virtuali e pronta per essere utilizzata da parte dell’utente finale, come per esempio un developer.
Transcript
Page 1: SugarCRM Enterprise Development 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   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.  

Page 2: SugarCRM Enterprise Development 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   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;  

Page 3: SugarCRM Enterprise Development 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   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.  

Page 4: SugarCRM Enterprise Development 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   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.  

 

Page 5: SugarCRM Enterprise Development 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   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.  

 

Page 6: SugarCRM Enterprise Development 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   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.  

   

Page 7: SugarCRM Enterprise Development 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.  

 

Page 8: SugarCRM Enterprise Development 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   8  This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike  

 

 

 Figura  10  Macchina  virtuale  in  esecuzione.  

   

Page 9: SugarCRM Enterprise Development 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   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.  

Page 10: SugarCRM Enterprise Development 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   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.        

Page 11: SugarCRM Enterprise Development 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   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/).    

   

   

 


Recommended