Tutorial > Come installare e configurare un server LAMP su Ubuntu 20.04

Come installare e configurare un server LAMP su Ubuntu 20.04

Pubblicato il: 16 agosto 2020

Apache LAMP MySQL PHP Ubuntu Web Server

LAMP è una delle piattaforme software per lo sviluppo di applicazioni web più utilizzate a livello mondiale. L'acronimo deriva dalle iniziali delle quattro componenti software con cui è realizzata: Linux, Apache, MySQL, PHP. Ognuna di queste componenti è predisposta per l'eccellente funzionamento in concomitanza con le altre.

Questa guida ti spiegherà come installare e configurare tutti i componenti necessari per installare LAMP su Ubuntu 20.04.

Per installare LAMP, per prima cosa dovrai connetterti al tuo server tramite una connessione SSH. Se non l’hai ancora fatto, ti consigliamo di seguire la nostra guida per connetterti in sicurezza con il protocollo SSH. In caso di server locale puoi passare al punto successivo e aprire il terminale del tuo server.

Installazione di Apache

Apache è il web server più diffuso, in grado di operare su una grande varietà di sistemi operativi, tra cui UNIX/Linux, Microsoft Windows e OpenVMS.

Per prima cosa aggiorna i repository della distribuzione, per essere sicuro di scaricare la versione più aggiornata di Apache, e avvia l'installazione.

$ sudo apt update && sudo apt install apache2

Nota bene che utilizzando il comando sudo per eseguire i comandi come root ti sarà richiesta la password dell'utente utilizzato.

Dopo che darai il consenso all'installazione di Apache, l'installazione sarà effettuata.

Configurazione del Firewall

Se sul tuo sistema è presente un firewall allora dovrai impostarlo per abilitare il traffico HTTP e il traffico HTTPS verso la tua macchina.

Nel caso in cui utilizzassi il firewall UFW, avrai a disposizione dei profili preinstallati per Apache. Vediamo quindi come abilitarli.

Per verificare i profili disponibili installati nel firewall UFW esegui questo comando:

$ sudo ufw app list

Verrà mostrata a schermo una lista simile a questa:

Available applications:
Apache
Apache Full
Apache Secure
OpenSSH

Per consentire il traffico HTTP (Porta 80) e HTTPS (Porta 443), dovrai utilizzare il profilo "Apache Full". 

Puoi verificare le informazioni del profilo in questo modo:

$ sudo ufw app info "Apache Full"

Apparirà la descrizione del profilo a schermo:

Profile: Apache Full

Title: Web Server (HTTP,HTTPS)

Description: Apache v2 is the next generation of the omnipresent Apache web server.

Ports:
80,443/tcp

Dopo aver verificato il profilo sarai pronto a abilitarlo:

$ sudo ufw allow in "Apache Full"

A questo punto la configurazione di Apache e del firewall è completa e puoi procedere col testare il web server visitando l'indirizzo http://<IP.DEL.SERVER> o nel caso di server locale http://localhost

Se la procedura é stata eseguita correttamente verrà mostrata la pagina di benvenuto di Apache.

Pagina di benvenuto di Apache 2

Installazione di MySQL

MySQL è uno dei sistemi di gestione di database relazionali più utilizzati al mondo.

Aggiorna i repository della distribuzione, per essere sicuro di scaricare la versione più aggiornata di MySQL. Se hai già lanciato questo comando in precedenza allora puoi passare allo step successivo.

$ sudo apt update

Ora puoi procedere con l'installazione di MySQL:

$ sudo apt install mysql-server

Per verificare che l'installazione sia andata a buon fine, verifica la versione di MySQL:

$ sudo mysqld --version

Se la procedura é stata eseguita correttamente verrà stampata a schermo la versione di MySQL installata.

Procedi con la messa in sicurezza di MySQL eseguendo uno script incluso con MySQL che aumenterà la sicurezza e limiterà l'accesso ai tuoi database:

$ sudo mysql_secure_installation

A questo punto inizierà una procedura guidata che ti permetterà di configurare il livello di sicurezza di MySQL.

Per prima cosa ti verrà chiesto se vuoi abilitare il sistema di validazione delle password: se abiliti questo sistema quando imposterai una password per un utente questa sarà valutata e se non rispetterà i criteri minimi di sicurezza verrà rifiutata con un errore.

In seguito ti verrà chiesto se vuoi cambiare la password di root con una di tua preferenza (se abiliti il sistema di validazione delle password dovrai inserire una password che rispetti i criteri di sicurezza).

Ti consigliamo di seguire alcune best practices per la creazione di una password sicura, tra cui:

  • Utilizzare sia maiuscole che minuscole

  • Utilizzare sia lettere che numeri

  • Utilizzare caratteri non alfanumerici come @#$%ˆ&!

  • Utilizzare password diverse da altre precedentemente utilizzate

Infine dovrai scegliere se rimuovere gli utenti anonimi, database di test e se vorrai disabilitare il login remoto con l'utente root (consigliamo di confermare tutte queste modifiche per avere un livello di sicurezza accettabile ).

A questo punto conferma l'aggiornamento della tabella dei permessi per applicare i nuovi criteri di sicurezza.

Per verificare il funzionamento di MySQL prova ad autenticarti con il seguente comando:

$ sudo mysql

Se il tutto è stato eseguito correttamente ti troverai nella console di MySQL.

Quindi esci dalla console di MySQL:

mysql > exit;

Hai concluso l'installazione e la configurazione di MySQL.

Installazione di PHP

PHP è l'interprete dell'omonimo linguaggio di scripting per la programmazione di pagine web dinamiche.

Aggiorna i repository della distribuzione, per essere sicuro di scaricare la versione più aggiornata di PHP. Se hai già lanciato questo comando precedentemente allora puoi passare allo step successivo.

$ sudo apt update

Procedi con l'installazione dell'interprete PHP e di alcuni moduli che consentiranno al PHP di essere eseguito con Apache e di comunicare con MySQL:

$ sudo apt install php libapache2-mod-php php-mysql

A questo punto l'installazione sarà stata completata e non dovrai fare altro che verificarlo controllando la versione di PHP installata:

$ sudo php -v

Se l'installazione è andata a buon fine, verrà mostrata la versione di PHP appena installata.

Successivamente dovrai modificare la priorità dei file index di Apache per far si che questo dia la massima priorità ai file con nome index.php.

Quindi modifica il file di configurazione di Apache "dir.conf":

$ sudo nano /etc/apache2/mods-enabled/dir.conf

Sposta il file index.php all'inizio della lista, in questo modo:

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

Salva le modifiche effettuate premendo CTRL + X, digitando Y e infine conferma premendo invio.

Riavvia Apache per applicare le modifiche

$ sudo systemctl restart apache2

Per verificare il funzionamento dell'interprete PHP e della configurazione non dovrai fare altro che creare un file index.php nella cartella che contiene il tuo sito:

$ sudo nano /var/www/html/index.php

Inserirci nel file il seguente contenuto che stamperà le informazioni della tua configurazione a schermo:

<?php
phpinfo();
?>

Quindi salva le modifiche effettuate premendo CTRL + X, digitando Y e infine conferma premendo invio.

A questo punto visita l'indirizzo http://<IP.DEL.SERVER> o nel caso di server locale http://localhost.

Se viene mostrata la pagina info di PHP allora la procedura é riuscita correttamente.

Pagina info di PHP su Ubuntu

A questo punto avrai correttamente installato e configurato il tuo server con un'architettura LAMP.