Lo stack LAMP (Linux, Apache, MySQL e PHP) è ampiamente utilizzato per la distribuzione di applicazioni basate su PHP su sistemi Linux. L'installazione del server LAMP è piuttosto semplice e diretta. Hai bisogno di una conoscenza di base del gestore di pacchetti Linux per completare questa configurazione.
Qui Linux è un sistema operativo open source. Apache è un popolare server web. MySQL è un server di database relazionale e PHP è il linguaggio di programmazione.
Questo tutorial ti aiuterà a installare PHP, Apache e MySQL sul sistema Linux Ubuntu 22.04 LTS.
Prima di iniziare
Supponendo che tu abbia un sistema Linux Ubuntu 22.04 in esecuzione con accesso privilegiato sudo (o root).
Accedi al tuo sistema e apri un terminale. Sarà utile aggiornare la cache del gestore pacchetti e aggiornare i pacchetti attualmente installati. Per fare ciò, esegui:
sudo apt update && sudo apt upgrade
Iniziamo l'installazione dello stack LAMP (Linux, Apache, MySQL e PHP) sul sistema Ubuntu 22.04 Jammy Jellyfish Linux.
Installazione PHP
Innanzitutto, devi decidere la versione di PHP da installare sul tuo sistema. Puoi anche installare più versioni di PHP su un unico sistema. Attualmente il repository contiene PHP 5.6, PHP 7.1, 7.2, 7.3, 7.4 e PHP 8.0, 8.1. Le istruzioni seguenti installeranno PHP 8.1. Si prega di modificare la versione in base alle proprie esigenze.
L'ondrej/php ppa contiene tutte le versioni PHP per i sistemi Ubuntu. Quindi aggiungi questo repository nel tuo sistema con il comando seguente:
sudo add-apt-repository ppa:ondrej/php
Ora aggiorna la cache apt e installa PHP 8.1.
sudo apt update
sudo apt install php8.1
Questo installerà PHP sul tuo sistema Ubuntu insieme ad alcune utili estensioni PHP.
Installazione di Apache
In genere, l'installazione di PHP installa anche Apache e il suo modulo sul tuo sistema. Tuttavia, puoi eseguire i seguenti comandi per confermare le installazioni.
sudo apt install apache2 libapache2-mod-php8.1 -y
Questo installerà Apache e avvierà il servizio.
Ora devi consentire le porte del server web nel firewall. Per consentire le porte 80 e 443 nel firewall UFW, eseguire i seguenti comandi.
sudo ufw allow 80/tcp
sudo ufw allow 43/tcp
Apri un browser web sul tuo sistema e digita l'IP del server nella barra degli indirizzi. Otterrai la pagina del server Apache predefinita
Installazione MySQL
I repository Ubuntu predefiniti contengono MySQL 8.0. Che può essere installato direttamente utilizzando il gestore di pacchetti. Per installare la versione disponibile del server MySQL, eseguire il comando seguente.
sudo apt-get install mysql-server
Una volta terminata l'installazione, puoi proteggere il server MySQL eseguendo il comando seguente.
sudo mysql_secure_installation
Questo richiederà alcune domande per proteggere il server MySQL.
- Premi 'y' per abilitare il plug-in di convalida della password. Ciò ti consentirà di impostare una politica password rigorosa per gli account utente.
VALIDATE PASSWORD COMPONENT can be used to test passwords and improve security. It checks the strength of password and allows the users to set only those passwords which are secure enough. Would you like to setup VALIDATE PASSWORD component? Press y|Y for Yes, any other key for No: y
- Scegli il livello di complessità della password. Leggi tutte e 3 le opzioni e scegline una:
LOW Length >= 8 MEDIUM Length >= 8, numeric, mixed case, and special characters STRONG Length >= 8, numeric, mixed case, special characters and dictionary file Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1
- Inserisci una nuova password e reimmettila. Assicurati che corrisponda al livello di complessità come descritto sopra.
New password: ************* Re-enter new password: *************
- Premere 'y' per continuare con la password fornita.
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y
- Rimuovere utenti anonimi predefiniti dal server MySQL:
Remove anonymous users? (Press y|Y for Yes, any other key for No) : y
- Disabilitare l'accesso root da sistemi remoti
Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y
- Rimuovere il database di test da MySQL creato per impostazione predefinita durante l'installazione.
Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y
- Ricaricare tutti i privilegi per applicare immediatamente le modifiche precedenti.
Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y
Hai protetto il server MySQL nello stack LAMP sul sistema Linux Ubuntu 22.04.
Ricorda che la password impostata sopra per gli account root viene utilizzata solo per utenti remoti. Per accedere dallo stesso sistema, digita mysql sul terminale.
sudo mysql
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 14 Server version: 8.0.28-0ubuntu4 (Ubuntu) Copyright (c) 2000, 2022, Oracle and/or its affiliates. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Installazione di altri pacchetti richiesti
Potrebbe anche essere necessario installare moduli come MySQL e altre estensioni per PHP in base ai requisiti dell'applicazione. Usa il comando seguente per trovare le nostre estensioni PHP disponibili.
sudo apt search php8.1-*
Il comando sopra elencherà tutti i moduli PHP7 disponibili per l'installazione, iniziamo l'installazione dei moduli.
sudo apt install php8.1-mysql php8.1-curl php8.1-xml
Verifica configurazione
Hai completato con successo l'installazione di Apache, MySQL e PHP sul sistema Linux Ubuntu 22.04. Per verificare l'integrazione PHP con Apache, crea uno script PHP (esempio:info.php) nella root del documento del sito web e scrivi il contenuto sottostante.
PHP
123 |
Ora accedi a questo file nel browser web. Verranno così visualizzati tutti i dettagli sulle versioni e l'installazione.
http://server-ip-address/info.php
Conclusione
Questo tutorial ti ha aiutato a configurare lo stack LAMP sul sistema Ubuntu 22.04 LTS. Ora puoi ospitare applicazioni web basate su PHP sul tuo server.