Lo stack software usato lato server è talmente consolidato che spesso si usano acronimi per identificarlo. Alla eNTiDi lo stack preferenziale è il LEMP, che soppianta il LAMP usato precedentemente.
Sistemi LEMP
Stack web lato server
-
L: Linux (sistema operativo)
La prima scelta da operare, ossia quale sistema usare come server. Una volta pubblicata, l'applicazione web è accessibile da qualsiasi sistema operativo: il sistema operativo usato come server non è di alcuna rilevanza per gli utenti finali del sito.
Si ritiene indispensabile la presenza di una shell decente (ossia non la shell di DOS) che consenta operazioni avanzate ed in modalità remota. Le distribuzioni GNU/Linux solitamente offrono una shell BASH-compatibile e OpenSSH per l'accesso remoto, ma un qualsiasi altro sistema POSIX (Solaris, *BSD o Mac OS X) sarebbe tecnicamente una scelta altrettanto valida.
-
E: Nginx o A: Apache (web server)
Nginx è un server inizialmente sviluppato in Russia che si è subito imposto sul mercato internazionale per le sue performance e la sua modularità. La eNTiDi usa principalmente sistemi basati su nginx.
Apache è un progetto di lunga data piuttosto conosciuto nel mondo virtuale. È dal 1998 che la metà dei siti internet si affidano a questo software per erogare le pagine (fonte Netcraft). I punti di forza di questo web server sono stabilità, popolarità e ubiquità.
-
M: MariaDB o MySQL (database)
Un tempo il database open source più diffuso, MySQL è ora stato soppiantato da un fork mantenuto dallo stesso sviluppatore originale: MariaDB. I due progetti sono intercambiabili sia come funzionalità che come interfacce di programmazione.
Si trova spesso accoppiato al PHP per la disponibilità di diverse interfacce (mysql, mysqli, pdo). È un prodotto altamente scalabile, adatto sia nei progetti personali che per lo sviluppo di applicativi più impegnativi. Il database, anche se non strettamente indispensabile (esistono delle applicazioni web che non ne fanno uso), è un componente chiave nei siti web dinamici più
-
P: PHP (linguaggio di scripting)
Il linguaggio web per eccellenza, usualmente usato lato server (ossia sul computer a cui ci si collega quando si naviga) per generare le pagine in HTML.
PHP è un linguaggio piuttosto confuso è sicuramente poco ortogonale, progettato specificatamente per i principianti ma che rende difficoltoso un approccio serio alla programmazione. Gli ultimi sviluppi tendono a colmare alcune lacune più macroscopiche ma, onestamente, ci sono linguaggi molto più coerenti e piacevoli da usare. In ogni caso questa è ad oggi la scelta più sana a causa dell'enorme diffusione di questo linguaggio e dell'immediata disponibilità di CMS con codice già pronto.