Stack LAMP

menu icon

Stack LAMP

Scopri perché alcune delle applicazioni web open source più diffuse di oggi sono eseguite su LAMP, un collaudato stack di Linux, Apache, MySQL e PHP.

Cos'è uno stack LAMP?

  • Scopri di più sul collaudato stack utilizzato in tutta la community open source
  • Programma utilizzando un linguaggio dinamico che puoi padroneggiare rapidamente e osserva i risultati
  • Utilizza come base i moduli personalizzabili per creare e implementare delle app web a tuo piacimento
  • Aggiungi preziose nuove conoscenze e competenze al tuo curriculum

Potresti aver sentito qualcosa sullo stack LAMP. Ciò non sarebbe sorprendente, tenendo conto del fatto che alcune delle attuali applicazioni web open source di più ampio utilizzo, come ad esempio WordPress e Drupal, vengono eseguite su LAMP.

LAMP ha però molto di più al suo attivo. È stato uno dei primi stack software open source per il web e rimane uno dei modi più comuni per fornire applicazioni web. È talmente diffuso che probabilmente lo utilizzerai spesso nel corso della tua carriera per aggiornare o eseguire l'hosting di applicazioni esistenti. Inoltre, è da molti considerata la piattaforma di elezione per sviluppare nuove app web personalizzate.

Stabile, semplice, potente - queste sono le parole più spesso usate per descrivere LAMP. Per tutti questi motivi, vale la pena conoscerlo, senza contare il fatto che è una preziosa aggiunta al curriculum di qualsiasi sviluppatore.

Componenti

LAMP è l'acronimo formato dalle iniziali di Linux, Apache, MySQL e PHP. Insieme, offrono un set collaudato di software per fornire applicazioni web ad elevate prestazioni. Ogni componente apporta il suo contributo di funzionalità essenziali allo stack:

  • Linux: il sistema operativo. Linux è un sistema operativo (SO) open source gratuito e aperto presente sulla scena fin dalla metà degli anni 1990. Oggi dispone di una vasta base di utenti a livello mondiale che si estende in diversi settori. Parte della popolarità di Linux è da attribuire al fatto che offre più flessibilità e opzioni di configurazione rispetto agli altri sistemi operativi.
  • Apache: il server web. Il server web Apache elabora le richieste ed elabora gli asset web tramite HTTP rendendo così l'applicazione accessibile a tutti nel dominio pubblico, tramite un semplice URL web. Sviluppato e gestito da una community aperta, Apache è un server consolidato e ricco di funzioni che esegue un'ampia parte dei siti web attualmente presenti su internet.
  • MySQL: il database. MySQL è un RDBMS (relational database management system) open source per archiviare i dati delle applicazioni. Con My SQL, puoi archiviare tutte le tue informazioni in un formato su cui è facile eseguire query con il linguaggio SQL. SQL è un'ottima scelta se ti stai occupando di un dominio di business ben strutturato e vuoi convertire tale struttura nel backend. MySQL è adatto per eseguire anche siti grandi e complessi. Per ulteriori informazioni sui database SQL e NoSQL, consulta "SQL vs. NoSQL Databases: What's the Difference?".
  • PHP: il linguaggio di programmazione. Il linguaggio di scripting open source PHP viene eseguito con Apache per aiutarti a creare pagine web dinamiche. Non puoi utilizzare HTML per eseguire processi dinamici come l'estrazione di dati da un database. Per fornire questo tipo di funzionalità, ti è sufficiente rilasciare il codice PHP nelle parti di una pagina che desideri che siano dinamiche.

PHP è progettato per l'efficienza. Rende più facile la programmazione - e più divertente - consentendoti di scrivere nuovo codice, premere il tasto per aggiornare e vedere immediatamente le modifiche senza che sia necessaria la ricompilazione. Se preferisci, puoi sostituire PHP a favore di Perl oppure al sempre più diffuso linguaggio Python.

 

Diagramma dell'architettura di LAMP

Architettura di LAMP

LAMP dispone di una classica architettura a livelli, con Linux al livello più basso. Il livello successivo è composto da Apache e MySQL, seguito da PHP. Sebbene PHP sia nominalmente al livello superiore o di presentazione, il componente PHP si trova all'interno di Apache.

In che modo gli elementi operano insieme

Uno sguardo di alto livello all'ordine di esecuzione dello stack LAMP mostra come interagiscono gli elementi. Il processo inizia quando il server web Apache riceve le richieste di pagine web dal browser di un utente. Se la richiesta è per un file PHP, Apache passa la richiesta a PHP, che carica il file ed esegue il codice in esso contenuto. PHP comunica anche con MySQL per recuperare gli eventuali dati a cui si fa riferimento nel codice.

PHP utilizza quindi il codice nel file e i dati dal database per creare l'HTML di cui i browser hanno bisogno per visualizzare le pagine web. Lo stack LAMP è efficiente nella gestione non solo delle pagine web statiche ma anche delle pagine dinamiche in cui il contenuto può variare ogni volta che viene caricato a seconda della data, dell'ora, dell'identità dell'utente e di altri fattori.

Dopo aver eseguito il codice del file, PHP passa nuovamente al server web Apache i dati risultanti da inviare al browser. Può anche archiviare questi nuovi dati in MySQL. Ovviamente tutte queste operazioni sono abilitate dal sistema operativo Linux in esecuzione alla base dello stack.

Flessibilità

Sebbene LAMP utilizzi Linux come sistema operativo, puoi utilizzare gli altri componenti con un sistema operativo alternativo per soddisfare le tue esigenze specifiche. Ad esempio, sono presenti uno stack WAMP, che utilizza Microsoft Windows, MAMP con il sistema operativo Mac e anche WIMP, che utilizza Windows e il server web Internet Information Services di Microsoft.

Poiché LAMP è tutto open source e non proprietario, puoi evitare le condizioni di vincolo a uno specifico fornitore. Hai la flessibilità di selezionare i componenti giusti per progetti o requisiti di business specifici.

LAMP offre flessibilità anche in altri modi. Apache ha un design modulare e scoprirai che esistono dei moduli personalizzabili a tua disposizione per molte estensioni differenti. Questi moduli spaziano dal supporto per altri linguaggi alle funzionalità di autenticazione.

Un altro vantaggio di LAMP è rappresentato dalle sue prassi di crittografia ben consolidate e di architettura sicura, collaudate a livello aziendale.

Efficienza

LAMP può aiutarti a ridurre il tempo di sviluppo. Perché LAMP è uno stack open source che è disponibile da più di un decennio, ne esiste oggi un notevole ecosistema. Puoi sviluppare ulteriormente quello che gli altri hanno fatto in passato e farlo tuo. Opera all'interno di un modulo Apache che fa per te l'80% del lavoro, personalizza il restante 20% e risparmia così un bel po' di tempo.

Stack LAMP e IBM

La tecnologia può diventare complessa, oscurando i meccanismi di base del software. Uno stack LAMP torna alle basi, avvicinandoti un po' di più all'aspetto tecnico delle pagine web e al modo in cui vengono eseguite le operazioni. Potremmo anche dire che è un modo puro per creare un'applicazione. Hai il tuo database, il tuo linguaggio di scripting e un modo per fornirlo ai client - questo è LAMP.

Registrati e crea il tuo account IBM Cloud.