Come installare LAMP Apache, MySQL, PHP in Ubuntu 22.04. In questa guida imparerai come installare Apache2, MySQL e PHP 8.1.
Installerai anche alcune estensioni PHP comuni e regolerai le configurazioni PHP. Installa PhpMyAdmin e finalmente proteggerai la tua configurazione con Let's Encrypt SSL e configurerai il reindirizzamento HTTPS.
Questa configurazione è stata testata su Google cloud, quindi funzionerà su tutti i servizi di hosting cloud come AWS, Azure o qualsiasi VPS o qualsiasi server dedicato che esegue Ubuntu 22.04.
Prerequisiti
- Accesso root al tuo server o a un utente sudo.
Fase 1:inizializzazione della configurazione
Inizia aggiornando i pacchetti all'ultima versione disponibile utilizzando il comando seguente.
sudo apt update sudo apt upgrade
Dopo aver aggiornato la configurazione, puoi iniziare la configurazione.
Fase 2:installa Apache
Installa Apache usando il seguente comando.
sudo apt install apache2
Questo installerà apache2
e tutte le dipendenze richieste.
Fase 3:imposta il firewall
Ora puoi configurare Uncomplicated Firewall (UFW) con Apache per consentire l'accesso pubblico alle porte Web predefinite per HTTP
e HTTPS
sudo ufw app list
Vedrai tutte le applicazioni elencate.
Output
Available applications:
Apache
Apache Full
Apache Secure
OpenSSH
- Apache :Questo profilo apre la porta
80
(traffico web normale, non crittografato) - Apache completo :Questo profilo apre entrambe le porte
80
(traffico web normale, non crittografato) e porta443
(traffico crittografato TLS/SSL) - Apache Secure :Questo profilo apre solo la porta
443
(traffico crittografato TLS/SSL) - OpenSSH :Questo profilo apre la porta
22
per l'accesso SSH.
Se non intendi utilizzare SSL devi abilitare solo il profilo Apache.
Ora abiliteremo Apache Full.
sudo ufw allow OpenSSH sudo ufw allow 'Apache Full'
sudo ufw enable
Con questo comando puoi visualizzare lo stato di UFW.
sudo ufw status
Vedrai l'output come segue.
Output
Status: active
To Action From
-- ------ ----
Apache Full ALLOW Anywhere
OpenSSH ALLOW Anywhere
Apache Full (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Passaggio:4 Verifica l'installazione di Apache
Poiché abbiamo installato Apache nel passaggio 2, dovrebbe essere avviato automaticamente ed essere già attivo e funzionante.
Controlla la versione di Apache usando il comando seguente
sudo apachectl -v
Output Server version: Apache/2.4.52 (Ubuntu) Server built: 2022-03-25T00:35:40
Ogni processo in Apache è gestito con systemctl
comando. Controlla lo stato di Apache con il seguente comando.
sudo systemctl status apache2
Output ● apache2.service - The Apache HTTP Server Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-04-29 00:34:49 UTC; 2min 52s ago Docs: https://httpd.apache.org/docs/2.4/ Main PID: 12782 (apache2) Tasks: 55 (limit: 1151) Memory: 5.1M CPU: 52ms CGroup: /system.slice/apache2.service ├─12782 /usr/sbin/apache2 -k start ├─12784 /usr/sbin/apache2 -k start └─12785 /usr/sbin/apache2 -k start
Ora abbiamo Apache installato e configurato Firewall.
Passaggio 5:installa MySQL
In Ubuntu 22.04 MySQL 8 è incluso per impostazione predefinita nei repository Jammy Jellyfish, quindi puoi installarlo facilmente usando il apt install
comando.
sudo apt install mysql-server
Una volta completata l'installazione, il servizio MySQL si avvierà automaticamente. Per verificare che il server MySQL sia in esecuzione, digita:
sudo service mysql status
L'output dovrebbe mostrare che il servizio è abilitato e in esecuzione:
● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2022-04-29 00:38:45 UTC; 11s ago Process: 13836 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, statu> Main PID: 13844 (mysqld) Status: "Server is operational" Tasks: 38 (limit: 1151) Memory: 351.4M CPU: 1.043s CGroup: /system.slice/mysql.service └─13844 /usr/sbin/mysqld
Controlla la versione di MySQl usando il comando seguente.
sudo mysql -V
Output mysql Ver 8.0.28-0ubuntu4 for Linux on x86_64 ((Ubuntu))
Passaggio 6:proteggi MySQL
L'installazione di MySQL include uno script chiamato mysql_secure_installation
che ti consente di migliorare facilmente la sicurezza del server MySQL.
sudo mysql_secure_installation
Ti verrà chiesto di configurare il VALIDATE PASSWORD PLUGIN
che viene utilizzato per testare la forza delle password degli utenti MySQL e migliorare la sicurezza.
Premi y
se desideri impostare il plug-in di convalida della password o qualsiasi altra chiave per passare al passaggio successivo.
Esistono tre livelli di criteri di convalida delle password, basso, medio e forte.
Immettere 2 per la convalida della password complessa.
Al prompt successivo, ti verrà chiesto di impostare una password per l'utente root di MySQL.
Se imposti il plug-in di convalida della password, lo script ti mostrerà la forza della tua nuova password. Digita y
per confermare la password.
Successivamente, ti verrà chiesto di rimuovere l'utente anonimo, limitare l'accesso dell'utente root al computer locale, rimuovere il database di test e ricaricare le tabelle dei privilegi. Dovresti rispondere a y
a tutte le domande.
Passaggio 7:installa PHP
Per impostazione predefinita, Ubuntu 22.04 ha l'ultimo repository PHP 8.1 aggiunto. Quindi puoi installare PHP usando il seguente comando.
sudo apt install php8.1-fpm php8.1 libapache2-mod-php8.1 php8.1-common php8.1-mysql php8.1-xml php8.1-xmlrpc php8.1-curl php8.1-gd php8.1-imagick php8.1-cli php8.1-imap php8.1-mbstring php8.1-opcache php8.1-soap php8.1-zip php8.1-intl php8.1-bcmath unzip -y
Una volta installato PHP, puoi verificare la versione utilizzando il seguente comando.
php -v
Output PHP 8.1.5 (cli) (built: Apr 7 2022 17:46:26) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.5, Copyright (c) Zend Technologies with Zend OPcache v8.1.5, Copyright (c), by Zend Technologies
Fase 8:Configura PHP
Ora configuriamo PHP per le applicazioni Web modificando alcuni valori in php.ini
file.
Per PHP 7.4 con Apache il php.ini
la posizione sarà nella directory seguente.
sudo nano /etc/php/8.1/apache2/php.ini
Premi F6
per cercare all'interno dell'editor e aggiornare i seguenti valori per prestazioni migliori.
upload_max_filesize = 32M
post_max_size = 48M
memory_limit = 256M
max_execution_time = 600
max_input_vars = 3000
max_input_time = 1000
Dopo aver modificato le impostazioni PHP, è necessario riavviare Apache affinché le modifiche abbiano effetto.
Preparati per un ruolo di Professionista dell'Information Technology con sistema operativo Linux
Fase 9:Configura Apache
Disabilita la configurazione predefinita di Apache.
sudo a2dissite 000-default
Crea directory di siti Web.
sudo mkdir -p /var/www/html/domainname/public
Imposta le autorizzazioni corrette.
sudo chmod -R 755 /var/www/html/domainname sudo chown -R www-data:www-data /var/www/html/domainname
Crea una nuova configurazione di host virtuale.
sudo nano /etc/apache2/sites-available/domainname.conf
Incolla le seguenti configurazioni nel nuovo file.
<VirtualHost *:80> ServerAdmin [email protected] ServerName domainname.com ServerAlias www.domainname.com DocumentRoot /var/www/html/domainname/public <Directory /var/www/html/domainname/public> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost>
Abilita la nuova configurazione.
sudo a2ensite domainname.conf
Passaggio 10:installa PhpMyAdmin
PhpMyAdmin è uno strumento per gestire facilmente il database MySQL. Puoi installarlo usando il comando seguente.
sudo apt install phpmyadmin
Copia la configurazione di PhpMyAdmin per Apache.
sudo cp /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
Abilita la configurazione.
sudo a2enconf phpmyadmin.conf
Riavvia Apache.
sudo service apache2 restart
Ora che hai installato PhpMyAdmin, questo può essere accessibile con questo percorso yourdomain.com/phpmyadmin
.
Passaggio 11:installa Let's Encrypt SSL
HTTPS è un protocollo per la comunicazione sicura tra un server (istanza) e un client (browser web). Grazie all'introduzione di Let's Encrypt, che fornisce certificati SSL gratuiti, HTTPS è adottato da tutti e fornisce anche fiducia al tuo pubblico.
sudo apt install python3-certbot-apache
Ora abbiamo installato Certbot di Let's Encrypt per Ubuntu 22.04, esegui questo comando per ricevere i tuoi certificati.
sudo certbot --apache --agree-tos --redirect -m [email protected] -d domainname.com -d www.domainname.com
Questo comando installerà Free SSL, configurerà il reindirizzamento a HTTPS e riavvierà il server Apache.
Fase 12:rinnovo del certificato SSL
I certificati forniti da Let's Encrypt sono validi solo per 90 giorni, quindi è necessario rinnovarli spesso. Quindi, testiamo la funzionalità di rinnovo utilizzando il seguente comando.
sudo certbot renew --dry-run
Questo comando verificherà la scadenza del certificato e configura la funzione di rinnovo automatico.
Fase:13:verifica la configurazione
Dopo aver eseguito i passaggi abili, puoi creare un nuovo file PHP di prova nella tua directory web.
sudo nano /var/www/html/domainname/public/info.php
Incolla il codice seguente all'interno del file.
<?php phpinfo();
Salva il file.
Ora vai avanti e controlla il tuo nome di dominio con il info.php
nell'URL (domainname.com/info.php
).
Vedrai che il tuo dominio è stato reindirizzato a HTTPS e vedrai i dettagli delle informazioni PHP.
Diventa un Professionista AWS certificato con questo corso facile da imparare ora.
Conclusione
Ora hai imparato come installare lo stack LAMP Ubuntu 22.04. Hai anche imparato a installare e configurare PhpMyAdmin e a proteggere la tua installazione utilizzando Let's Encrypt SSL.
Grazie per il tuo tempo. In caso di problemi o feedback, si prega di lasciare un commento qui sotto.