Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Configurazione LAMP e LEMP

Configuriamo gli stack LAMP e LEMP su un server virtuale realizzato con Aruba Cloud, installando Linux, Apache o Nginx, MySQL e PHP.
Configuriamo gli stack LAMP e LEMP su un server virtuale realizzato con Aruba Cloud, installando Linux, Apache o Nginx, MySQL e PHP.
Link copiato negli appunti

Ora che abbiamo acquisito dimestichezza con i concetti di base, vediamo come possiamo sfruttare l’istanza creata su Aruba Cloud. Uno degli utilizzi più comuni su Cloud è quello di ospitare risorse web da erogare attraverso opportuni protocolli. Gli stack software probabilmente più diffusi per ottenere ciò sono quelli noti con gli acronimi LAMP (Linux, Apache, MySQL/MariaDB, PHP) e LEMP (Linux, Nginx, MySQL/MariaDB, PHP).

Entrambi si basano su Linux, un DBMS relazionale come MySQL o MariaDB, alcuni linguaggi di programmazione server (generalmente PHP) e, al centro di tutto, un server web: Apache per LAMP, Nginx per LEMP.

La macchina che andremo a configurare, per quanto sia virtualizzata, è assimilabile a tutti gli effetti ad una macchina fisica. Per questo motivo seguiremo un percorso che può essere facilmente generalizzabile.

Nginx e Apache

Nginx è un server web apprezzato per le sue prestazioni, generalmente meno avido di memoria rispetto al rivale diretto Apache, nonché significativamente più veloce dello stesso, essendo programmato seguendo un approccio a eventi. È, inoltre, in grado di gestire contenuti web statici e dinamici, fungere da proxy, da cache HTTP nonché implementare funzionalità di load balancing.

Apache è sufficiente per gli utilizzi più comuni essendo meno complesso da implementare e con una solida tradizione alle spalle. In questa lezione presenteremo un rapido excursus sull’installazione di entrambi gli stack LEMP e LAMP, rimandando alla lettura delle guide di HTML.it dedicate ad Apache e Nginx per ulteriori approfondimenti.

Installazione di Apache o Nginx

Dopo esserci collegati alla macchina sfruttando la linea di comando (come descritto in una lezione precedente) ed avere aggiornato il sistema operativo (a scopo esemplificativo adoperiamo Ubuntu 18.04), dovremo procedere in modo diverse a seconda della scelta di operare con LEMP o LAMP.

LEMP

Se desideriamo appoggiarci a uno stack LEMP procediamo a installare Nginx con il comando seguente:

apt-get install nginx

Sarà poi necessario specificare le configurazioni opportune. Il file di configurazione principale è /etc/nginx/nginx.conf ma è preferibile operare, quando possibile, su file esterni richiamati all’interno di esso attraverso il comando include. Tipicamente si opera nella directory /etc/nginx/sites-enabled/. Possiamo reperire un esempio di file di configurazione, da usare come punto di partenza, sbirciando nella directory /etc/nginx/sites-available/.

Creato il file necessario, inseriamo al suo interno, alla voce index, come primo argomento, index.php. Alla voce server_name, dovremo invece specificare il nome del server o l’indirizzo IP della macchina su cui faremo operare il servizio. Infine, alla voce location, assicuriamoci che il blocco  ~ \.php$ appaia grossomodo come segue:

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}

Verifichiamo che nel file di configurazione non siano presenti errori eseguendo da CLI il comando seguente:

nginx -t

Se tutto è stato effettuato in modo corretto, otterremo un risultato simile al seguente:

Figura 1. Verifica della configurazione di Nginx (click per ingrandire)Verifica della configurazione di Nginx

LAMP

Se invece optiamo per uno stack LAMP dovremo installare Apache. Per farlo, adoperando il comando:

apt-get install apache2

Fatto ciò, modifichiamo il file /etc/apache2/mods-enabled/dir.conf, aggiungendo alla voce index la voce relativa all’eventuale indice php:

<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

Installazione di MySQL

Una volta installato il web server, scegliamo di optare per MySQL (sebbene la scelta di MariaDB non cambi la procedura di installazione in maniera significativa), ed installiamolo attraverso l’istruzione seguente:

apt-get install mysql-server

Dovremo quindi verificare che il demone sia operativo. Per farlo, eseguiamo il comando seguente:

mysqld --version

Se tutto è andato a buon fine sarà visualizzato l’output seguente:

Figura 2. Verifica della configurazione di MySQL (click per ingrandire)Verifica della configurazione di MySQL

A questo punto potremo migliorare la sicurezza del nostro database con il comando:

mysql_secure_installation

Scegliamo una password e fidiamoci delle scelte standard proposte dallo script che abbiamo appena lanciato qualora non sussista una ragione specifica che ci spinga a muoverci diversamente.

Installazione di PHP

L’installazione di PHP richiede di procedere diversamente a seconda del web server scelto (e quindi del rispettivo stack LAMP o LEMP).

LEMP

Se vogliamo adoperare PHP in congiunzione con Nginx in uno stack LEMP, utilizziamo il seguente comando:

apt-get install php-fpm php-mysql

A questo punto è consigliabile riavviare tutti i demoni per essere certi che le configurazioni aggiornate siano caricate.

LAMP

Se vogliamo utilizzare php insieme ad Apache, quindi nello stack LAMP, lanciamo il comando seguente:

apt-get install php libapache2-mod-php php-mysql

Anche in questo caso è consigliabile riavviare tutti i demoni per assicurarsi che si operi secondo le attese.

Ti consigliamo anche