Prima di iniziare è necessario ricordare che l’utente Linux dovrebbe non essere l’utente root.
Premesso ciò, apriamo il nostro terminale e digitiamo il comando a seguire, combinando le istruzioni per l’aggiornamento del repository e per installare Apache:
sudo apt update && sudo apt install apache2
L’installazione richiederà qualche minuto.
Per ragioni di sicurezza raccomandiamo di configurare il firewall per aggiungere delle regole specifiche legate all’installazione del LAMP Stack.
Per prima cosa aggiungiamo al firewall OpenSSH, per evitare di rimanere “bloccati”, dato che stiamo effettuando l’installazione tramite terminale.
Digitiamo il comando:
sudo ufw allow OpenSSH
Aggiungiamo ora la regola relativa ad Apache Server:
sudo ufw allow in “Apache Full”
Adesso abilitiamo il firewall se non lo fosse già:
sudo ufw enable
Se dovesse apparire l’avviso “command may disrupt existing ssh connection”, digitiamo “Y” e premiamo Invio.
Se il firewall viene attivato senza intoppi, dovremmo ricevere il messaggio “Firewall is active and enabled on system startup”.
Per controllare lo stato del firewall, digitiamo il comando:
sudo ufw status
e premiamo Invio.
Dall’immagine è possibile notare la conferma dello stato di attivazione del firewall e i servizi precedentemente attivati (OpenSSH, Apache Full e Apache Full v6).
Per verificare invece che Apache si sia avviato correttamente, digitiamo nel terminale:
sudo service apache2 status
E premiamo Invio.
Se il servizio è attivo, sarà visibile una riga verde come da immagine esemplificativa.
Se dovesse apparire poi un errore “AH0558: apache2: Could not reliably determine the server’s fully qualified domain name…”, possiamo ignorarlo.
Per ritornare al prompt del terminal, potrebbe essere necessario premere “Q” e poi Invio.
Una volta verificato che il servizio di Apache è attivo, digitando l’indirizzo IP del server su cui stiamo installando il LAMP Stack, dovremmo visualizzare la pagina di test di Apache, come da foto allegata.
Procediamo ora all’installazione di MySQL, iniziando combianando i comandi per l’aggiornamento del repository e installando MySQL:
sudo apt update && sudo apt install mysql-server
Premiamo invio e confermiamo cliccando “Y” e poi nuovamente Invio.
Una volta terminata l’installazione, verifichiamo che il servizio MySQL sia attivo digitando il comando:
sudo service mysql status
e premiamo Invio.
Se il servizio si è avviato correttamente, vedremo una riga verde come da immagine qui di fianco.
Potrebbe essere necessario cliccare “Q” per tornare al prompt del terminal.
Adesso dobbiamo procedere alla configurazione dei settaggi di sicurezza di MySQL, digitando il comando:
sudo mysql_secure_installation
e premendo Invio.
Verrà richiesto di impostare una password.
Non è una configurazione realmente necessaria a meno che non si desideri rafforzare le policy di sicurezza per qualche ragione.
Ad ogni modo consigliamo di prevedere suddetta password, per cui a seguire verrà presa in considerazione tale eventualità:
Una volta inserita la password e confermata, apparirà questo messaggio:
Nei passaggi successivi verrà richiesto se vogliamo rimuovere gli utenti anonimi, negare il login remoto a MySQL, rimuovere il DB di test e ricaricare la tabella dei privilegi di MySQL.
A tutte queste domande risponderemo digitando “Y” e premendo Invio:
A questo punto verifichiamo l’accesso a MySQL e ne verifichiamo la versione, digitando il comando:
sudo mysqladmin -p -u root version
e premendo Invio.
A seguire illustreremo i passaggi per l’installazione di PHP e, come per i passaggi precedenti, partiremo dall’aggiornamento del repository:
sudo apt update && sudo apt install php libapache2-mod-php php-mysql
Premiamo“Y” quando richiesto e procediamo con l’installazione dei pacchetti.
Una volta terminata l’installazione di PHP, lo testiamo digitando il comando per la versione:
sudo php -version
e premendo invo.
Dovrebbe apparire un dettaglio del genere al prompt:
Adesso verifichiamo che l’installazione di PHP funzioni con il server Apache precedentemente installato.
A tale proposito, creiamo una pagina di test in PHP nella “document root directory”.
La directory in Ubuntu 18.04.4 è var/www/html.
Per creare un file PHP di test, digitiamo dal terminal:
sudo nano /var/www/html/info.php
e premiamo Invio.
Una volta che l’editor di testo è aperto, scriviamo:
phpinfo();
Salviamo il file e usciamo, premendo sulla tastiera Ctrl+X, poi Y per confermare e infine Invio.
Per verificare che info.php venga correttamente visualizzato, digitiamo l’indirizzo IP del nostro server, seguito da info.php. Sarà del tipo http://ip_mio_server/info.php. Dovremmo visualizzare le informazioni come da foto qui a lato.
Una volta visualizzata la pagina è importante cancellare il file appena creato (info.php), in quanto visualizza informazioni che possono essere utili per eventuali hacker.
Digitiamo quindi da terminale:
sudo rm /var/www/html/info.php
e premiamo Invio.
Con l’installazione di PHP la configurazione del nosto stack LAMP è terminata, ma consigliamo di installare phpMyAdmin al fine di gestire il DB MySql.