Lo stack LAMP è uno stack di sviluppo Web noto e ampiamente utilizzato il cui obiettivo principale è aiutarti a creare un ambiente di hosting Web open source. Questo stack è costituito dai seguenti componenti:L inux (sistema operativo di base), A pache (server web), M ySQL (database relazionale) e P HP (linguaggio di scripting multipiattaforma). Ed ecco da dove viene LAMP. Potresti aver sentito parlare di alcuni progetti noti che fanno molto affidamento su questo stack:Facebook, Wikipedia, Tumblr e WordPress. In questo articolo ti mostreremo come installarlo sul server Ubuntu.
Prerequisiti
Devi avere root privilegi o avere la possibilità di utilizzare sudo per installare i pacchetti richiesti sul tuo sistema.
Processo di installazione
Il processo di installazione è facile e diretto.
Per prima cosa installeremo il server Web Apache, quindi il DB MySQL e infine finalizziamo il processo con il linguaggio di scripting PHP.
Installazione di Apache
Prima di installare un nuovo pacchetto, è necessario aggiornare l'elenco dei pacchetti:
sudo apt update

Ora installiamo il server web Apache:
sudo apt install -y apache2

Assicurati che il server Apache sia attivo e funzionante:
sudo systemctl status apache2

Ora, verifica di poter aprire la pagina Web predefinita del tuo server:
http://you-server-hostname
L'Apache predefinito la pagina web apparirà sullo schermo:

I file di configurazione del tuo server web sono archiviati in /etc/apache2
directory.
La pagina Web predefinita e altri contenuti del sito Web devono essere archiviati in /var/www/html
directory.
Non è obbligatorio, ma se desideri modificare questa pagina web in questo momento, utilizza nano
editor per apportare modifiche:
sudo nano /var/www/html/index.html

Per salvare un file, premi "CTRL+X ”, S e "Invio ”.
Installazione di MySQL
Aggiorna i tuoi pacchetti di sistema prima di installare MySQL:
sudo apt update

Ora, il comando di installazione:
sudo apt install -y mysql-server

Verifica che il servizio MySQL sia attivo e funzionante:
sudo service mysql status

Configurazione iniziale MySQL
A questo punto dobbiamo configurare le impostazioni di sicurezza predefinite di MySQL:
sudo mysql_secure_installation

Durante questa configurazione ti verrà chiesto di:
- Impostazioni di convalida della complessità della password
- Password per l'utente root
- Cancellazione utente anonimo
- Impedire la connessione remota al DB utilizzando l'account root
- Rimozione del database dei test

Per rendere il tuo database MySQL il più sicuro possibile, devi assolutamente considerare la risposta S a tutte quelle domande.

Non appena completi tutti i passaggi per proteggere il tuo MySQL, vedrai il messaggio "Tutto terminato ”.
Verifichiamo se riusciamo a connetterci al database.
Test della connessione MySQL
Puoi avviare il client MySQL e connetterti al database usando il seguente comando:
sudo mysql

Digita "uscita ” per uscire dal client MySQL (o premere Ctrl+D ).
Installazione di PHP
Il PHP è l'ultimo componente dell'installazione dello stack LAMP.
Come al solito, aggiorna prima l'elenco dei pacchetti software:
sudo apt update

Ora devi installare due pacchetti aggiuntivi:
php
– interprete del linguaggio di scriptinglibapache2-mod-php
– Modulo PHP per server web Apachephp-mysql
– Client MySQL per PHP
Usa il seguente comando:
sudo apt install -y php libapache2-mod-php php-mysql

Ora, tutti i pacchetti sono stati installati correttamente.
Verifica PHP
Ora, utilizzare il comando seguente per verificare la versione dell'interprete PHP:
php --version

Verifichiamo ora l'integrazione di PHP con il web-server Apache.
Crea un file chiamato test.php
in /var/www/html/test.php
directory:
sudo nano /var/www/html/test.php
Inserisci la seguente funzione PHP di test standard:
<?php
phpinfo();
?>

Per salvare il file, premi "CTRL+X ”, S e premi "Invio ”.
Verifica l'integrazione PHP con il server web Apache accedendo al seguente URL:
http://you-server-hostname/test.php

È importante eliminare test.php
una volta che ti sei assicurato che PHP funzioni, perché contiene informazioni sensibili sul server.
Esegui il seguente comando nel tuo terminale:
sudo rm /var/www/html/test.php

Installazione gratuita del certificato SSL (Let's Encrypt)
Come piccolo bonus, installiamo un certificato SSL Let's Encrypt gratuito sul tuo server web.
Installa Certbot
Per prima cosa devi installare Certbot (uno script, che rinnoverà automaticamente il tuo certificato SSL).
Aggiorna l'elenco dei pacchetti di Ubuntu:
sudo apt-get update

Ora puoi installare Certbot:
sudo apt-get install -y certbot python3-certbot-apache

Apporta le modifiche richieste nel tuo pannello di controllo DNS per impostare un nome DNS per il tuo server.
Ora usa il seguente comando per creare un certificato SSL:
sudo certbot --apache --redirect -d demo.hands-on.cloud -m [email protected] --agree-tos
Sostituisci demo.hands-on.cloud
con il tuo nome DNS del server.
Ora puoi verificare che il tuo server web Apache abbia un certificato SSL gratuito valido.

Configura il rinnovo automatico del certificato SSL
I certificati Let's Encrypt sono validi per 90 giorni.
Il Certbot aggiorna i timer di sistema e crontab per rinnovare automaticamente il tuo certificato.
Verifica che il timer di sistema sia attivo.
sudo systemctl list-timers | grep 'certbot\|ACTIVATES'

Ora controlliamo che la voce crontab sia a posto.
sudo ls -l /etc/cron.d/certbot

Infine, verifichiamo che il processo di rinnovo funzioni senza problemi:
sudo certbot renew --dry-run

Ora sei pronto per distribuire la tua applicazione PHP.
WordPress, giusto? 😉
Riepilogo
In questo articolo abbiamo installato lo stack LAMP che include il server Web Apache2, il database MySQL e PHP 7.4.3 in Ubuntu Linux. Inoltre, abbiamo configurato un certificato SSL gratuito e preparato il tuo server per ospitare le tue applicazioni PHP.
Speriamo che questo articolo sia stato utile. Se è così, per favore, aiutaci a diffonderlo nel mondo!