SugarCRM Enterprise Development Virtual Appliance

902 views

Published on

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.

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
902
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

SugarCRM Enterprise Development Virtual Appliance

  1. 1. 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:  antonio.musarra@gmail.com     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.  
  2. 2. 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:  antonio.musarra@gmail.com     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;  
  3. 3. 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:  antonio.musarra@gmail.com     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/SugarCRM7DevelopmentEnvironme nt-­‐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.  
  4. 4. 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:  antonio.musarra@gmail.com     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.    
  5. 5. 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:  antonio.musarra@gmail.com     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.    
  6. 6. 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:  antonio.musarra@gmail.com     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.      
  7. 7. 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:  antonio.musarra@gmail.com     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.    
  8. 8. 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:  antonio.musarra@gmail.com     18/09/14   8   This  document  is  issued  with  license  Creative  Commons  Attribution-­‐NonCommercial-­‐ShareAlike         Figura  10  Macchina  virtuale  in  esecuzione.      
  9. 9. 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:  antonio.musarra@gmail.com     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.  
  10. 10. 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:  antonio.musarra@gmail.com     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.        
  11. 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:  antonio.musarra@gmail.com     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/).              

×